

# Protección de la computación
<a name="protecting-compute"></a>

Los recursos de computación incluyen instancias EC2, contenedores, funciones de AWS Lambda, servicios de bases de datos, dispositivos del IoT y más. Cada uno de estos tipos de recursos de computación requiere enfoques diferentes para protegerlos. Sin embargo, comparten estrategias comunes que hay que tener en cuenta: una defensa exhaustiva, la administración de las vulnerabilidades, la reducción de la superficie expuesta a ataques, la automatización de la configuración y el funcionamiento y la ejecución de acciones a distancia. En esta sección, encontrará una guía general para proteger sus recursos de computación de los servicios clave. Para cada servicio de AWS utilizado, es importante que consulte las recomendaciones de seguridad específicas que figuran en la documentación del servicio.

**Topics**
+ [SEC06-BP01 Administración de las vulnerabilidades](sec_protect_compute_vulnerability_management.md)
+ [SEC06-BP02 Aprovisionamiento de computación a partir de imágenes reforzadas](sec_protect_compute_hardened_images.md)
+ [SEC06-BP03 Reducción de la administración manual y el acceso interactivo](sec_protect_compute_reduce_manual_management.md)
+ [SEC06-BP04 Validación de la integridad del software](sec_protect_compute_validate_software_integrity.md)
+ [SEC06-BP05 Automatización de la protección de computación](sec_protect_compute_auto_protection.md)

# SEC06-BP01 Administración de las vulnerabilidades
<a name="sec_protect_compute_vulnerability_management"></a>

Analice con frecuencia su código, sus dependencias y su infraestructura en busca de vulnerabilidades, y aplique parches para solucionarlas, para ayudarle a protegerse contra las nuevas amenazas.

 **Resultado deseado:** tiene una solución que analiza continuamente su carga de trabajo en busca de vulnerabilidades de software, posibles defectos y exposición no intencionada a la red. Ha establecido procesos y procedimientos para identificar, priorizar y corregir estas vulnerabilidades en función de los criterios de evaluación de riesgos. Además, ha implementado la administración automática de parches para sus instancias de computación. Su programa de gestión de vulnerabilidades está integrado en su ciclo de vida de desarrollo de software, con soluciones para escanear el código fuente durante la canalización de CI/CD. 

 **Patrones comunes de uso no recomendados:** 
+  No disponer de un programa de administración de vulnerabilidades. 
+  Aplicar parches en el sistema sin tener en cuenta la gravedad o la forma de evitar riesgos. 
+  Utilizar software que haya superado la fecha de fin de vida útil (EOL) de su proveedor. 
+  Implementar código en producción antes de analizarlo en busca de problemas de seguridad. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 La gestión de vulnerabilidades es un aspecto clave para mantener un entorno de nube seguro y sólido. Conlleva un proceso integral que incluye escaneos de seguridad, identificación y priorización de problemas y operaciones de parches para resolver las vulnerabilidades identificadas. La automatización desempeña un papel fundamental en este proceso, ya que facilita el análisis continuo de las cargas de trabajo para detectar posibles problemas y una exposición no intencionada a la red, así como las iniciativas de corrección. 

 El [modelo de responsabilidad compartida de AWS](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/shared-responsibility.html) es un concepto fundamental que sustenta la gestión de vulnerabilidades. Según este modelo, AWS es responsable de proteger la infraestructura subyacente, incluido el equipo, el software, las redes y las instalaciones que ejecutan los servicios de AWS. Por el contrario, es su responsabilidad proteger sus datos, las configuraciones de seguridad y las tareas de administración asociadas a servicios como las instancias de Amazon EC2 y los objetos de Amazon S3. 

 AWS ofrece numerosos servicios para apoyar los programas de administración de vulnerabilidades. [Amazon Inspector](https://aws.amazon.com/inspector/) analiza continuamente las cargas de trabajo de AWS para detectar vulnerabilidades de software y accesos no deseados a la red, mientras que [AWSSystems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) ayuda a administrar los parches en todas las instancias de Amazon EC2. Estos servicios se pueden integrar con [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/), un servicio de administración de la postura de seguridad en la nube que automatiza los controles de seguridad de AWS, centraliza las alertas de seguridad y proporciona una visión completa de la postura de seguridad de una organización. Además, [Amazon CodeGuru Security](https://aws.amazon.com/codeguru/) utiliza el análisis estático del código para identificar posibles problemas en las aplicaciones Java y Python durante la fase de desarrollo. 

 Al incorporar prácticas de gestión de vulnerabilidades en el ciclo de vida del desarrollo del software, puede abordar las vulnerabilidades de forma proactiva antes de que se introduzcan en los entornos de producción, lo que reduce el riesgo de eventos de seguridad y minimiza el posible impacto de las vulnerabilidades. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  **Comprenda el modelo de responsabilidad compartida:** revise el modelo de responsabilidad compartida de AWS para comprender sus responsabilidades a la hora de proteger sus cargas de trabajo y los datos en la nube. AWS es responsable de proteger la infraestructura en la nube subyacente, mientras que es su responsabilidad proteger las aplicaciones, los datos y los servicios que utiliza. 

1.  **Implemente el análisis de vulnerabilidades**: configure un servicio de análisis de vulnerabilidades, como Amazon Inspector, para que analice automáticamente sus instancias de computación (por ejemplo, máquinas virtuales, contenedores o funciones sin servidor) en busca de vulnerabilidades de software, posibles defectos y exposición no intencionada a la red. 

1.  **Establezca procesos de gestión de vulnerabilidades:** defina procesos y procedimientos para identificar, priorizar y corregir las vulnerabilidades. Aquí se puede incluir la configuración de programas periódicos de escaneo de vulnerabilidades, el establecimiento de criterios de evaluación de riesgos y la definición de plazos de corrección en función de la gravedad de la vulnerabilidad. 

1.  **Configure la administración de parches:** utilice un servicio de administración de parches para automatizar el proceso de aplicación de parches a sus instancias de computación, tanto para los sistemas operativos como para las aplicaciones. Puede configurar el servicio para que analice las instancias en busca de parches ausentes e instalarlos automáticamente de manera planificada. Si lo considera oportuno, puede usar AWS Systems Manager Patch Manager para proporcionar esta funcionalidad. 

1.  **Configure la protección contra el malware:** implemente mecanismos para detectar software malicioso en su entorno. Por ejemplo, puede usar herramientas como [Amazon GuardDuty](https://aws.amazon.com/guardduty/) para analizar, detectar y alertar sobre el malware en los volúmenes de EC2 y EBS. GuardDuty también puede escanear los objetos recién cargados en Amazon S3 para detectar posibles virus o malware y tomar medidas para aislarlos antes de que se incorporen a los procesos posteriores. 

1.  **Integre el análisis de vulnerabilidades en las canalizaciones de CI/CD:** si utiliza una canalización de CI/CD para la implementación de sus aplicaciones, integre herramientas de análisis de vulnerabilidades en su canalización. Herramientas como Amazon CodeGuru Security y las opciones de código abierto pueden analizar el código fuente, las dependencias y los artefactos en busca de posibles problemas de seguridad. 

1.  **Configure un servicio de monitoreo de seguridad:** configure un servicio de monitoreo de seguridad, por ejemplo, AWS Security Hub CSPM, para obtener una perspectiva global del estado de su seguridad en varios servicios en la nube. El servicio debe recopilar los resultados de seguridad de diversas fuentes y presentarlos en un formato estandarizado para facilitar la priorización y la corrección. 

1.  **Implemente pruebas de penetración de aplicaciones web**: si su aplicación es una aplicación web y su organización tiene personal capacitado o puede contratar asistencia externa, podría implementar pruebas de penetración de aplicaciones web para identificar posibles vulnerabilidades en su aplicación. 

1.  **Automatice con la infraestructura como código**: utilice herramientas de infraestructura como código (IaC), por ejemplo [AWS CloudFormation](https://aws.amazon.com/cloudformation/), para automatizar la implementación y la configuración de sus recursos, incluidos los servicios de seguridad mencionados anteriormente. Esta práctica ayuda a crear una arquitectura de recursos más coherente y estandarizada en múltiples cuentas y entornos. 

1.  **Supervise y mejore continuamente**: supervise continuamente la eficacia de su programa de gestión de vulnerabilidades y realice las mejoras necesarias. Revise los resultados de seguridad, evalúe la eficacia de sus esfuerzos de corrección y ajuste sus procesos y herramientas en consecuencia. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 
+  [Security Overview of AWS Lambda](https://pages.awscloud.com/rs/112-TZM-766/images/Overview-AWS-Lambda-Security.pdf) 
+ [ Amazon CodeGuru ](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)
+ [ Improved, Automated Vulnerability Management for Cloud Workloads with a New Amazon Inspector ](https://aws.amazon.com/blogs/aws/improved-automated-vulnerability-management-for-cloud-workloads-with-a-new-amazon-inspector/)
+ [ Automate vulnerability management and remediation in AWS using Amazon Inspector and AWS Systems Manager – Part 1 ](https://aws.amazon.com/blogs/mt/automate-vulnerability-management-and-remediation-in-aws-using-amazon-inspector-and-aws-systems-manager-part-1/)

 **Videos relacionados:** 
+  [Securing Serverless and Container Services](https://youtu.be/kmSdyN9qiXY) 
+  [Security best practices for the Amazon EC2 instance metadata service](https://youtu.be/2B5bhZzayjI) 

# SEC06-BP02 Aprovisionamiento de computación a partir de imágenes reforzadas
<a name="sec_protect_compute_hardened_images"></a>

 Ofrezca menos oportunidades de acceso no deseado a sus entornos en tiempo de ejecución mediante la implementación desde imágenes reforzadas. Adquiera las dependencias de tiempo de ejecución (como imágenes de contenedores y bibliotecas de aplicaciones) únicamente de registros fiables y verifique sus firmas. Cree sus propios registros privados para almacenar imágenes y bibliotecas confiables para usarlas en sus procesos de desarrollo e implementación. 

 **Resultado deseado:** sus recursos informáticos se aprovisionan a partir de imágenes de referencia reforzadas. Recupera dependencias externas, como imágenes de contenedores y bibliotecas de aplicaciones, solamente de registros fiables y verifica sus firmas. Las almacena en registros privados para su consulta en los procesos de desarrollo e implementación. Escanea y actualiza las imágenes y las dependencias con regularidad para ayudar a protegerse contra cualquier vulnerabilidad recién descubierta. 

 **Patrones comunes de uso no recomendados:** 
+  Adquirir imágenes y bibliotecas de registros fiables, pero no verificar su firma ni analizar las vulnerabilidades antes de utilizarlas. 
+  Reforzar las imágenes, pero no probarlas con regularidad para detectar nuevas vulnerabilidades ni actualizarlas a la versión más reciente. 
+  Instalar o no eliminar paquetes de software que no sean necesarios durante el ciclo de vida esperado de la imagen. 
+  Confiar únicamente en los parches para mantener actualizados los recursos de computación de producción. El uso de parches por sí solo puede seguir haciendo que los recursos de computación diverjan del estándar reforzado con el paso del tiempo. También es posible que el uso de parches no elimine el malware que un actor de amenazas pueda haber instalado durante un evento de seguridad. 

 **Beneficios de establecer esta práctica recomendada:** el refuerzo de las imágenes ayuda a reducir la cantidad de rutas disponibles en el entorno de tiempo de ejecución que pueden permitir el acceso no deseado a usuarios o servicios no autorizados. También puede reducir el alcance del impacto en caso de que se produzca un acceso no deseado. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Para reforzar sus sistemas, comience con las versiones más recientes de los sistemas operativos, las imágenes de contenedores y las bibliotecas de aplicaciones. Aplique parches para solucionar los problemas conocidos. Reduzca al mínimo el sistema eliminando las aplicaciones, los servicios, los controladores de dispositivos, los usuarios predeterminados y otras credenciales que no sean necesarios. Lleve a cabo cualquier otra acción necesaria, como deshabilitar los puertos para crear un entorno que solo tenga los recursos y las capacidades que necesiten sus cargas de trabajo. A partir de ahí, puede instalar el software, los agentes u otros procesos que necesite para objetivos como la supervisión de la carga de trabajo o la administración de vulnerabilidades. 

 Puede reducir la carga que supone reforzar los sistemas utilizando la orientación que proporcionan orígenes fiables, como el [Center for Internet Security](https://www.cisecurity.org/) (CIS) y las [Security Technical Implementation Guides (STIG)](https://public.cyber.mil/stigs/) de la Defense Information Systems Agency (DISA). Le recomendamos que comience con una [imagen de máquina de Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) (AMI) publicada por AWS o un socio de la APN y que utilice el [Generador de imágenes de AWS EC2](https://aws.amazon.com/image-builder/) para automatizar la configuración de acuerdo con una combinación adecuada de controles del CIS y las STIG. 

 Si bien existen imágenes reforzadas y recetas del Generador de imágenes de EC2 disponibles que aplican las recomendaciones del CIS o de las STIG de la DISA, es posible que su configuración impida que su software se ejecute correctamente. En esta situación, puede partir de una imagen de base no reforzada, instalar el software y, a continuación, aplicar los controles del CIS de forma gradual para comprobar su impacto. Para cualquier control del CIS que impida la ejecución del software, compruebe si puede implementar las recomendaciones de refuerzo más detalladas prescritas por la DISA. Lleve un registro de los diferentes controles del CIS y de las configuraciones especificadas en las STIG de la DISA que puede aplicar correctamente. Utilícelos para definir consecuentemente sus recetas de refuerzo de imágenes en el Generador de imágenes de EC2. 

 Para las cargas de trabajo en contenedores, hay imágenes reforzadas de Docker disponibles en el [repositorio público](https://aws.amazon.com/ecr/) de [Amazon Elastic Container Registry (ECR)](https://gallery.ecr.aws/docker). Puede usar el Generador de imágenes de EC2 para reforzar las imágenes de contenedor junto con las AMI. 

 Al igual que los sistemas operativos y las imágenes de contenedor, puede obtener paquetes de código (o *bibliotecas*) de repositorios públicos mediante herramientas como pip, npm, Maven y NuGet. Le recomendamos que administre los paquetes de código mediante la integración de repositorios privados, como los que hay en [AWS CodeArtifact](https://aws.amazon.com/codeartifact/), con repositorios públicos de confianza. Esta integración puede ocuparse de la recuperación, el almacenamiento y la actualización de los paquetes. Durante los procesos de desarrollo de aplicaciones, se puede obtener y probar la versión más reciente de estos paquetes junto con la aplicación, mediante técnicas como el análisis de composición de software (SCA), las pruebas de seguridad de aplicaciones estáticas (SAST) y las pruebas dinámicas de seguridad de aplicaciones (DAST). 

 Para las cargas de trabajo sin servidor que utilicen AWS Lambda, simplifique la administración de las dependencias de los paquetes mediante [capas de Lambda.](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html) Use las capas de Lambda para configurar un conjunto de dependencias estándares que se compartan entre diferentes funciones en un archivo independiente. Puede crear y mantener capas según su propio proceso de creación, que proporciona un método centralizado de mantener al día sus funciones. 

## Pasos para la implementación
<a name="implementation-steps"></a>
+  Refuerce los sistemas operativos. Utilice imágenes de base de orígenes fiables para crear sus AMI reforzadas. Use el [Generador de imágenes de EC2](https://aws.amazon.com/image-builder/) para ayudar a personalizar el software instalado en las imágenes. 
+  Refuerce los recursos en contenedores. Configure los recursos en contenedores para cumplir con las prácticas recomendadas de seguridad. Cuando utilice contenedores, implemente el [análisis de imágenes de ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) en su canalización de compilación y aplíquelo de forma frecuente a su repositorio de imágenes para buscar CVE en sus contenedores.  
+  Cuando utilice la implementación sin servidor con AWS Lambda, utilice [capas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html) para dividir el código de función de la aplicación y las bibliotecas dependientes compartidas. Configure la [firma de código](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) para Lambda para asegurarse de que solo se ejecute código fiable en sus funciones de Lambda. 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [OPS05-BP05 Administración de parches](https://docs.aws.amazon.com/wellarchitected/latest/framework/ops_dev_integ_patch_mgmt.html) 

 **Videos relacionados:** 
+  [Deep dive into AWS Lambda security](https://www.youtube.com/watch?v=FTwsMYXWGB0) 

 **Ejemplos relacionados:** 
+  [Quickly build STIG-compliant AMI using EC2 Image Builder](https://aws.amazon.com/blogs/security/quickly-build-stig-compliant-amazon-machine-images-using-amazon-ec2-image-builder/) 
+  [Building better container images](https://aws.amazon.com/blogs/containers/building-better-container-images/) 
+  [Using Lambda layers to simplify your development process](https://aws.amazon.com/blogs/compute/using-lambda-layers-to-simplify-your-development-process/) 
+  [Develop & Deploy AWS Lambda Layers using Serverless Framework](https://github.com/aws-samples/aws-serverless-lambda-layers) 
+  [Building end-to-end AWS DevSecOps CI/CD pipeline with open source SCA, SAST and DAST tools](https://aws.amazon.com/blogs/devops/building-end-to-end-aws-devsecops-ci-cd-pipeline-with-open-source-sca-sast-and-dast-tools/) 

# SEC06-BP03 Reducción de la administración manual y el acceso interactivo
<a name="sec_protect_compute_reduce_manual_management"></a>

 Utilice la automatización para hacer tareas de implementación, configuración, mantenimiento e investigación siempre que sea posible. Plantéese el acceso manual a los recursos de computación en casos de procedimientos de emergencia o en entornos seguros (entornos de pruebas) cuando la automatización no esté disponible. 

 **Resultado deseado:** los scripts programáticos y los documentos de automatización (manuales de procedimientos) capturan las acciones autorizadas en sus recursos de computación. Estos manuales de procedimientos se inician de forma automática, mediante sistemas de detección de cambios, o manualmente, cuando se requiere una intervención humana. El acceso directo a los recursos de computación solo está disponible en situaciones de emergencia cuando la automatización no está disponible. Todas las actividades manuales se registran y se incorporan a un proceso de revisión para mejorar continuamente las capacidades de automatización. 

 **Patrones comunes de uso no recomendados:** 
+  Acceso interactivo a instancias de Amazon EC2 con protocolos como SSH o RDP. 
+  Mantener inicios de sesión de los usuarios individuales, como `/etc/passwd` o los usuarios locales de Windows. 
+  Compartir una contraseña o una clave privada para acceder a una instancia entre varios usuarios. 
+  Instalar el software y crear o actualizar los archivos de configuración manualmente. 
+  Actualizar o parchear el software manualmente. 
+  Iniciar sesión en una instancia para solucionar problemas. 

 **Beneficios de establecer esta práctica recomendada:** utilizar la automatización para llevar a cabo acciones le ayuda a reducir el riesgo operativo de los cambios no deseados y los errores de configuración. Eliminar el uso de Secure Shell (SSH) y Remote Desktop Protocol (RDP) para el acceso interactivo reduce el alcance del acceso a los recursos de computación. Todo esto elimina una ruta que se utiliza habitualmente para llevar a cabo acciones no autorizadas. Al reflejar las tareas de administración de recursos de computación en documentos de automatización y scripts programáticos, se proporciona un mecanismo para definir y auditar todo el alcance de las actividades autorizadas con un alto nivel de detalle. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Iniciar sesión en una instancia es un enfoque clásico de la administración del sistema. Tras instalar el sistema operativo del servidor, los usuarios suelen iniciar sesión manualmente para configurar el sistema e instalar el software deseado. A lo largo de la vida útil del servidor, los usuarios pueden iniciar sesión para llevar a cabo actualizaciones de software, aplicar parches, cambiar configuraciones y solucionar problemas. 

 Sin embargo, el acceso manual plantea una serie de riesgos. Requiere un servidor que escuche las solicitudes, como un servicio SSH o RDP, que pueden proporcionar una ruta potencial para el acceso no autorizado. También aumenta el riesgo de errores humanos asociados con los pasos manuales. Todo esto puede provocar incidentes relacionados con la carga de trabajo, corrupción o destrucción de datos u otros problemas de seguridad. El acceso humano también requiere protecciones contra el uso compartido de credenciales, lo que genera una sobrecarga de administración adicional.  

 Para mitigar estos riesgos, puede implementar una solución de acceso remoto basada en agentes, como [AWS Systems Manager](https://aws.amazon.com/systems-manager/). AWS Systems Manager El agente (SSM Agent) inicia un canal cifrado y, por lo tanto, no depende de la escucha de solicitudes iniciadas externamente. Tenga en cuenta la posibilidad de configurar el SSM Agent para [establecer este canal en un punto de conexión de VPC](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-create-vpc.html). 

 Systems Manager le aporta un control detallado sobre cómo puede interactuar con las instancias administradas. Es el cliente quien define las automatizaciones que se ejecutarán, quién puede ejecutarlas y cuándo pueden ejecutarse. Systems Manager puede aplicar parches, instalar software y hacer cambios en la configuración sin acceso interactivo a la instancia. Systems Manager también puede proporcionar acceso a un intérprete de comandos remoto y registrar todos los comandos invocados y sus resultados durante la sesión en registros y en [Amazon S3](https://aws.amazon.com/s3/). [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) registra las invocaciones de las API de Systems Manager para su inspección. 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  [Instale el AWS Systems Manager Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html) (SSM Agent) en sus instancias de Amazon EC2. Compruebe si el SSM Agent está incluido y se ha iniciado automáticamente como parte de la configuración básica de la AMI. 

1.  Compruebe que los roles de IAM asociados a sus perfiles de instancia de EC2 incluyan la [política de IAM administrada](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) `AmazonSSMManagedInstanceCore`. 

1.  Inhabilite SSH, RDP y otros servicios de acceso remoto que se ejecuten en sus instancias. Para hacerlo, puede ejecutar scripts configurados en la sección de datos de usuario de sus plantillas de lanzamiento o crear AMI personalizadas con herramientas como el Generador de imágenes de EC2. 

1.  Compruebe que las reglas de ingreso de grupos de seguridad aplicables a sus instancias de EC2 no permitan el acceso al puerto 22/tcp (SSH) o al puerto 3389/tcp (RDP). Implemente la detección y las alertas en grupos de seguridad mal configurados mediante servicios como AWS Config. 

1.  Defina las automatizaciones, los manuales de procedimientos y los comandos de ejecución adecuados en Systems Manager. Utilice políticas de IAM para definir quién puede llevar a cabo estas acciones y las condiciones en las que están permitidas. Pruebe estas automatizaciones minuciosamente en un entorno que no sea de producción. Invoque estas automatizaciones cuando sea necesario, en lugar de acceder a la instancia de forma interactiva. 

1.  Use [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) para proporcionar acceso interactivo a las instancias cuando sea necesario. Active el registro de actividad de la sesión para mantener un registro de auditoría en [Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) o [Amazon S3](https://aws.amazon.com/s3/).  

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [REL08-BP04 Implementación mediante una infraestructura inmutable](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_tracking_change_management_immutable_infrastructure.html) 

 **Ejemplos relacionados:** 
+  [Replacing SSH access to reduce management and security overhead with AWS Systems Manager](https://aws.amazon.com/blogs/mt/vr-beneficios-session-manager/) 

 **Herramientas relacionadas:** 
+  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 

 **Videos relacionados:** 
+  [Controlling User Session Access to Instances in AWS Systems Manager Session Manager](https://www.youtube.com/watch?v=nzjTIjFLiow) 

# SEC06-BP04 Validación de la integridad del software
<a name="sec_protect_compute_validate_software_integrity"></a>

 Utilice la verificación criptográfica para validar la integridad de los artefactos de software (incluidas las imágenes) que utiliza su carga de trabajo.  Firme criptográficamente su software como protección contra los cambios no autorizados que se ejecuten en sus entornos de computación. 

 **Resultado deseado:** todos los artefactos se obtienen de orígenes confiables. Se validan los certificados del sitio web del proveedor.  Los artefactos descargados se verifican criptográficamente mediante sus firmas. Sus entornos de computación firman y verifican criptográficamente su propio software. 

 **Patrones comunes de uso no recomendados:** 
+  Confiar en los sitios web de proveedores acreditados para obtener artefactos de software, pero ignorar los avisos de caducidad de los certificados.  Continuar con las descargas sin confirmar que los certificados son válidos. 
+  Validar los certificados de los sitios web de los proveedores, pero no verificar criptográficamente los artefactos descargados de estos sitios web. 
+  Confiar únicamente en resúmenes o hashes para validar la integridad del software.  Los hashes establecen que los artefactos no se han modificado con respecto a la versión original, pero no validan su fuente. 
+  No firmar su propio software, código o bibliotecas, aunque solo los utilice en sus propias implementaciones.  

 **Beneficios de establecer esta práctica recomendada:** la validación de la integridad de los artefactos de los que depende su carga de trabajo ayuda a evitar que el malware acceda a sus entornos de computación.  La firma de su software ayuda a protegerse contra la ejecución no autorizada en sus entornos informáticos.   Proteja su cadena de suministro de software mediante la firma y verificación del código. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Las imágenes del sistema operativo, las imágenes de contenedores y los artefactos de código suelen distribuirse con comprobaciones de integridad disponibles, por ejemplo, mediante un resumen o un hash.  Esto permite a los clientes verificar la integridad calculando su propio hash de la carga útil y validando que sea el mismo que el publicado.  Si bien estas comprobaciones ayudan a verificar que la carga útil no se ha manipulado, no validan que provenga de la fuente original (su *procedencia*).  La verificación de la procedencia requiere un certificado emitido por una autoridad de confianza para firmar digitalmente el artefacto. 

 Si utiliza un software o artefactos descargados en su carga de trabajo, compruebe si el proveedor proporciona una clave pública para la verificación de la firma digital.  Estos son algunos ejemplos de cómo AWS proporciona una clave pública e instrucciones de verificación para el software que publicamos: 
+  [EC2 Image Builder: Verify the signature of the AWSTOE installation download](https://docs.aws.amazon.com/imagebuilder/latest/userguide/awstoe-verify-sig.html) 
+  [AWS Systems Manager: Verifying the signature of SSM Agent](https://docs.aws.amazon.com/systems-manager/latest/userguide/verify-agent-signature.html) 
+  [Amazon CloudWatch: Verifying the signature of the CloudWatch agent package](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/verify-CloudWatch-Agent-Package-Signature.html) 

 Incorpore la verificación de firmas digitales en los procesos que utilice para obtener y reforzar las imágenes, como se explica en [SEC06-BP02 Aprovisionamiento de computación a partir de imágenes reforzadas](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_hardened_images.html). 

 Puede usar [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html) para administrar la verificación de firmas, así como su propio ciclo de vida de firma de código para su propio software y artefactos.  Tanto [AWS Lambda](https://aws.amazon.com/lambda/) como [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) proporcionan integraciones con Signer para verificar las firmas de su código y sus imágenes.  Con los ejemplos de la sección Recursos, puede incorporar Signer a sus procesos de integración y entrega continuas (CI/CD) para automatizar la verificación de las firmas y la firma de su propio código e imágenes. 

## Recursos
<a name="resources"></a>

 **Documentos relacionados:** 
+  [Cryptographic Signing for Containers](https://aws.amazon.com/blogs/containers/cryptographic-signing-for-containers/) 
+  [Best Practices to help secure your container image build pipeline by using AWS Signer](https://aws.amazon.com/blogs/security/best-practices-to-help-secure-your-container-image-build-pipeline-by-using-aws-signer/) 
+  [Announcing Container Image Signing with AWS Signer and Amazon EKS](https://aws.amazon.com/blogs/containers/announcing-container-image-signing-with-aws-signer-and-amazon-eks/) 
+  [Configuring code signing for AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) 
+  [Best practices and advanced patterns for Lambda code signing](https://aws.amazon.com/blogs/security/best-practices-and-advanced-patterns-for-lambda-code-signing/) 
+  [Code signing using AWS Certificate Manager Private CA and AWS Key Management Service asymmetric keys](https://aws.amazon.com/blogs/security/code-signing-aws-certificate-manager-private-ca-aws-key-management-service-asymmetric-keys/) 

 **Ejemplos relacionados:** 
+  [Automate Lambda code signing with Amazon CodeCatalyst and AWS Signer](https://aws.amazon.com/blogs/devops/automate-lambda-code-signing-with-amazon-codecatalyst-and-aws-signer/) 
+  [Signing and Validating OCI Artifacts with AWS Signer](https://aws.amazon.com/blogs/containers/signing-and-validating-oci-artifacts-with-aws-signer/) 

 **Herramientas relacionadas:** 
+  [AWS Lambda](https://aws.amazon.com/lambda/) 
+  [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html) 
+  [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) 
+  [AWS Key Management Service](https://aws.amazon.com/kms/) 
+  [AWS CodeArtifact](https://aws.amazon.com/codeartifact/) 

# SEC06-BP05 Automatización de la protección de computación
<a name="sec_protect_compute_auto_protection"></a>

 Automatice las operaciones de protección de computación para reducir la necesidad de intervención humana. Utilice el análisis automatizado para detectar posibles problemas en sus recursos de computación y use respuestas programáticas automatizadas u operaciones de administración de flotas para solucionarlos.  Incorpore la automatización en sus procesos de CI/CD para implementar cargas de trabajo fiables con dependencias actualizadas. 

 **Resultado deseado:** los sistemas automatizados llevan a cabo todos los escaneos y parches de los recursos de computación. Use la verificación automática para comprobar que las imágenes y dependencias del software provengan de orígenes fiables y que no se hayan manipulado. Las cargas de trabajo se comprueban automáticamente para determinar si las dependencias están actualizadas y se firman para establecer la fiabilidad en los entornos de computación de AWS.  Las correcciones automatizadas se inician cuando se detectan recursos no conformes con los requisitos.  

 **Patrones comunes de uso no recomendados:** 
+  Seguir la práctica de una infraestructura inmutable sin contar con una solución para la instalación de parches de emergencia o la sustitución de sistemas de producción. 
+  Usar la automatización para corregir los recursos mal configurados sin contar con un mecanismo de anulación manual.  Es posible que surjan situaciones en las que necesite ajustar los requisitos y tenga que suspender las automatizaciones hasta haber hecho estos cambios. 

 **Beneficios de establecer esta práctica recomendada:** la automatización puede reducir el riesgo de accesos y usos no autorizados de sus recursos de computación.  Ayuda a evitar que lleguen configuraciones incorrectas a los entornos de producción y a detectarla y corregirlas en caso de que se produzcan.  La automatización también contribuye a detectar el acceso y el uso no autorizados de los recursos informáticos para reducir el tiempo de respuesta.  Esto, a su vez, puede reducir el alcance general del impacto del problema. 

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

## Guía para la implementación
<a name="implementation-guidance"></a>

 Puede aplicar las automatizaciones descritas en las prácticas del pilar de seguridad para proteger sus recursos de computación. En [SEC06-BP01 Administración de las vulnerabilidades](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_vulnerability_management.html) se describe cómo puede utilizar [Amazon Inspector](https://aws.amazon.com/inspector/) tanto en sus canalizaciones de CI/CD como para analizar continuamente sus entornos en tiempo de ejecución en busca de vulnerabilidades y exposiciones comunes (CVE) conocidas.  Puede usar [AWS Systems Manager](https://aws.amazon.com/systems-manager/) para aplicar parches o volver a implementar imágenes nuevas mediante manuales de procedimientos automatizados para mantener su flota de computación actualizada con el software y las bibliotecas más recientes.  Utilice estas técnicas para reducir la necesidad de recurrir a procesos manuales y el acceso interactivo a sus recursos informáticos.  Consulte [SEC06-BP03 Reducción de la administración manual y el acceso interactivo](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_reduce_manual_management.html) para obtener más información. 

 La automatización también desempeña un papel en la implementación de cargas de trabajo confiables, tal como se describe en [SEC06-BP02 Aprovisionamiento de computación a partir de imágenes reforzadas](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_hardened_images.html) y [SEC06-BP04 Validación de la integridad del software](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_validate_software_integrity.html).  Puede usar servicios como el [Generador de imágenes de EC2](https://aws.amazon.com/image-builder/), [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html), [AWS CodeArtifact](https://aws.amazon.com/codeartifact/) y [Amazon Elastic Container Registry (ECR)](https://aws.amazon.com/ecr/) para descargar, verificar, construir y almacenar dependencias de código e imágenes reforzadas y aprobadas.   Junto con Inspector, cada uno de estos elementos puede desempeñar un papel en su proceso de CI/CD, de modo que su carga de trabajo llegue al entorno de producción solo cuando se confirme que sus dependencias están actualizadas y provienen de orígenes fiables.  La carga de trabajo también está firmada para que los entornos de computación de AWS, como [AWS Lambda](https://aws.amazon.com/lambda/) y [Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/), puedan verificar que no se ha manipulado antes de permitir su ejecución. 

 Además de estos controles preventivos, también puede utilizar la automatización en sus controles de detección para sus recursos de computación.  Por ejemplo, [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/) ofrece el estándar [NIST 800-53 Rev. 5](https://docs.aws.amazon.com/securityhub/latest/userguide/nist-standard.html), que incluye comprobaciones como esta: [[EC2.8] las instancias de EC2 deben usar la versión 2 del servicio de metadatos de instancia (IMDSv2)](https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html#ec2-8).  El IMDSv2 utiliza técnicas de autenticación de sesión y bloquea las solicitudes que contienen un encabezado HTTP X-Forwarded-For y un TTL de red de 1 para detener el tráfico que se origina en fuentes externas para recuperar información sobre la instancia de EC2. Esta comprobación en Security Hub CSPM puede detectar si las instancias de EC2 utilizan IMDSv1 e iniciar una corrección automatizada. Obtenga más información sobre la detección y las correcciones automatizadas en [SEC04-BP04 Inicio de correcciones para recursos no conformes](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_detect_investigate_events_noncompliant_resources.html). 

### Pasos para la implementación
<a name="implementation-steps"></a>

1.  Automatice la creación de AMI seguras, compatibles y reforzadas con el [Generador de imágenes de EC2](https://docs.aws.amazon.com/imagebuilder/latest/userguide/integ-compliance-products.html).  Puede producir imágenes que incorporen los controles de los estándares comparativos del Center for Internet Security (CIS) o de la Security Technical Implementation Guide (STIG) a partir de imágenes base de AWS e imágenes de socios de APN. 

1.  Automatice la administración de la configuración. Aplique y valide configuraciones seguras en sus recursos de computación de forma automática mediante el uso de un servicio o herramienta de gestión de configuraciones.  

   1.  Administración automatizada de la configuración con [AWS Config](https://aws.amazon.com/config/) 

   1.  Administración automatizada de la posición de seguridad y cumplimiento mediante [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/) 

1.  Automatice la aplicación de parches o el reemplazo de instancias de Amazon Elastic Compute Cloud (Amazon EC2). AWS Systems Manager Patch Manager automatiza el proceso de aplicación de parches a instancias administradas con actualizaciones de seguridad y de otro tipo. Puede utilizar Patch Manager para aplicar parches a los sistemas operativos y a las aplicaciones. 

   1.  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 

1.  Automatice el análisis de los recursos de computación en busca de vulnerabilidades y exposiciones comunes (CVE) e incorpore soluciones de análisis de seguridad en su proceso de desarrollo. 

   1.  [Amazon Inspector](https://aws.amazon.com/inspector/) 

   1.  [ECR Image Scanning](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) 

1.  Plantéese el uso de Amazon GuardDuty para detectar amenazas y malware de forma automática con el fin de proteger los recursos de computación. GuardDuty también puede identificar posibles problemas cuando se invoca una función de [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) en su entorno de AWS.  

   1.  [Amazon GuardDuty](https://aws.amazon.com/guardduty/) 

1.  Tenga en cuenta las soluciones de socios de AWS. AWS Los socios ofrecen cientos de productos destacados que son equivalentes o idénticos a los controles que ya utiliza en sus entornos en las instalaciones o que pueden integrarse con ellos. Estos productos complementan a los servicios de AWS existentes y le permiten implementar una arquitectura de seguridad integral, así como disfrutar de una experiencia más fluida tanto en la nube como en los entornos en las instalaciones. 

   1.  [Seguridad de la infraestructura](https://aws.amazon.com/security/partner-solutions/#infrastructure_security) 

## Recursos
<a name="resources"></a>

 **Prácticas recomendadas relacionadas:** 
+  [SEC01-BP06 Automatización de la implementación de controles de seguridad estándares](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_securely_operate_automate_security_controls.html) 

 **Documentos relacionados:** 
+  [Get the full benefits of IMDSv2 and disable IMDSv1 across your AWS infrastructure](https://aws.amazon.com/blogs/security/get-the-full-benefits-of-imdsv2-and-disable-imdsv1-across-your-aws-infrastructure/) 

 **Videos relacionados:** 
+  [Security best practices for the Amazon EC2 instance metadata service](https://youtu.be/2B5bhZzayjI) 