Regla de entrada de Amazon EC2 Security Group con una IP dinámica


12

Estoy buscando aclaraciones sobre lo que veo como un problema potencial con los Grupos de Seguridad EC2.

Estoy configurando un grupo de seguridad para conectarme a instancias de Linux. He creado reglas "en cualquier lugar" para el acceso HTTP y HTTPS.

Para mi regla SSH, el tutorial de Amazon dice que debería limitar el acceso entrante a mi dirección IP pública .

  1. Lo que no entiendo es cómo es seguro o viable si su dirección IP pública es dinámica.

  2. Mi dirección IP es dinámica, entonces, ¿qué sucede cuando mi ISP cambia mi IP pública y ya no puedo ingresar a mi instancia?

Enlace a la guía de configuración que estoy usando: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html (Paso 7 de 'Crear un grupo de seguridad 'es lo que me parece problemático)

Respuestas:


6

Lo que no entiendo es cómo es seguro o viable si su dirección IP pública es dinámica.

Esta solución podría funcionar si encuentra que su IP no cambia con frecuencia, o si solo necesita acceso por un corto tiempo. Agrega una capa adicional de seguridad ya que SSH no está expuesto al tráfico fuera del CIDR que usted suministra.

Si un CIDR específico no funciona, puede probar o más rangos de CIDR de placa que es probable que use su ISP, esto todavía limitará el acceso desde un gran porcentaje de Internet, y eso es una victoria para la seguridad.

¿Qué sucede cuando mi ISP cambia mi IP pública y ya no puedo ingresar a mi instancia?

Puede iniciar sesión en la consola de AWS o usar la CLI para actualizar la regla del grupo de seguridad sobre la marcha.

Podría escribir un script que interactúe con la CLI directamente. Podría ser tan simple como algo que verifica la Port 22 ruleIP actual y la actualiza si es diferente. Por supuesto, ejecutar un script de este tipo podría generar más preguntas de seguridad :)

¿Es un firewall IP la mejor manera de asegurar SSH?

Si bien es bueno limitar el tráfico ssh solo a fuentes IP confiables cuando sea práctico, lo que hace que ssh sea seguro es el uso de claves privadas y una configuración sensible.

Elementos clave a tener en cuenta:

  • Agregue una frase de contraseña a su clave privada SSH
  • Desactivar autenticación de contraseña a SSH
  • Deshabilitar el inicio de sesión raíz en SSH
  • Auditar todas las cuentas de usuario para claves públicas SSH

También podría hacer algunas cosas para deshacerse del 'ruido' asociado con los ataques de fuerza bruta:

  • Ejecute ssh en un puerto superior
  • Utilice software como fail2ban que registrará dinámicamente numerosos intentos fallidos y bloqueará los rangos de IP durante períodos específicos de tiempo

4

Está bien restringir el acceso a su servidor SSH por dirección IP, pero SSH no confía en eso por su seguridad. Si deshabilita los inicios de sesión de contraseña ( PasswordAUthentication no) y usa solo la autenticación de clave privada, nadie podrá ingresar sin su clave privada. Es seguro.

En otras palabras, no tiene que preocuparse por las reglas del firewall si no lo desea.


1
Debe preocuparse por un ataque dirigido a su computadora local para obtener el archivo clave, pero si no está ejecutando algo que se ocupe de datos de salud / tarjeta de crédito / gobierno, las posibilidades de que eso sea probablemente mínimo.
ceejayoz

3

Puede agregar un rango de CIDR al grupo de seguridad que representa el superconjunto de todas las IP que su ISP puede asignarle.

O eso, o use la API de AWS para actualizar dinámicamente su grupo de seguridad.


3

Hay un par de soluciones más recientes para esta pregunta anterior:

Desde el interior de AWS: Cómo actualizar automáticamente sus grupos de seguridad para Amazon CloudFront y AWS WAF mediante AWS Lambda

Actualización remota desde la fuente dinámica (script node.js): script de nodo aws-ec2-ssh-secgroup-update

Actualización remota desde la fuente dinámica (secuencia de comandos de Python): agregue automáticamente la IP pública actual al grupo de seguridad para permitir el tráfico en un puerto específico


0

Puede usar el comando aws_ipadd para actualizar y administrar fácilmente las reglas del grupo de seguridad de AWS y poner en la lista blanca su IP pública con el puerto cada vez que se cambie.

$ aws_ipadd my_project_ssh
 Your IP 10.10.1.14/32 and Port 22 is whitelisted successfully.

$ aws_ipadd my_project_ssh
 Modifying existing rule...
 Removing old whitelisted IP '10.10.1.14/32'.
 Whitelisting new IP '10.4.10.16/32'.
 Rule successfully updated!
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.