He configurado un entorno de AWS Elastic Beanstalk con un par de claves de Amazon Elastic Compute Cloud (Amazon EC2). El grupo de seguridad de la instancia ha abierto el puerto SSH 22 a Internet (0.0.0.0/0). Quiero restringir el acceso SSH a un rango de CIDR específico o a un grupo de seguridad en la instancia de Elastic Beanstalk.
Solución
Nota: Elastic Beanstalk usa AWS CloudFormation para administrar los recursos. Si cambias manualmente una instancia de Amazon EC2 fuera de CloudFormation, es posible que se produzcan errores.
Restricción del acceso SSH a un rango de CIDR específico
Sigue estos pasos:
-
Crea un archivo de configuración que tenga los siguientes parámetros:
option_settings:
aws:autoscaling:launchconfiguration:
SSHSourceRestriction: tcp, 22, 22, my-cidr-range
Nota: Sustituye ** my-cidr-range** por tu rango de CIDR.
-
Añade el archivo a la carpeta .ebextensions en la raíz del paquete de origen de la aplicación:
.ebextensions/SSHSourceRestriction.config
-
Implementa el paquete de origen en el entorno.
Restricción del acceso SSH a un grupo de seguridad específico
Sigue estos pasos:
-
Crea un archivo de configuración que tenga los siguientes parámetros:
option_settings:
aws:autoscaling:launchconfiguration:
SSHSourceRestriction: tcp, 22, 22, sg-0f69e4fd26ac48ec3
aws:ec2:vpc:
VPCId: vpc-09b7141f091e43ad4
Subnets: subnet-093a0b2f2415060bc
ELBSubnets: subnet-093a0b2f2415060bc
Nota: El archivo de configuración .ebextensions anterior funciona con un entorno de Elastic Beanstalk que se crea con configuraciones de nube virtual privada (VPC) definidas.
-
Añade el archivo a la carpeta .ebextensions en la raíz del paquete de origen de la aplicación:
.ebextensions/SSHSourceRestriction.config
-
Implementa el paquete de origen en el entorno.
Información relacionada
elastic-beanstalk-samples en el sitio web de GitHub