SEC06-BP01 Administrar las vulnerabilidades
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: crear y mantener un programa de administración de vulnerabilidades. Analice periódicamente recursos como las instancias de Amazon EC2, los contenedores de Amazon Elastic Container Service (Amazon ECS) y las cargas de trabajo de Amazon Elastic Kubernetes Service (Amazon EKS) y aplique parches en ellos. Configure periodos de mantenimiento para los recursos administrados por AWS, como las bases de datos de Amazon Relational Database Service (Amazon RDS). Utilice el análisis de código estático para inspeccionar el código fuente de las aplicaciones en busca de problemas comunes. Considere la posibilidad de realizar pruebas de penetración en aplicaciones web si su organización cuenta con los conocimientos necesarios o puede contratar ayuda externa.
Antipatrones usuales:
-
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.
-
Desplegar código en producción antes de analizarlo en busca de problemas de seguridad.
Beneficios de establecer esta práctica recomendada:
Nivel de riesgo expuesto si no se establece esta práctica recomendada: alto
Guía para la implementación
Un programa de administración de vulnerabilidades incluye la evaluación de la seguridad, la identificación de problemas, el establecimiento de prioridades y la aplicación de parches como parte de la resolución de los problemas. La automatización es la clave para analizar continuamente las cargas de trabajo en busca de problemas y exposiciones no intencionadas a la red y para realizar correcciones. La automatización de la creación y actualización de recursos ahorra tiempo y reduce el riesgo de que los errores de configuración den lugar a más problemas. En un programa de administración de vulnerabilidades bien diseñado, también se debería considerar la realización de pruebas de vulnerabilidad durante las fases de desarrollo y despliegue del ciclo de vida del software. Implementar la administración de vulnerabilidades durante el desarrollo y el despliegue ayuda a disminuir la posibilidad de que una vulnerabilidad pueda abrirse camino en su entorno de producción.
Para implementar un programa de administración de vulnerabilidades, es necesario conocer bien el modelo de responsabilidad compartida de AWS
AWS dispone de numerosos servicios para ayudarle con su programa de administración de vulnerabilidades. Amazon Inspector analiza continuamente las cargas de trabajo de AWS en busca de problemas de software y accesos no intencionados a la red. AWS Systems Manager Patch Manager ayuda a administrar la aplicación de parches en todas sus instancias de Amazon EC2. Amazon Inspector y Systems Manager pueden consultarse en AWS Security Hub, un servicio de administración de la postura de seguridad en la nube que ayuda a automatizar las comprobaciones de seguridad de AWS y a centralizar las alertas de seguridad.
Amazon CodeGuru puede ayudar a identificar posibles problemas en las aplicaciones Java y Python mediante el análisis estático del código.
Pasos para la implementación
-
Configure Amazon Inspector: Amazon Inspector detecta automáticamente las instancias de Amazon EC2 recién lanzadas, las funciones Lambda y las imágenes de contenedor elegibles que se envían a Amazon ECR y las analiza inmediatamente en busca de problemas del software, defectos potenciales y una exposición no intencionada a la red.
-
Analice el código fuente: analice bibliotecas y dependencias en busca de problemas y defectos. Amazon CodeGuru puede analizar y proporcionar recomendaciones para corregir problemas de seguridad comunes tanto para aplicaciones Java como Python. La Fundación OWASP
publica una lista de herramientas de análisis del código fuente (también conocidas como herramientas SAST). -
Implemente un mecanismo para analizar y aplicar parches en su entorno existente, así como para incluir el análisis como parte de un proceso de desarrollo de la canalización CI/CD: implemente un mecanismo para analizar y aplicar parches para solucionar los problemas en sus dependencias y sistemas operativos y protegerse contra nuevas amenazas. Haga que ese mecanismo se ejecute de forma regular. La administración de vulnerabilidades de software es esencial para saber dónde hay que aplicar parches o solucionar problemas del software. Dé prioridad a la corrección de los posibles problemas de seguridad incorporando evaluaciones de vulnerabilidad en una fase temprana de la canalización de la integración continua y entrega continua (CI/CD). Su enfoque puede variar en función de los servicios de AWS que consuma. Para buscar posibles problemas en el software que se ejecuta en instancias de Amazon EC2, añada Amazon Inspector
a su canalización para que le avise y detenga el proceso de desarrollo si se detectan problemas o posibles defectos. Amazon Inspector supervisa continuamente los recursos. También puede utilizar productos de código abierto como OWASP Dependency-Check , Snyk , OpenVAS , administradores de paquetes y herramientas de AWS Partner para la administración de vulnerabilidades. -
Utilice AWS Systems Manager: usted es el responsable de la administración de parches en sus recursos de AWS, incluidas las instancias de Amazon Elastic Compute Cloud (Amazon EC2), las imágenes de máquina de Amazon (AMI) y otros recursos de computación. AWS Systems Manager Patch Manager automatiza el proceso de aplicación de parches a instancias administradas con actualizaciones de seguridad y de otro tipo. Patch Manager puede utilizarse para aplicar parches en instancias de Amazon EC2 tanto para sistemas operativos como para aplicaciones, incluidas aplicaciones de Microsoft, paquetes de servicios de Windows y actualizaciones de versiones secundarias para instancias basadas en Linux. Además de Amazon EC2, Patch Manager también puede utilizarse para aplicar parches en servidores locales.
Para obtener una lista de los sistemas operativos compatibles, consulte Sistemas operativos compatibles en la Guía del usuario de Systems Manager. Puede analizar instancias para ver solamente un informe de los parches que faltan, o puede analizar e instalar automáticamente todos los parches que falten.
-
Utilice AWS Security Hub: Security Hub proporciona una vista completa de su estado de seguridad en AWS. Recopila datos de seguridad en múltiples servicios de AWS y proporciona esos hallazgos en un formato estandarizado, que le permite priorizar los hallazgos de seguridad en todos los servicios de AWS.
-
Utilice AWS CloudFormation
: AWS CloudFormation es un servicio de infraestructura como código (IaC) que puede ayudarle a administrar las vulnerabilidades mediante la automatización del despliegue de recursos y la estandarización de la arquitectura de los recursos en diversas cuentas y entornos.
Recursos
Documentos relacionados:
-
Security Overview of AWS Lambda
(Información general de seguridad de AWS Lambda) -
Improved, Automated Vulnerability Management for Cloud Workloads with a New Amazon Inspector
(Administración de vulnerabilidades mejorada y automatizada para cargas de trabajo en la nube con un nuevo Amazon Inspector) -
Automate vulnerability management and remediation in AWS using Amazon Inspector and AWS Systems Manager – Part 1
(Automatice la administración y corrección de vulnerabilidades en AWS mediante Amazon Inspector y AWS Systems Manager - Primera parte)
Vídeos relacionados:
-
Securing Serverless and Container Services
(Protección de servicios de contenedor y sin servidor) -
Security best practices for the Amazon EC2 instance metadata service
(Prácticas recomendadas de seguridad para el servicio de metadatos de instancias de Amazon EC2)