miércoles, 29 de agosto de 2012

Una grave falla expone a todos los usuarios a un ataque pirata online


Investigadores de distintas empresas de seguridad informática identificaron un código que ataca los equipos explotando un defecto descubierto hace poco en la última versión de Java.

Una vez dentro, se libera una segunda pieza del software, llamada Poison Ivy, que permite a los hackers hacerse con el control de las computadoras infectadas, dijo Jaime Blasco, director de investigación de AlienVault Labs.

Esto sucede sin importar si se trata de computadoras corriendo en Windows, OS X o alguna distribución Linux.

Es por ello que varias firmas de seguridad aconsejan a los usuarios que deshabiliten de forma inmediata el software de Java –instalado de alguna forma en la amplia mayoría de las computadoras en todo el mundo– de sus navegadores de internet.

Las computadoras pueden infectarse sin el conocimiento de los usuarios con sólo una visita a cualquier página web que haya sido comprometida por los piratas, dijo Joshua Drake, científico investigador de la empresa de seguridad Accuvant.

La vulnerabilidad explotada hasta el momento afecta a Java 7 (1.7). No afecta a la versión 6 ni anteriores.

Cómo deshabilitarlo
En el caso del navegador Chrome, éste no ejecutará Java directamente sino que alertará con un mensaje. Hasta que se solucione este fallo de seguridad se recomienda no aceptar su ejecución.

Firefox:
En la parte superior de la ventana de Firefox, click en Herramientas y elegir Complementos.

En la pestaña del Administrador de complementos, seleccione el panel Plugins.

Click en el complemento Java para seleccionarlo y Desactivar (si el botón dice Activar es que Java ya está desactivado)

Internet Explorer:
Click en Herramientas y a continuación en Opciones de Internet.

Seleccione la pestaña Seguridad y pulse el botón Nivel personalizado.

Busque Automatización de los applets de Java.

Seleccione el botón de radio Deshabilitar.

Click en Aceptar para guardar sus preferencias.

Safari:
Seleccione Safari > Preferencias. Haga click en Seguridad. Anule la selección Permitir Java.

Rapid7 estableció una página web que dice a los usuarios si sus navegadores tienen instalado un plugin de Java que sea vulnerable a ataques: http://www.isjavaexploitable.com/

fuente: infobae.com

jueves, 9 de agosto de 2012

Como bloquear exploits, SQL Injections, File Injections, Spam, User Agents, Etc.


nginx es un servidor proxy HTTP y reverso, así como un servidor proxy de correo, escrito por Igor Sysoev. Durante mucho tiempo, ha estado funcionando en muchos sitios con mucha carga rusas como Yandex, Mail.Ru, VKontakte, y Rambler.

Este breve artículo explica cómo se puede bloquear los ataques más habituales, inyecciones SQL, inyecciones de archivos, correo no deseado y los agentes de usuario utilizado por los hackers y Trituradores de ancho de banda de sus vhosts nginx con algunas directivas de configuración sencillas. Esta configuración está lejos de ser completa, pero es un buen punto de partida. Usted tendrá que ver sus registros de intento de robo en los intentos y luego tratar de modificar / completar el conjunto de reglas.


El conjunto de reglas que uso aquí tiene que ser insertado en cada host virtual nginx (dentro de un contenedor de servidor {}) en la que desea utilizar. Por desgracia, no puede ser utilizado a nivel mundial debido a que la directiva set no está permitido dentro del contenedor http {}.

server {
[...]

    ## Block SQL injections
    set $block_sql_injections 0;
    if ($query_string ~ "union.*select.*\(") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "union.*all.*select.*") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "concat.*\(") {
        set $block_sql_injections 1;
    }
    if ($block_sql_injections = 1) {
        return 403;
    }

    ## Block file injections
    set $block_file_injections 0;
    if ($query_string ~ "[a-zA-Z0-9_]=http://") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
        set $block_file_injections 1;
    }
    if ($block_file_injections = 1) {
        return 403;
    }

    ## Block common exploits
    set $block_common_exploits 0;
    if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "proc/self/environ") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "base64_(en|de)code\(.*\)") {
        set $block_common_exploits 1;
    }
    if ($block_common_exploits = 1) {
        return 403;
    }

    ## Block spam
    set $block_spam 0;
    if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
        set $block_spam 1;
    }
    if ($block_spam = 1) {
        return 403;
    }

    ## Block user agents
    set $block_user_agents 0;

    # Don't disable wget if you need it to run cron jobs!
    #if ($http_user_agent ~ "Wget") {
    #    set $block_user_agents 1;
    #}

    # Disable Akeeba Remote Control 2.5 and earlier
    if ($http_user_agent ~ "Indy Library") {
        set $block_user_agents 1;
    }

    # Common bandwidth hoggers and hacking tools.
    if ($http_user_agent ~ "libwww-perl") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetRight") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetWeb!") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go!Zilla") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Download Demon") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go-Ahead-Got-It") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "TurnitinBot") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GrabNet") {
        set $block_user_agents 1;
    }

    if ($block_user_agents = 1) {
        return 403;
    }
[...]
}

Siempre que una de las reglas coincide con una petición, un error de 403 Prohibida se devuelve al cliente. He comentado la regla wget aquí porque esto también podría bloquear cron puestos de trabajo que utilizan wget que es bastante común entre las modernas aplicaciones de la CMS. Si su aplicación no utiliza wget, puede descomentar esa regla también.

/etc/init.d/nginx reload

Clic para ir a la Fuente (HOWTOFORGE)