La mejor manera de protegerse contra un DDOS es tener la capacidad de atender todas las solicitudes, pero eso puede significar un gasto significativo en hardware y ancho de banda. OTOH un poco de ajuste va un largo camino para mejorar la capacidad y el rendimiento, lo que beneficia a su usuario legítimo y su negocio también.
Los servidores basados en eventos pueden manejar una gran cantidad de conexiones de manera mucho más elegante que los servidores basados en subprocesos o subprocesos. No dices cómo se ve tu arquitectura / qué software estás usando. Por lo tanto, ejecutar nginx / lighttpd / varnish / ATS puede darle mucha más capacidad.
El uso de un CDN puede ayudar si tu contenido se puede almacenar en caché.
Si el DDOS está absorbiendo la CPU / la memoria, ejecutar un proxy inverso de almacenamiento en caché ayudará a si el DDOS apunta al contenido almacenable en caché . No va a ayudar si el contenido no se puede almacenar en la memoria caché / los problemas de bloqueo de los objetivos / llena el ancho de banda de su red.
Suponiendo que desea mantener el servicio durante un DDOS, entonces eso significa poder diferenciar entre tráfico legítimo y tráfico DOS. Asegúrese de que su servidor web ya esté registrando el agente de usuario y las cookies esenciales.
Si puede ejecutar alguna lógica de aplicación en el dispositivo de aplicaciones para el usuario, entonces tiene la oportunidad de aplicar algún código para capturar y diferenciar entre el tráfico legítimo y el DOS: puede comenzar a buscar direcciones URL, cookies, información de direcciones IP, agentes de usuario. etc.
-
Si tiene problemas con el contenido que no se puede almacenar en caché, entonces puede comenzar a redirigir las solicitudes a una página en la que se pueda almacenar en caché donde se requiera la intervención del usuario para desbloquear el acceso al sitio real (por ejemplo, solicitando al usuario que haga clic en un enlace para configurar una cookie)
-
puede aplicar la generación de perfiles de las solicitudes y enviar los resultados a, por ejemplo, fail2ban (es posible que desee buscar en Google una guía más inteligente que this , que cubre en términos generales cómo configurarlo, pero no hace un buen trabajo de explicando cómo detectar el ataque y pasar selectivamente la información a fail2ban). Pero tenga en cuenta que agregar entradas en la cadena de reglas para iptables puede tener un impacto significativo en el rendimiento.
-
Si su base de usuarios sigue una geografía bien definida, utilice el módulo de geoip con iptables ayudará, pero necesitará un poco de trabajo para configurar el cambio entre los modos de operación de acceso abierto y acceso restringido.
estamos ejecutando varios sitios web de comercio electrónico
Implica SSL, por lo que hay un riesgo importante de falta de CPU. Probablemente me sorprendería por esto, pero ten cuidado con las suites de cifrado PFS, son bastante caras (las más recientes en openSSL son mucho mejores). Hay algunas cosas buenas sobre la protección de SSL contra DOS aquí .
¡Espero que no estés ejecutando Magento / Wordpress!
Lo ideal es que puedas bloquear el tráfico antes de que llegue a tu servidor. Habla con tu proveedor de alojamiento / proveedor de red ascendente para ver qué pueden hacer para ayudarte.