Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Audite automáticamente los grupos de AWS seguridad que permiten el acceso desde direcciones IP públicas
Creado por Eugene Shifer (AWS) y Stephen DiCato (AWS)
Resumen
Como práctica recomendada de seguridad, es fundamental minimizar la exposición de los AWS recursos solo a lo que sea absolutamente necesario. Por ejemplo, los servidores web que sirven al público en general deben permitir el acceso entrante desde Internet, pero el acceso a otras cargas de trabajo debe restringirse a redes específicas para reducir la exposición innecesaria. Los grupos de seguridad de Amazon Virtual Private Cloud (Amazon VPC) son un control eficaz que le ayuda a limitar el acceso a los recursos. Sin embargo, evaluar los grupos de seguridad puede ser una tarea engorrosa, especialmente en arquitecturas de cuentas múltiples. AWS Config las reglas y AWS Security Hub los controles pueden ayudarle a identificar los grupos de seguridad que permiten el acceso desde la Internet pública (0.0.0.0/0) a protocolos de comunicación de red específicos, como Secure Shell (SSH), HTTP, HTTPS y el protocolo de escritorio remoto (RDP) de Windows. Sin embargo, estas reglas y controles no se aplican si los servicios se ejecutan en puertos no estándar o si el acceso está restringido a determinadas direcciones IP públicas. Por ejemplo, esto puede ocurrir cuando un servicio web está asociado al puerto TCP 8443 en lugar del puerto TCP 443 estándar. Esto también puede ocurrir cuando los desarrolladores tienen acceso al servidor desde sus redes domésticas, por ejemplo, con fines de prueba.
Para solucionar este problema, puede utilizar la solución de infraestructura como código (IaC) que se proporciona en este patrón para identificar los grupos de seguridad que permiten el acceso desde cualquier dirección IP no privada (no compatible con la RFC 1918
Requisitos previos y limitaciones
Requisitos previos
Un activo Cuenta de AWS
Experiencia usando GitHub
Si va a realizar la implementación en una sola Cuenta de AWS:
Permisos para crear CloudFormation pilas
AWS Config configurados en la cuenta de destino
(Opcional) Security Hub configurado en la cuenta de destino
Si vas a realizar un despliegue en una AWS organización:
Permisos para crear conjuntos de CloudFormation pilas
Security Hub configurado con AWS Organizations integración
AWS Config configúrelo en las cuentas en las que va a implementar esta solución
Designar Cuenta de AWS a un administrador delegado de un AWS Config Security Hub
Limitaciones
Si va a realizar la implementación en una cuenta individual que no tiene activado Security Hub, puede utilizarla AWS Config para evaluar los resultados.
Si va a realizar el despliegue en una organización que no tiene un administrador delegado para AWS Config el Security Hub, debe iniciar sesión en las cuentas de los miembros individuales para ver los resultados.
Si solía administrar y AWS Control Tower controlar las cuentas de su organización, implemente el IaC siguiendo este patrón mediante Customizations for AWS Control Tower (cFCT). El uso de la CloudFormation consola generaría desviaciones en la configuración y AWS Control Tower requeriría que volvieras a inscribir las unidades organizativas () o las cuentas gestionadas. OUs
Algunas Servicios de AWS no están disponibles en todas las versiones. Regiones de AWS Para ver la disponibilidad por región, consulta Servicios de AWS por región
. Para ver puntos de enlace específicos, consulta la página de puntos de enlace y cuotas del servicio y elige el enlace del servicio.
Arquitectura
Implementar en un individuo Cuenta de AWS
El siguiente diagrama de arquitectura muestra el despliegue de los AWS recursos en una sola unidad Cuenta de AWS. Los recursos se aprovisionan mediante una CloudFormation plantilla directamente a través de la CloudFormation consola. Si Security Hub está activado, puede ver los resultados en Security Hub AWS Config o en Security Hub. Si Security Hub no está activado, solo podrá ver los resultados en AWS Config.

En el diagrama, se muestra el siguiente flujo de trabajo:
Usted crea una CloudFormation pila. Esto implementa una función Lambda y AWS Config una regla. Tanto la regla como la función se configuran con los permisos AWS Identity and Access Management (de IAM) necesarios para publicar las evaluaciones de los recursos en AWS Config los registros.
La AWS Config regla funciona en modo de evaluación detectivesca e invoca la función Lambda cada 24 horas.
La función Lambda evalúa los grupos de seguridad y envía actualizaciones a. AWS Config
Security Hub recibe todos los AWS Config resultados.
Puede ver los resultados en Security Hub o en AWS Config, según los servicios que haya configurado en la cuenta.
Implementar en una AWS organización
El siguiente diagrama muestra la implementación del patrón en varias cuentas que se administran mediante AWS Organizations y AWS Control Tower. La CloudFormation plantilla se implementa a través de cFCT. Los resultados de la evaluación se centralizan en Security Hub, en la cuenta de administrador delegado. La sección de AWS CodePipeline flujo de trabajo del diagrama muestra los pasos de fondo que se producen durante la implementación de cFCT.

En el diagrama, se muestra el siguiente flujo de trabajo:
En la cuenta de administración, debe cargar un archivo comprimido (ZIP) de la plantilla IaC en un bucket de Amazon Simple Storage Service (Amazon S3) que despliega cFCT.
La canalización cFCT descomprime el archivo, ejecuta las comprobaciones de cfn-nag
(GitHub) y despliega la plantilla como un conjunto de pilas. CloudFormation Según la configuración que especifiques en el archivo de manifiesto de cFCT, CloudFormation StackSets despliega las pilas en cuentas individuales o especificadas. OUs Esto despliega una función Lambda y AWS Config una regla en las cuentas de destino. Tanto la regla como la función se configuran con los permisos de IAM necesarios para publicar las evaluaciones de los recursos en AWS Config los registros.
La AWS Config regla funciona en modo de evaluación detectivesca e invoca la función Lambda cada 24 horas.
La función Lambda evalúa los grupos de seguridad y envía actualizaciones a. AWS Config
AWS Config reenvía todos los resultados a Security Hub.
Los resultados de Security Hub se agregan a la cuenta del administrador delegado.
Puede ver los resultados agregados en Security Hub en la cuenta de administrador delegado.
Herramientas
Servicios de AWS
AWS CloudFormationle ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y gestionarlos a lo largo de su ciclo de vida en todo el territorio Cuentas de AWS y Regiones de AWS.
AWS Configproporciona una vista detallada de los recursos que tiene Cuenta de AWS y de cómo están configurados. Le ayuda a identificar cómo se relacionan los recursos entre sí y cómo han cambiado sus configuraciones a lo largo del tiempo. Una AWS Config regla define los parámetros de configuración ideales para un recurso y AWS Config puede evaluar si AWS los recursos cumplen las condiciones de la regla.
AWS Control Towerle ayuda a configurar y administrar un entorno de AWS múltiples cuentas, siguiendo las prácticas recomendadas prescriptivas. Las personalizaciones de AWS Control Tower (cFCT) te ayudan a personalizar tu AWS Control Tower landing zone y a mantenerte alineado con las AWS mejores prácticas. Las personalizaciones de esta solución se implementan mediante CloudFormation plantillas y políticas de control AWS Organizations de servicios (). SCPs
AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
AWS Organizationses un servicio de administración de cuentas que le ayuda a consolidar múltiples cuentas Cuentas de AWS en una organización que puede crear y administrar de forma centralizada.
AWS Security Hubproporciona una visión completa del estado de su seguridad en AWS. También le ayuda a comparar su AWS entorno con los estándares y las mejores prácticas del sector de la seguridad.
Otras herramientas
Python
es un lenguaje de programación informático de uso general.
Repositorio de código
El código de este patrón está disponible en el repositorio GitHub Detect vulnerable Security Groups
Prácticas recomendadas
Le recomendamos que siga las prácticas recomendadas de los siguientes recursos:
Prácticas recomendadas para unidades organizativas con AWS Organizations
(blog sobre operaciones y migraciones en la AWS nube) Guía para establecer una base inicial mediante AWS Control Tower el uso de AWS
(biblioteca de AWS soluciones) Guía para crear y modificar AWS Control Tower recursos (AWS Control Tower documentación)
Consideraciones sobre el despliegue de CFCT (AWS Control Tower documentación)
Aplicar permisos con privilegios mínimos (documentación de IAM)
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Determine su estrategia de despliegue. | Revise la solución y el código para determinar la estrategia de implementación de su AWS entorno. Determine si va a realizar la implementación en una sola cuenta o en una AWS organización. | Propietario de la aplicación, General AWS |
Clonar el repositorio. | Introduzca el siguiente comando para clonar el repositorio de Detect Vulnerable Security Groups
| Desarrollador de aplicaciones, propietario de la aplicación |
Valide la versión de Python. |
| Administrador de AWS, desarrollador de aplicaciones |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Implemente la CloudFormation plantilla. | Implemente la CloudFormation plantilla en su AWS entorno. Realice una de las siguientes acciones:
| Desarrollador de aplicaciones, administrador de AWS, AWS general |
Comprobar la implementación. | En la CloudFormation consola | Administrador de AWS, propietario de la aplicación |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Vea las conclusiones de la AWS Config regla. | En Security Hub, haga lo siguiente para ver una lista de las conclusiones individuales:
En Security Hub, haga lo siguiente para ver una lista del total de hallazgos agrupados por Cuenta de AWS:
En AWS Config, para ver una lista de las conclusiones, siga las instrucciones que aparecen en la AWS Config documentación sobre la consulta de la información sobre el cumplimiento y los resultados de la evaluación. | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube |
Solución de problemas
Problema | Solución |
---|---|
Se produce un error al crear o eliminar el conjunto de CloudFormation pilas. | Cuando AWS Control Tower se despliega, impone las barreras de protección necesarias y asume el control de los AWS Config agregadores y las reglas. Esto incluye evitar cualquier alteración directa. CloudFormation Para implementar o eliminar correctamente esta CloudFormation plantilla, incluidos todos los recursos asociados, debe utilizar cFCT. |
cFct no puede eliminar la CloudFormation plantilla. | Si la CloudFormation plantilla persiste incluso después de realizar los cambios necesarios en el archivo de manifiesto y eliminar los archivos de plantilla, confirme que el archivo de manifiesto contiene el |
Recursos relacionados
AWS Config Reglas personalizadas (AWS Config documentación)