SEC01-BP06 Automatice el despliegue de controles de seguridad estándar - AWS Marco Well-Architected

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.

SEC01-BP06 Automatice el despliegue de controles de seguridad estándar

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

Resultado deseado: las plantillas de IaC capturan los controles de seguridad estandarizados y los envían a un sistema de control de versiones.  Los canales de CI/CD se encuentran en lugares que detectan los cambios y automatizan las pruebas y el despliegue de sus entornos. 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 el artículo SEC01-BP01 Separe las cargas de trabajo mediante cuentas, acabará teniendo varias Cuentas de AWS para 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 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 DevOps prácticas para automatizar la implementación de sus controles y lograr versiones más predecibles, automatice las pruebas con herramientas como AWS CloudFormation Guardestas y detecte diferencias 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 que aparecen en la sección Cómo organizar su AWS entorno mediante varias cuentas para configurar estos servicios en sus propias cuentas, independientes de las de otros procesos de implementación.

También puede definir plantillas para estandarizar la definición y la implementación Cuentas de AWS, los servicios y las 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 carga de trabajo las implementen Cuentas de AWS y los 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: