Mitigación de ataques DDOS

La siguiente nota, acompañada con un vídeo práctico, tiene por objetivo proporcionar algunas contramedidas frente a cierto tipo de ataques de denegación de servicio.

Existen multitud de ataques DDoS : Direct AttacksTTL expiry attackIP unreachable attackICMP transit attacksReflection Attacks, etc. La contención de los mismos resulta muy complicada sobre todo cuando se trata de un gran volumen de tráfico.

Contar con dispositivos que permitan frenar estos ataques resulta costoso, por este motivo contactar con el ISP es la idea más acertada. Sin embargo, cuando el ataque DDoS no es extremadamente excesivo, una configuración adecuada del sistema operativo y de los servicios afectados puede ayudar en gran parte a contrarrestar el ataque. Ejemplo de ello son ciertos parámetros del kernel de Linux que nos permiten modificar su comportamiento bajo ciertas condiciones y que resultarán muy útiles para blindar nuestro servidor en determinadas circunstancias. Algunos de estos parámetros se encuentran en /etc/sysctl.conf:

  • tcp_syncookies: Permite protegernos contra ataques Syn Flood. La forma de trabajar es la siguiente: cuando la cola de peticiones de segmentos syn se completa, el kernel contesta con un segmento syn-ack como hace normalmente, pero creando un número de secuencia especialmente codificado que representa la IP origen y destino, el puerto y un timestamp del paquete recibido.
  • ignore_broadcasts: Un tipo de ataque DDoS son los conocidos ataques Smurf donde se envían paquetes ICMP (echo request) a una direcciónbroadcast con una IP origen falsificada. Dicha IP falsificada será el objetivo del ataque al recibir múltiples paquetes de respuesta echo reply como consecuencia del paquete broadcast enviado por el atacante.
  • rp_filter: conocida también como source route verification, tiene un objetivo similar al Unicast RPF (Reverse Path Forwarding) utilizado en routers Cisco. Se emplea para comprobar que los paquetes que entran por una interfaz son alcanzables (utilizando la tabla de rutas) por la misma basándose en la dirección origen, permitiendo de esta forma detectar IP Spoofing.

Respecto a los ataques llevados a cabo por programas como LOIC, también es posible implementar medidas haciendo uso de iptables y del módulo hashlimit con el objetivo de limitar el número de paquetes que queremos aceptar en un determinado servicio.

A continuación se muestra un ejemplo práctico donde se verá como aplicar algunas de estas contramedidas en una máquina Linux:

Independientemente de las medidas adoptadas en el Sistema Operativo, se recomienda securizar de forma independiente aquellos servicios públicos que se encuentren en una DMZ como pueden ser servicios web, FTP, DNS, etc. Por ejemplo, en el caso de Apache sería de gran ayuda dotarle de módulos como mod_evasive, mod_antiloris, mod_security, mod_reqtimeout o similares para ayudar a combatir gran variedad de ataques DDoS contra esta plataforma (http post attackhttp get attack utilizado por Slowloris, etc. )

Para más información sobre este tipo de ataques así como ejemplos de mitigación y análisis de tráfico, puede consultar el informe Análisis de tráfico con Wireshark de INTECO-CERT.

Fuente: Inteco

Share

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.