Soluciones de código abierto para prevenir ataques DDoS
Por motivos que no vienen al caso en este blog, en Argentina ayer se habló mucho de los ataques distribuidos de denegación de servicio (DDoS por sus siglas en inglés) Es una excusa como cualquier otra para hablar de este tipo de ataques que pueden afectar a cualquiera que tenga un sitio web y de las soluciones de código abierto para mitigarlos.
Los ataques DDoS
El ataque distribuido de denegación de servicios es uno de los más fáciles de perpetrar ya que no requiere demasiados conocimientos técnicos, pero al mismo tiempo es uno de los más dañinos ya que puede dejar fuera de línea a servicios digitales y sitios web durante horas o días.
Durante este tipo de ataque, la víctima sufre la saturación de su red y servidores con una enorme cantidad de solicitudes de acceso que es mayor a lo que la infraestructura está preparada para manejar. Esto lleva a que los usuarios legítimos tengan un acceso más lento o directamente no puedan ingresar.
Para controlar el ataque, el perpetrador necesita tener acceso a una red de dispositivos (usualmente sin el conocimiento de los propietarios) Estos dispositivos pueden ser tanto computadoras como dispositivos móviles o de Internet de las cosas. La palabra distribuido del nombre del ataque viene del hecho de que los componentes de la red no suelen estar en el mismo lugar geográfico.
El control de los dispositivos se obtiene mediante malware, prácticas de ingeniería social o el uso de las contraseñas de fábrica que los usuarios no se molestaron en cambiar.
El tamaño de esta red de bots puede variar desde un número relativamente pequeño de dispositivos, hasta millones de ellos. Sea cual sea el tamaño, de todas formas el procedimiento es el mismo. Los delincuentes a cargo de la red de bots pueden dirigir el tráfico web generado hacia un objetivo y realizar un ataque DDoS.
Sin embargo, no hay que creer que toda interrupción o mal funcionamiento de un servicio web es culpa de un ataque. Algunas veces la cantidad de usuarios legítimos que quieren acceder al mismo tiempo es más de la que puede soportar la infraestructura. Sucede por ejemplo con la venta de entradas para partidos importantes u ofertas de tiempo limitado.
Por lo común, en este último caso, los inconvenientes solo duran un período de tiempo
Soluciones de código abierto para prevenir ataques DDoS
Más allá que como usuarios de Internet cada uno es responsable por el uso que se hace de nuestros dispositivos, hay muchas soluciones a nivel servidor que pueden usarse para prevenir y mitigar este tipo de ataques. Y, varias de ellas son de código abierto.
DdoS deflate
Es un potente script que basándose en el comando netstat permite bloquear los ataques identificando e investigando las direcciones IP que se conectan al servidor.
Características
-Bloqueo automático de las direcciones IP
-Listas negras y blancas de tráfico y sus fuentes
-Fácil notificación y gestión para los administradores de la red
-Detección automática de reglas asociadas a Iptables y firewalls de políticas avanzadas
-Facilidad en la configuración
-Alertas automáticas por correo electrónico
-Rechazo de conexiones no deseadas mediante tcpkill
-El programa está disponible en los repositorios de todas las distribuciones para servidores.
Fail2ban
Otra herramienta que viene en los repositorios de las distribuciones para servidores.
Es muy útil para identificar y prohibir las fuentes de tráfico DDoS malicioso. El programa escanea los archivos de registro e identifica patrones y conexiones sospechosas para que se puedan hacer listas negras. Usándola se reducen los intentos de autenticación no legítimos e incorrectos gracias al uso de potentes módulos con distintas capacidades.
Características
-Brinda dos tipos de análisis; profundo y de archivos de registro
-Registra la zona horaria asociada al tráfico de la fuente IP
-Se integra en la arquitectura cliente-servidor
-Permite procesar diversos servicios, incluyendo sshd, vsftpd y Apache
-Fácil configuración para el administrador
-Es compatible con todos los Firewall
-Se pueden crear autorizaciones y prohibiciones de acceso basadas en direcciones IP
-Es posible bloquear los ataques de fuerza bruta
-Permite el bloqueo de direcciones IP basado en intervalos de tiempo
-Es compatible con ambientes basados en SSH
HaPrOXY
HaProxy trabaja de una manera diferente. No solo se basa en detección de direcciones IP si no también en equilibrar la carga de trabajo del servidor.
Características
-Puede bloquear el tráfico basado en el consumo del ancho de banda.
-Crea automáticamente tablas de listas negras y blancas de IPs que construye basándose en reglas establecidas en su configuración.
-Puede identificar redes de dispositivos, por lo que es efectivo contra ataques DDoS.
-Permite prevenir distintos tipos de ataques y limitar las conexiones.
Por supuesto que con esto no agotamos el tema. Lo mejor es que si tienes un sitio web, consultes con tu proveedor de alojamiento para que te aconseje las mejores precauciones.