Blog de Amazon Web Services (AWS)
Mejora fácilmente la postura de seguridad con la solución minimum security baseline
Por: Heriberto Lechuga, arquitecto de soluciones en Amazon Web Services (AWS) y Luis Quintero, arquitecto de seguridad en nube en AWS.
La seguridad es una prioridad para todas las organizaciones sin importar el tamaño. Cuando no se tienen los conocimientos o los recursos, a este tema se le puede dedicar poco tiempo y atención. AWS es responsable de la seguridad de la nube y los clientes son responsables de la seguridad dentro de la nube. Los servicios de AWS están diseñados para ser seguros y puedes llegar a cumplir estándares y normas internacionales como Center for Internet Security (CIS) o National Institute of Standards and Technologies (NIST) con la configuración correcta, como parte de la seguridad dentro de la nube.
Este blog te muestra cómo mejorar tu postura de seguridad en menos de 15 minutos, sin tener impacto en las cargas productivas y siguiendo los lineamientos de expertos en ciberseguridad. Esta solución te habilita para superar el 40% de los controles de referencia CIS (CIS AWS Foundations Benchmark), los recursos utilizados cumplen con los requerimientos expresados en los controles del estándar AWS Foundational Security Best Practices, puedes mejorar aun siguiendo las recomendaciones en la sección Siguientes Pasos.
Con esta solución podrás detectar actividad sospechosa en tu cuenta AWS y recibir notificaciones a un correo electrónico cuando esta actividad se clasifique con severidad Media y Alta, por ejemplo, (ejemplos de GuardDuty). De igual manera, evitarás que alguien borre registros de actividad sospechosa, clasificarás información sensible como la información personal identificable entre otras.
Las mejores prácticas de seguridad nos indican lo siguiente:
- Asegurar la cuenta de correo electrónico asociada a tu cuenta AWS
- Asignar contactos principales y alternos a tu cuenta AWS
- Crear usuarios para administración y lectura
- Utilizar autenticación de factor múltiple
- Monitorear la actividad en tu cuenta y de tus recursos
- Registrar o documentar tus recursos y su configuración
- Evaluar los recursos contra la configuración deseada
- Detectar actividad maliciosa en la cuenta y recibir notificaciones
- Detectar accesos no autorizados a los recursos
- Evaluar los recursos contra las mejores prácticas de seguridad, generar alertas y corregir los problemas
- Detectar y proteger los datos sensibles
- Colocar controles para monitorear la postura de seguridad
- Proteger tus datos confidenciales con llaves de encripción (para encriptar, cifrar)
La solución de seguridad te ayudará con estas recomendaciones, al habilitar los siguientes servicios: IAM Access Analyzer para analizar tu actividad de acceso en CloudTrail y generar políticas con los permisos correctos; AWS CloudTrail para monitorear y registrar la actividad en tu infraestructura de AWS, de los usuarios e identificar incidentes de seguridad; AWS CloudWatch para recolectar datos de monitoreo y operacionales en forma de registros, métricas o eventos; AWS Config para evaluar, auditar y revisar las configuraciones de tus recursos AWS; Amazon GuardDuty para el monitoreo continuo de amenazas en las cuentas y las cargas de trabajo buscando actividad maliciosa y entregando hallazgos detallados para su remediación; AWS Security Hub para automatizar la revisión de mejores prácticas, concentrar alarmas y ejecutar remediación automática; AWS Key Management Service para crear y administrar llaves criptográficas que encriptan los registros de auditoria; Amazon Macie para la seguridad y privacidad de los datos a través de la búsqueda y protección de datos sensibles en AWS y Amazon Simple Notification Service para enviar notificaciones a los usuarios de los hallazgos encontrados.
Arquitectura de la Solución
Figura 1. Arquitectura
La figura anterior muestra la arquitectura de la solución de seguridad. Los registros de CloudTrail y CloudWatch son encriptados con una llave de Key Management Service y almacenados en buckets. Todos los eventos de seguridad son concentrados en Security Hub y aquellos hallazgos con un nivel medio y alto son enviados por medio de Simple Notification Service vía correo electrónico, a los administradores. Access Analyzer y Config son habilitados para registrar los permisos de usuarios y los recursos activos en la cuenta. Macie analizará los buckets para clasificar la información existente.
Prerrequisitos y consideraciones
Esta solución considera que no se hayan habilitado previamente, los servicios AWS Config, AWS Guarduty y AWS Security Hub. Puedes modificar manualmente las plantillas para no desplegar aquellos servicios que ya estén habilitados en tu cuenta.
Despliegue
Primero hay que descargar las plantillas ubicadas en la liga: https://github.com/aws-samples/minimum-security-baseline
Entrar a la consola de AWS. Ir al servicio S3 y crear un bucket con un nombre único. Por ejemplo: bucket-minimum-security-baseline-[4 dígitos de cuenta AWS].
Subir las plantillas descargadas al bucket.
Entrar al objeto plantilla-raiz.yml y copiar el URL del objeto. Esta liga la vamos a usar para desplegar la pila de las plantillas.
El siguiente paso es ir al servicio de CloudFormation y crear una nueva pila usando la opción “La plantilla está lista”.
Seleccionar como origen de la plantilla, URL de Amazon S3 y en el recuadro pegar la URL del objeto plantilla-raiz.yml que copiamos en el paso anterior.
Escribir un nombre para la pila y completar los tres parámetros:
- Asignar un nombre o abreviatura de la cuenta.
- Poner el nombre del bucket que contiene las plantillas de seguridad.
- Poner un correo o un alias de grupo para recibir las notificaciones de los hallazgos de seguridad.
Hay que aceptar los dos requerimientos y presionar el botón de Crear Pila.
La solución incluye 9 plantillas. La plantilla de seguridad raiz es la primera y esta despliega a las demás.
La plantilla llaves.yml para crear llaves de encripción de los logs. La plantilla buckets-seguridad.yml despliega buckets para almacenar los logs encriptados en un bucket privado. La plantilla seguridad.yml habilita los servicios AWS Config, AWS CloudTrail de forma predeterminada y usa la sección de parámetros Detección de Incidencias para habilitar GuardDuty, Macie y SecurityHub si es que no han sido activados previamente. La plantilla parámetros.yml captura el nombre de la cuenta y el correo para la notificaciones y los usa como parámetros en el resto de las plantillas. La plantilla iam-security-policy.yml define los parámetros de las contraseñas de los usuarios. La plantilla cis-dashboard.yml y cis-alerts.yml contruyen un dashboard y las alertas de acuerdo al framework de seguridad CIS. Finalmente, la plantilla notificaciones.yml crea una regla en AWS events que envia notificaciones a una cuenta de correo electrónico en caso de detección de incidencias con severidad media o alta. Al finalizar, hay que confirmar en la cuenta de correo electrónico la subscripción al tópico SNS para recibir las notificaciones.
La solución de seguridad fue diseñada de forma modular como un mínimo baseline, de forma que se pueden agregar más plantillas conforme a las necesidades de cada organización. Esta solución funciona para cuentas independientes. Puedes ejecutar la solución en cada una de tus cuentas. Si requieres una solución que integre a varias cuentas en una sola organización con un modelo de gobierno, te recomendamos analizar la solución de Landing Zone.
Siguientes Pasos
Ya que tienes habilitada la solución de seguridad, ahora tienes visibilidad de tus recursos y su seguridad. Lo siguiente es revisar los hallazgos en Security Hub, en Macie y en Config y resolver las recomendaciones que hagan sentido de acuerdo a tus cargas de trabajo.
Cada uno de estos servicios te indicará las reglas que no están siendo cumplidas y como resolverlas. Antes de atender las recomendaciones revisa el potencial impacto en tus cargas productivas y en potenciales costos adicionales.
Figura 2. Panel de hallazgos en Security Hub
Figura 3. Panel de hallazgos en Macie
Figura 4. Panel de hallazgos y conformidad en Config
El costo de esta solución está en función de la cantidad de operaciones por los usuarios de la cuenta AWS y del tráfico que pueda llegar a la cuenta. Los servicios IAM Access Analyzer y AWS CloudWatch no tienen costo. Los servicios AWS CloudTrail, Amazon GuardDuty, AWS Security Hub, AWS Key Management Service y Amazon Macie tienen un periodo de prueba sin costo. Una cuenta con poco tráfico y operaciones puede tener un costo mensual entre $10 y $15 USD. Para hacer una estimación más precisa te recomendamos usar la calculadora AWS: https://calculator.aws/
Conclusión
En este blog, aprendiste a usar una solución con un baseline mínimo de seguridad, la cual permite a las organizaciones mejorar la postura de seguridad de forma rápida, con servicios de seguridad AWS y alineado hasta en un 40% con los controles del Center for Internet Security (CIS) a nivel internacional. Considera esta solución como tu punto de partida. Los servicios AWS te indicarán que siguientes pasos tomar de acuerdo a los hallazgos indicados. Finalmente, considera analizar cada una de tus cargas de trabajo y el nivel de seguridad que requieren. Puedes usar el Well Architected Tool disponible desde la consola AWS como herramienta para hacer tu análisis.
Sobre los autores
Heriberto Lechuga es un Arquitecto de Soluciones con más de 20 años de experiencia en Tecnologías de Información y Contact Centers. Actualmente ayuda a clientes sin fines de lucro y sociedades financieras en los ciclos iniciales de adopción de la nube y en acelerar su viaje en AWS usando la tecnología como una palanca para la innovación y el éxito en sus instituciones.
Luis Quintero es un arquitecto de seguridad en nube con base en Ciudad de México y forma parte del equipo de servicios profesionales para sector público. Para él la preparación es fundamental para la seguridad de nube, pone enfásis en habilitar a los equipos de seguridad, el establecer controles de detección, preventivos y respuesta automática a incidentes y la constante evaluación de la postura de seguridad. Luis cuenta con más de 20 años de experiencia en seguridad de cómputo, infraestructura, redes y en programas de seguridad. Ha participado y liderado proyectos en organizaciones del sector financiero, salud y gobierno. En su tiempo libre Luis disfruta pasar tiempo con su familia y tocar guitarra.