Sé que un cierto rango de direcciones IP está causando problemas con mi servidor, 172.64.*.*
¿cuál es la mejor manera de bloquear el acceso a mi instancia de Amazon EC2? ¿Hay alguna manera de hacerlo usando grupos de seguridad o es mejor hacerlo con el firewall en el servidor?
27
Respuestas:
Bloquee el tráfico tanto en el servidor como en el firewall si es posible, por si acaso.
Los grupos de seguridad son buenos porque son externos a su host, por lo que los datos nunca llegan a usted. Sin embargo, no son tan configurables como la mayoría de los firewalls basados en servidores.
Desafortunadamente, los grupos de seguridad EC2 solo pueden "permitir" servicios a través de una política de denegación predeterminada. Entonces, si está tratando de bloquear el acceso a un servicio público "permitido" para un rango de IP pequeño, crear la regla de permiso para "el resto de Internet" es un poco más complejo que simplemente bloquear un rango de IP. Como ha especificado una gran porción, la lista de rangos de red que no incluyen 172.64.0.0/16 no es demasiado larga:
Esta lista debería agregarse para sus puertos. Luego puede eliminar su regla 'permitir todo' para ese puerto. Si tiene varios puertos para los que desea hacer esto y no son contiguos, la lista deberá ir varias veces. Si tiene varios grupos de seguridad, esto puede convertirse rápidamente en inmanejable.
El firewall local también funcionará.
iptables
está disponible en el Amazon AMI predeterminado, y todas las distribuciones de LinuxDespués de agregar sus reglas, deberá guardarlas y asegurarse de que el
iptables
servicio se inicie en el arranque.El archivo de configuración para guardar variará con las distribuciones.
Usando una VPC
Si utiliza una VPC para sus instancias, puede especificar "ACLS de red" que funcionan en su subred. Las ACL de red le permiten escribir reglas de permiso y denegación, por lo que recomiendo hacerlo de esta manera.
fuente
iptables
no funcione, ¿se está refiriendo a la gran subred permitida en el grupo de seguridad?La forma más sencilla de detener el tráfico es (suponiendo que se esté usando VPC) agregándolo a la ACL de red VPC de esa instancia y negando todo el tráfico de esa dirección IP.
Una cosa para recordar es que el número de la regla de denegación debe ser menor que el primer número de la regla de permitir.
fuente
Me he encontrado con un problema dos veces y me di cuenta de que mi situación EC2 es un poco diferente:
iptables
no funciona si sus servidores están en un clúster detrás de un equilibrador de carga elástico (ELB): la dirección IP que conoce la instancia es la de el ELBSi tiene su ELB configurado en una configuración más moderna, vea esta respuesta SO: /programming/20123308/how-to-configure-aws-elb-to-block-certain-ip-addresses-known -spammers
En nuestro caso, no teníamos las cosas bien configuradas, así que tuve que usar Apache, que puede buscar el
X-FORWARDED-FOR
encabezado y bloquear las direcciones IP.Agregue esto a su configuración de apache (quizás en un bloque VirtualHost):
Esto verificará el encabezado que establece el ELB
Guarde la configuración, pruebe con
apache2ctl -t
debian / ubuntu (oapachectl -t
con RHEL), luego reinicie apache.Esto solo envía una
403 Forbidden
respuestafuente
Bloqueo de tráfico de un único rango de IP / IP en AWS
Aquí hay un tutorial rápido: http://chopmo.dk/posts/2015/06/13/blocking-traffic-in-aws.html
fuente