seguridad - Balanceador de carga Amazon EC2: ¿Defendiendo contra el ataque DoS?
que hacer contra un ataque ddos (5)
Por lo general, la lista negra de direcciones IP con iptables
. Pero en Amazon EC2, si una conexión pasa por Elastic Load Balancer, la dirección remota será reemplazada por la dirección del equilibrador de carga, haciendo que iptables
inútil. En el caso de HTTP, aparentemente la única forma de averiguar la dirección remota real es mirar el encabezado HTTP HTTP_X_FORWARDED_FOR
. Para mí, bloquear las direcciones IP a nivel de la aplicación web no es una forma efectiva.
¿Cuál es la mejor práctica para defenderse contra un ataque DoS en este escenario?
En este artículo , alguien sugirió que podemos reemplazar Elastic Load Balancer con HAProxy. Sin embargo, hay ciertas desventajas al hacer esto, y estoy tratando de ver si hay mejores alternativas.
Creo que has descrito todas las opciones actuales. Es posible que desee intervenir en algunos de los temas del foro de AWS para votar por una solución: los ingenieros y la administración de Amazon están abiertos a sugerencias de mejoras de ELB.
Puede configurar un host EC2 y ejecutar haproxy usted mismo (¡eso es lo que usa Amazon de todos modos!). Luego puede aplicar sus filtros iptables en ese sistema.
Si despliega su ELB y las instancias que utilizan VPC en lugar de EC2-classic, puede usar Grupos de seguridad y ACL de red para restringir el acceso al ELB.
http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/USVPC_ApplySG.html
Aquí hay una herramienta que hice para aquellos que buscan utilizar Fail2Ban en aws con apache, ELB y ACL: https://github.com/anthonymartin/aws-acl-fail2ban
Es común ejecutar un servidor de aplicaciones detrás de un proxy inverso. Su proxy inverso es una capa que puede usar para agregar protección DoS antes de que el tráfico llegue a su servidor de aplicaciones. Para Nginx, puede ver el módulo de limitación de velocidad como algo que podría ayudar.