Buenas a todos,
Se que he prometido esta guia hace algún tiempo pero recién ahora por cuestiones de negocios he podido hacerme un tiempo para poder dejar esta guía que no es mas ni menos que un poco de información bien conocida por algunos que estan en este tema y un poco de información basada en experiencias personales que me ha dado el trabajar día a día tanto como Administrador de Sistemas UNIX asi como Administrador de las redes de la empresa.
Que es un ataque DDoS ?
Un ataque DDOS (Distributed Denial Of Service Attack) o Ataque de Denegación de Servicio Distribuido es un tipo especial de DoS consistente en la realización de un ataque conjunto y coordinado entre varios equipos (que pueden ser cientos o miles) hacia un host víctima. La particularidad de este ataque, a diferencia del simple DoS, es el hecho de que el ataque proviene de diferentes partes del mundo, haciendo imposible cerrar la ruta atacador ya que no solo es una, dejando como única opción desconectar el Servidor de la Red y esperar a que el ataque cese. Normalmente los ataques se llevan a cabo por varios oleajes. Esto es posible gracias a un cierto tipo de malware que permite obtener el control de esas máquinas y que un atacante ha instalado previamente en ellas, bien por intrusión directa o mediante algún gusano. Los DDoS consiguen su objetivo gracias a que agotan el ancho de banda de la víctima y sobrepasan la capacidad de procesamiento de los routers, consiguiendo que los servicios ofrecidos por la máquina atacada no puedan ser prestados.
A las máquinas infectadas por el malware mencionado anteriormente se las conoce como máquinas zombie (zombis, en español), y al conjunto de todas las que están a disposición de un atacante se le conoce como botnet (red de bots).
Esta referencia tomada de Wikipedia no es ni mas ni menos que una perfecta definición de lo que es un ataque DDoS.
Ahora bién , estoy realmente bajo un ataque DDoS ¿? :
Muchas veces suele suceder que algunos usuarios y administradores confunden un ataque DDoS con algunas anomalías que se presentan en las redes o sistemas operativos. Los sintomas caracteristicos ante un ataque DDoS es la cantidad excesiva de procesos creados por demonios de servicio tales como httpd o eximd, ftpd, etc. que suelen ser los objetivos comunes de estos ataques y los recursos del sistema operativo suelen centrarse en la atención de esos servicios generando una gran carga del sistema muchas veces colapsando el mismo por falta de recursos.
Una buena practica para determinar si se está siendo victima de un ataque ddos es utilizar los siguienes comandos:
Para linux :
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr
netstat -np | grep SYN_RECV | awk '{print $5}' | cut -d. -f1-4 | cut -d: -f1 | sort -n | uniq -c | sort -n
Para FreeBSD:
netstat -na | awk '{print $5}' | cut -d. -f1-4 | sort -n | uniq -c | sort -n
De esta forma podrán ver cuantas conexiones hay por ip a cada servicio de nuestro servidor y asi poder un poco quitarnos las dudas de si realmente es un ataque DDoS.
Estoy Bajo un Ataque DDoS, Que hago ??
He aqui la parte que mas les puede interesar a algunos. Hoy por hoy dependiendo del "Tamaño" del ataque DDoS( ataque pequeño = menos a 2 gbps / ataque a gran escala = 5 gbps o màs ) existen algunas formas para poder mitigarlo o bien reducir el impacto desde nuestro servidor, siempre claro que hablando de ataques ddos pequeños.
Explicaré un poco en un lenguage que todos entendamos y de la forma mas sencilla posible algunas cosillas que se pueden hacer dependiendo de la plataforma en que nos encontremos.
En primer lugar haremos referencia al mundo LINUX, que es en un gran porcentaje la plataforma mas elegida para el desarrollo del negocio de Hosting, lo que en cierta forma nos da la ventaja de saber que hay muchos que ya han pasado por esto y hay buena experiencia e información muy detallada en la red al respecto.
El Software indispensable para todo servidor linux que se encuentre ante un ataque DDoS ( aún cuando sea de pequeña escala ) es el siguiente:
APF Advance Policy Firewall (
http://rfxnetworks.com/apf.php ) : No es mas que un gestor de reglas de iptables que es nuestro firewall por default en cualquier sistema Linux. La razón por la que no incluyo los comandos de iptables directamente aqui es que APF maneja todo los comandos necesarios, desde la manipulación de la tabla de conexiones, pasando por la apertura y cierre de puertos hasta manejar syn cookies y controlar los distintos tipos de paquetes segun su protocolo. lo que convierte a este software que no es mas que un script que gestiona iptables, en una herramienta mas que util para todo aquel que desee configurar su LINUX con un nivel medio a avanzado de seguridad.
Otra herramienta interesante es DDoSDeflate (
http://deflate.medialayer.com ): Esta herramienta tiene una funcionalidad muy sencilla y lo que hace es realizar un count de las conexiones activas x IP en nuestro servidor y si la cantidad de esas conexiones sobrepasa el limite que les hemos impuesto banea del servidor dicha IP. Esta aplicación puede funcionar con APF o IPTABLES lo cual es muy flexible y hasta podemos editar el script para adaptarlo a nuestras necesidades.
Algunos se preguntaran por que no incluyo mod_evasive o algun mod de apache similar, la razón es muy sencilla .. ante un ataque ddos no hay modulo de apache que pueda hacer nada, aun cuando mod_evasive evite la carga de las paginas de determinada IP el child del demonio de apache esta en uso y si el objetivo de dicho ataque es saturar al webserver ...el demonio es quien maneja las conexiones y no algun modulo X cual fuere.
Continuará en la parte 2