¿Hay alguna forma de detener los ataques DDOS? [duplicar]

10

Como muchos otros webmaster, estoy enfrentando problemas con los ataques DDOS. He intentado negar las direcciones IP ofensivas de los archivos htaccess y usar un alojamiento más grande y mejor, pero no puedo detener los ataques a medida que se usan nuevas direcciones IP.     

pregunta Saad Mirza 25.02.2016 - 08:51
fuente

3 respuestas

23

Si está ejecutando un sitio web que está bajo ataque, debe considerar un servicio como Cloudflare.

Cloudflare y otros CDN están diseñados teniendo en cuenta los ataques DDoS: el tráfico pasa a través de la red de Cloudflare antes de que llegue a la suya. Dado que Cloudflare filtrará el tráfico DDoS, solo lo recibirá el tráfico limpio.

Por otra parte, si el ataque es lo suficientemente pequeño como para no saturar su puerto, y se siente lo suficientemente cómodo como para manejarlo por su cuenta, considere ejecutar Nginx como un proxy inverso frente a su instancia de Apache. Nginx está diseñado para manejar las inundaciones mucho mejor que Apache, debido a la arquitectura de epoll.

La forma en que funcionan los servicios como Cloudflare es 1) Dispositivos de mitigación y 2) Tiene mucha capacidad.

Un dispositivo de mitigación analiza las anomalías en el tráfico y hace coincidir el tráfico con firmas de ataques conocidas en el pasado para distinguir el tráfico legítimo del tráfico DDoS. El tráfico "sucio" se elimina, mientras que el tráfico limpio se pasa.

La mejor mitigación del mundo no ayuda si su puerto está siendo saturado (Imagine enviar 11 gbps a un objetivo que solo puede manejar 10 gbps). No importa qué tan bueno sea su filtro, se desconectará porque su puerto no es capaz de manejar más de 10 gbps. Los servicios como CloudFlare (cualquier proveedor de mitigación de CDN o DDoS) compran toneladas de capacidad de los proveedores de tránsito para hacer frente a enormes inundaciones volumétricas, cosas que no se pueden manejar a nivel de servidor debido a la gran cantidad de tráfico (piense en 50 gbps + )

    
respondido por el dreadiscool 25.02.2016 - 09:03
fuente
13

Hay varios tipos de ataques de denegación de servicio distribuidos, las técnicas de mitigación pueden ser específicas para cada caso:

Ataques volumétricos

Algunas computadoras envían una gran cantidad de tráfico, obstruyendo la red de la víctima y evitando que las conexiones legítimas la alcancen. En esta categoría podemos ver:

  • Ataques UDP: el uso del protocolo UDP en puertos aleatorios obliga al servidor a verificar si hay una aplicación escuchando en ese puerto. Puedes mitigar esto con reglas estrictas de firewall.
  • Inundaciones de ICMP: la idea es iniciar una solicitud de eco y nunca completar el saludo, haciendo esto con la frecuencia suficiente de diferentes hosts hará que la víctima no pueda responder a las solicitudes legítimas. Las técnicas de mitigación incluyen el bloqueo de solicitudes de ping fragmentadas.

Capa de aplicación

Los ataques más comunes de este tipo apuntan a los servicios HTTP y DNS; básicamente, solicita un recurso tantas veces que el servidor que procesa la solicitud utiliza todos los recursos disponibles. Específicamente sobre HTTP, esto suele ser muy difícil de diferenciar de las solicitudes http normales, la mitigación generalmente consiste en una combinación de reputación de IP, seguimiento de actividades anormales y, en ocasiones, requiere la ejecución de javascript.

Agotamiento del estado

Cada dispositivo tiene una tabla que almacena el estado de cada conexión (si ejecuta netstat puede ver esta "tabla"), este tipo de ataques apunta a usar cada entrada en esa tabla hasta el punto donde no haya nuevas conexiones Puede ser añadido. (Vea "slowloris" para un ejemplo de este ataque). La mitigación a menudo incluye el tiempo de espera de solicitudes sin terminar para liberar recursos rápidamente.

Por supuesto, hay servicios que ayudan a prevenir y mitigar este tipo de ataques, CloudFlare incluso tiene este servicio de forma gratuita, pero estoy seguro de que existen otros. En general, el concepto de defensa en profundidad se aplica aquí, ya que tener varias capas de seguridad ayuda a reducir el riesgo asociado con los ataques DDoS, sin embargo, tenga en cuenta que estamos hablando de mitigación , incluso Github era DDoS-ed y con su infraestructura masiva y gran experiencia, vieron su servicio afectado

Si actualmente está bajo un ataque, me pondría en contacto con CloudFlare y les preguntaría qué opciones pueden ofrecerle, luego comenzaré a planificar una estrategia de prevención lo antes posible. En este momento, parece que te cogieron desprevenido, así que mucha suerte.

Aquí hay un gran recurso de arbornetworks

    
respondido por el Purefan 25.02.2016 - 10:35
fuente
1

Si su servidor web ejecuta Windows, hay ciertos valores de registro que puede configurar para evitar DoS (aparentemente DDoS también):

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ synattackprotect = 1 REG_DWORD (El valor 1 habilita la protección de ataque de inundación SYN)

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ tcpmaxconnectresponseretransmissions = 2 REG_DWORD (Esta clave tiene 2 propósitos. Primero, cuando el valor se establece en 2, habilita el ataque de inundación SYN junto con la clave de registro anterior. Segundo, controla la cantidad de retransmisiones por TCP a SYN-ACK sin respuesta. no retransmitir más de dos veces.)

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ tcpmaxdataretransmissions = 3 REG_DWORD (Esta clave controla la cantidad de veces que TCP retransmite segmentos de datos no reconocidos en una conexión existente).

hkey_local_machine \ system \ currentcontrolset \ services \ tcpip \ parameters \ enablepmtudiscovery = 0 REG_DWORD (Según Microsoft, el valor 0 significa "TCP usa una MTU de 576 bytes para todas las conexiones a computadoras fuera de la subred local". Esto asegura que un atacante no pueda reducir los tamaños de paquetes por debajo de 576b para disminuir el rendimiento.)

Se proporciona más información para Windows aquí .

Para Linux, este es un buen recurso .

    
respondido por el Earthling 25.02.2016 - 13:09
fuente

Lea otras preguntas en las etiquetas