Mi compañía ha lidiado con ataques DDoS de hasta 180gbps y aquí están mis técnicas que he usado para mitigar.
El tamaño de un sitio web no solo lo convierte en un objetivo mayor, sino que también desempeña un papel importante:
- Relaciones públicas (¿Se está promocionando a sí mismo como algo que no es, a qué personas se dirige?
- Cumplir las promesas
- Tratar a los clientes de la manera correcta
Los motivos de los ataques DDoS incluyen, entre otros, los siguientes:
- Fama ("Oh, mírame, logré eliminar este sitio")
- Dinero (los sitios más grandes son más caros de atacar, generalmente, si buscan dinero, se dirigirán a los más pequeños con ingresos altos que no tienen un gran equipo técnico)
- activismo
También (de uno de los comentarios):
- Otro motivo es que intentan distraerte. Por ejemplo, si quieren atacar a Apache, está ocupado arreglando eso mientras hacen fuerza bruta en su contraseña SSH.
Hay muchos tipos diferentes de ataques DDoS y cómo se inician. Primero, debe ordenar los puntos que enumeré anteriormente, luego, sus ataques DDoS probablemente disminuirán. Esto no significa que no los experimentará más, simplemente le da a las personas un motivo menos para atacarle.
A nivel técnico, hay varias cosas a considerar porque la mayoría de las empresas tienen múltiples nodos en su infraestructura. En algunos casos, cada nodo requiere un tipo diferente de enfoque. En mi caso, estos nodos eran una API, un servidor de juegos, un servidor de autenticación, una base de datos y un servidor social. El primer paso fue asegurarse de que nunca exponga una dirección IP que no necesite ser expuesta. En mi caso, esos fueron el servidor de autenticación, la base de datos y el servidor social. En general, limitar los puntos de falla es un buen enfoque para comenzar. La protección es increíblemente cara, y solo es bueno tener la protección más resistente donde realmente la necesita más.
Una vez que haya determinado qué puntos deben ser públicos, puede proteger cada función individualmente de la forma en que deben estar protegidas. theterriblevitrium dio una excelente respuesta a las técnicas, aquí están mis 2 centavos en eso.
-
Anycast (por ejemplo, un CDN. Esto funciona increíblemente bien para nodos estáticos como API locales, servidores DNS y servidores web, el inconveniente de esto es que actualmente no funciona de manera efectiva para sistemas que tienen un solo punto de falla, como los servidores de juegos)
- Reglas de red & Inspección de paquetes (por ejemplo, cada conexión solo puede ocupar X kb de tráfico por segundo y cada paquete debe coincidir con el patrón x, y o z. Esto funcionó bien para nuestros juegos. La desventaja es que si alcanzan su límite de ancho de banda, están fuera de suerte.)
¡Siéntase libre de hacer cualquier pregunta!