SEC01-BP06 Automatización de la implementación de controles de seguridad estándares - Marco de AWS Well-Architected

SEC01-BP06 Automatización de la implementación de controles de seguridad estándares

Aplique prácticas modernas de DevOps a medida que desarrolle e implemente controles de seguridad estándar en todos sus entornos de AWS.  Defina controles y configuraciones de seguridad estándar mediante plantillas de infraestructura como código (IaC), registre los cambios en un sistema de control de versiones, pruebe los cambios como parte de una canalización de CI/CD y automatice la implementación de los cambios en sus entornos de AWS.

Resultado deseado: las plantillas de IaC capturan los controles de seguridad estandarizados y los envían a un sistema de control de versiones.  Existen canalizaciones de CI/CD en lugares en los que se detectan cambios y se automatizan las pruebas y la implementación de sus entornos de AWS.  Existen barreras de protección para detectar errores de configuración en las plantillas y alertar sobre ellos antes de proceder a la implementación.  Se implementan cargas de trabajo en entornos donde existan controles estándar.  Los equipos tienen acceso para implementar configuraciones de servicio aprobadas a través de un mecanismo de autoservicio.  Existen estrategias de copia de seguridad y recuperación seguras para controlar las configuraciones, los scripts y los datos relacionados.

Patrones comunes de uso no recomendados:

  • Hacer cambios en los controles de seguridad estándar de forma manual, mediante una consola web o una interfaz de línea de comandos.

  • Confiar en los equipos de carga de trabajo individuales para implementar manualmente los controles que define un equipo central.

  • Confiar en un equipo de seguridad central para implementar controles en el nivel de la carga de trabajo a petición de un equipo de carga de trabajo.

  • Permitir que las mismas personas o equipos desarrollen, prueben e implementen scripts de automatización del control de seguridad sin una separación adecuada de funciones ni de controles y contrapesos. 

Beneficios de establecer esta práctica recomendada: el uso de plantillas para definir los controles de seguridad estándar permite hacer un seguimiento y comparar los cambios a lo largo del tiempo mediante un sistema de control de versiones.  El uso de la automatización para probar e implementar los cambios crea estandarización y previsibilidad, lo que aumenta las posibilidades de que la implementación se complete correctamente y reduce las tareas manuales repetitivas.  Proporcionar un mecanismo de autoservicio para que los equipos de carga de trabajo implementen los servicios y configuraciones aprobados reduce el riesgo de errores de configuración y usos indebidos. Esto también les ayuda a incorporar controles en las primeras etapas del proceso de desarrollo.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: medio

Guía para la implementación

Si sigue las prácticas descritas en SEC01-BP01 Separación de cargas de trabajo con cuentas, terminará teniendo varias Cuentas de AWS para diferentes entornos que administre mediante AWS Organizations.  Si bien es posible que cada uno de estos entornos y cargas de trabajo necesite controles de seguridad diferentes, puede estandarizar algunos controles de seguridad en toda la organización.  Entre algunos ejemplos de esto se incluyen la integración de proveedores de identidad centralizados, la definición de redes y firewalls y la configuración de ubicaciones estándar para almacenar y analizar los registros.  Del mismo modo en que puede utilizar la infraestructura como código (IaC) para aplicar el mismo rigor en el desarrollo del código de aplicación al aprovisionamiento de infraestructuras, también puede utilizar la IaC para definir e implementar los controles de seguridad estándar.

Siempre que sea posible, defina los controles de seguridad de forma declarativa, como en AWS CloudFormation, y almacénelos en un sistema de control de código fuente.  Utilice las prácticas de DevOps para automatizar la implementación de los controles para obtener versiones más predecibles, pruebas automatizadas con herramientas como AWS CloudFormation Guard y detectar desviaciones entre los controles implementados y la configuración deseada.  Puede utilizar servicios, como AWS CodePipeline, AWS CodeBuild y AWS CodeDeploy, para crear una canalización de CI/CD. Tenga en cuenta las instrucciones de Organizing Your AWS Environment Using Multiple Accounts para configurar estos servicios en sus propias cuentas que sean independientes de otras canalizaciones de implementación.

También puede definir plantillas para estandarizar la definición y la implementación de Cuentas de AWS, servicios y configuraciones.  Esta técnica permite que un equipo de seguridad central administre estas definiciones y se las proporcione a los equipos de la carga de trabajo mediante un enfoque de autoservicio.  Una forma de lograrlo es mediante Service Catalog, donde puede publicar plantillas como productos que los equipos de la carga de trabajo pueden incorporar a las implementaciones de su propia canalización.  Si utiliza AWS Control Tower, hay disponibles algunas plantillas y controles como punto de partida.  Control Tower también ofrece la función Account Factory, lo que permite a los equipos de la carga de trabajo crear nuevas Cuentas de AWS con los estándares que defina.  Esta función ayuda a eliminar las dependencias de un equipo central para aprobar y crear nuevas cuentas cuando los equipos de la carga de trabajo las identifiquen como necesarias.  Es posible que necesite estas cuentas para aislar los diferentes componentes de la carga de trabajo en función de motivos como la función que cumplen, la confidencialidad de los datos que se procesan o su comportamiento.

Pasos para la implementación

  1. Determine cómo va a almacenar y mantener las plantillas en un sistema de control de versiones.

  2. Cree canalizaciones de CI/CD para probar e implementar las plantillas.  Defina pruebas para comprobar si hay errores de configuración y si las plantillas se ajustan a los estándares de su empresa.

  3. Cree un catálogo de plantillas estandarizadas para que los equipos de la carga de trabajo implementen Cuentas de AWS y servicios de acuerdo con sus requisitos.

  4. Implemente estrategias de copia de seguridad y recuperación seguras para sus configuraciones de control, scripts y datos relacionados.

Recursos

Prácticas recomendadas relacionadas:

Documentos relacionados:

Ejemplos relacionados:

Herramientas relacionadas: