2010-03-07 17 views
12

Por lo general, ponemos en lista negra la dirección de 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, lo que hace que el iptables sea 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.Amazon EC2 Load Balancer: ¿Defendiendo contra el ataque DoS?

¿Cuál es la mejor práctica para defenderse contra un ataque DoS en este escenario?

In this article, 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.

+0

El siguiente hilo aquí en los foros de AWS también puede ser útil para ver lo personas en situaciones similares lo han hecho: https://forums.aws.amazon.com/message.jspa?messageID=212411#212411 – jm3

Respuesta

3

Creo que ha 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.

+0

Pregúnteles acerca del soporte TPROXY. :) – Craig

1

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 mirar the rate limiting module como algo que podría ayudar.

0

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.

2

Si implementa su ELB y las instancias que usan 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

+1

¿Hay alguna forma de agregar reglas de red ACL programáticamente? Es decir, una vez que algo como fail2ban ha detectado una IP problemática, ejecute algún script que lo agregue como una regla de ACL. – Aphire

+0

@Aphire Sí, la [cli] (https://docs.aws.amazon.com/cli/latest/userguide/cli-ec2-sg.html) y la [API] (https://docs.aws. amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#authorizeSecurityGroupEgress-property) asistencia para crear y modificar grupos de seguridad – Matt