SEC01-BP06 Automatización del despliegue de controles de seguridad estándares - AWS Well-Architected Framework

SEC01-BP06 Automatización del despliegue de controles de seguridad estándares

Aplique prácticas modernas de DevOps a medida que desarrolle y despliegue 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 el despliegue de los cambios en sus entornos de AWS.

Resultado deseado: recopilar los controles de seguridad estandarizados en plantillas de IaC y confirmarlos en un sistema de control de versiones.  Ubicar canalizaciones de CI/CD en lugares en los que se detecten cambios y se automaticen las pruebas y el despliegue de sus entornos de AWS.  Disponer de barreras de protección para detectar errores de configuración en las plantillas y alertar sobre ellos antes de proceder al despliegue.  Desplegar las cargas de trabajo en entornos donde existan controles estándar.  Acceso por parte de los equipos para desplegar configuraciones de servicio aprobadas a través de un mecanismo de autoservicio.  Disponer de estrategias de copia de seguridad y recuperación seguras para controlar las configuraciones, los scripts y los datos relacionados.

Antipatrones usuales:

  • Realizar 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 desplegar 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 y desplieguen 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 le permite realizar un seguimiento y comparar los cambios a lo largo del tiempo con un sistema de control de versiones.  El uso de la automatización para probar y desplegar los cambios crea estandarización y previsibilidad, lo que aumenta las posibilidades de que el despliegue tenga éxito y reduce las tareas manuales repetitivas.  Proporcionar un mecanismo de autoservicio para que los equipos de carga de trabajo desplieguen 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 se siguen las prácticas descritas en SEC01-BP01 Separación de las cargas de trabajo utilizando cuentas, terminará con varias Cuentas de AWS para los diferentes entornos que administre utilizando 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 que puede usar la infraestructura como código (IaC) para aplicar el mismo rigor del desarrollo del código de aplicaciones al aprovisionamiento de infraestructuras, también puede usar la IaC para definir y desplegar sus controles de seguridad estándares.

Siempre que sea posible, defina sus 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 el despliegue de sus controles para obtener versiones más predecibles, llevar a cabo pruebas automatizadas con herramientas como AWS CloudFormation Guard y detectar desviaciones entre los controles desplegados y la configuración deseada.  Puede usar servicios como AWS CodePipeline, AWS CodeBuild y AWS CodeDeploy para desarrollar una canalización de CI/CD. Tenga en cuenta las directrices de Organizing Your AWS Environment Using Multiple Accounts para configurar estos servicios en sus propias cuentas, que están separadas de otras canalizaciones de despliegue.

También puede definir plantillas para estandarizar la definición y el despliegue de Cuentas de AWS, servicios y configuraciones.  Esta técnica permite que un equipo de seguridad central gestione estas definiciones y se las proporcione a los equipos de carga de trabajo mediante un enfoque de autoservicio.  Una forma de conseguirlo es mediante el uso de Service Catalog, donde puede publicar plantillas como productos que los equipos de carga de trabajo podrán incorporar en sus propios despliegues de canalización.  Si está utilizando AWS Control Tower, algunas plantillas y controles están disponibles como punto de partida.  Control Tower también ofrece la función Account Factory, que permite a los equipos de carga de trabajo crear nuevas Cuentas de AWS utilizando los estándares que usted defina.  Esta capacidad ayuda a eliminar las dependencias de un equipo central para aprobar y crear nuevas cuentas cuando los equipos de 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 y desplegar sus 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 carga de trabajo desplieguen 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: