La seguridad en AWS no es solo una cuestión de implementar políticas, sino de comprender cómo estas interactúan entre sí y cómo pueden proteger efectivamente a tu organización. La gestión centralizada de cuentas, la simulación de políticas y el manejo adecuado de secretos son aspectos fundamentales para mantener un entorno seguro en la nube. Veamos cómo Nexia Bank implementa estas prácticas para asegurar sus recursos en AWS.
¿Cómo probar políticas de seguridad antes de implementarlas en AWS?
Cuando trabajamos con AWS, es fundamental verificar nuestras políticas antes de implementarlas en producción. AWS ofrece una herramienta específica para esto: Policy Simulator.
Esta herramienta, ubicada en el módulo IAM, permite probar políticas para determinar qué acciones y servicios permitirán una vez implementadas. Por ejemplo, si hubiéramos usado Policy Simulator con la política mencionada en clases anteriores (donde un usuario pasante pudo cambiar la contraseña del usuario admin), habríamos detectado el error antes de implementarla.
Policy Simulator es extremadamente útil para:
Verificar los permisos que una política otorgará
Detectar posibles brechas de seguridad
Comprensión más clara sobre el alcance de cada política
Evitar errores de configuración que podrían causar vulnerabilidades
¿Qué es la gestión centralizada en AWS y cómo implementarla?
AWS nos permite implementar una estrategia de gestión centralizada mediante la creación de diferentes cuentas para distintos casos de uso. Esta separación es una buena práctica para prevenir solapamientos y mantener un control más estricto sobre recursos y gastos.
¿Qué herramientas ofrece AWS para la gestión de múltiples cuentas?
AWS proporciona varias herramientas para administrar múltiples cuentas:
AWS Organizations: Permite organizar diferentes cuentas en unidades organizacionales
SCPs (Service Control Policies): Políticas aplicables a toda la organización
AWS Control Tower: Facilita la gestión centralizada de múltiples cuentas
¿Cómo funciona AWS Organizations?
AWS Organizations se basa en tres conceptos fundamentales:
Cuentas miembro
Unidades organizativas
Raíz de la organización
La estructura jerárquica comienza con la raíz de la organización, que es la cuenta principal. Desde allí se desprenden las demás cuentas y unidades organizativas. Esta cuenta raíz puede definir políticas aplicables a toda la organización, como la obligatoriedad del 2FA, y centralizar la facturación para todas las cuentas subordinadas.
Para configurar AWS Organizations:
1.Buscar"organizations" en la barra de búsqueda de AWS2.Seleccionar"Create organization"3.Se creará automáticamente la organización con la cuenta actual como raíz
4.Para agregar cuentas, seleccionar "Add AWS account"
Las políticas SCP (Service Control Policies) utilizan la misma sintaxis que las políticas IAM tradicionales, con statements, efectos, recursos y acciones. Estas políticas se aplican a unidades organizativas, cuentas o a la raíz, y se propagan hacia las cuentas subordinadas.
¿Qué ventajas ofrece AWS Control Tower?
AWS Control Tower complementa Organizations al proporcionar:
Definición de políticas centrales aplicables a todas las cuentas
Detección de desviaciones de políticas
Creación de una "landing zone" para que nuevas cuentas vengan preconfiguradas
Mayor facilidad en la gestión centralizada
Para configurar Control Tower:
1.Buscar"Control Tower" en la barra de búsqueda
2.Crear una landing zone
3.Configurar unidades organizacionales
4.Definir cuentas para logs, auditorías y otros propósitos
¿Cómo gestionar secretos y credenciales en AWS?
Mantener seguros los secretos y credenciales es fundamental para cualquier organización. AWS ofrece dos servicios principales para este propósito.
¿Qué es AWS Secrets Manager y cómo usarlo?
Secrets Manager permite guardar, de forma segura y encriptada, secretos y credenciales, además de actualizarlos y rotarlos automáticamente.
Para crear un secreto en Secrets Manager:
1.Acceder a SecretsManager2.Seleccionar"Create secret"3.Ingresar las credenciales o información a guardar
4.Seleccionar la llave de encripción(predeterminada o personalizada)5.Asignar un nombre al secreto
6.Configurar rotación automática(si se desea)7.Revisar y almacenar
Una característica destacada es la rotación automática que se puede configurar con una frecuencia definida (por ejemplo, mensualmente) y una función Lambda que actualice el secreto según las políticas establecidas.
¿Cuál es la diferencia entre Secrets Manager y Parameter Store?
Parameter Store es un servicio más simple que forma parte de AWS Systems Manager. Permite guardar valores, incluidos secretos, pero con menos funcionalidades que Secrets Manager.
Las principales diferencias son:
Parameter Store no ofrece rotación automática de secretos
Es más económico que Secrets Manager
Es ideal para valores que no requieren rotación frecuente
Para crear un parámetro en Parameter Store:
1.Acceder a SystemsManager2.SeleccionarParameterStore en la barra lateral
3.Elegir"Create parameter"4.Asignar un nombre, seleccionar el tipo(estándar o avanzado)5.Definir el tipo de dato(string, lista o secure string)6.Ingresar el valor y guardar
¿Cómo mejorar las políticas con condiciones?
Para agregar una capa adicional de seguridad, podemos incluir condiciones en nuestras políticas IAM. Estas condiciones permiten restringir acciones basadas en parámetros específicos:
Restricción por IP: Permitir acciones solo desde rangos de IP específicos
Autenticación MFA: Requerir que el usuario tenga 2FA/MFA activo
Restricción horaria: Limitar acciones a horarios laborales específicos
Por ejemplo, una política puede permitir consultar archivos en S3 solo entre las 9:00 AM y 5:00 PM, bloqueando el acceso fuera del horario laboral.
Estas condiciones hacen que nuestras políticas sean más robustas y adaptadas a las necesidades específicas de seguridad de la organización.
La implementación de estas prácticas de seguridad es fundamental para proteger los recursos en AWS. Desde la simulación de políticas hasta la gestión centralizada y el manejo adecuado de secretos, cada componente juega un papel crucial en la estrategia de seguridad de una organización. Te invitamos a reflexionar sobre cómo podrías implementar estas prácticas en tu propio entorno AWS y compartir tus ideas sobre condiciones de seguridad que podrían beneficiar a tu organización.
Secret Manager y Parameter Store son servicios de AWS para gestionar secretos y parámetros:
Secret Manager: Diseñado para almacenar y gestionar secretos, permite rotación automática de credenciales utilizando AWS Lambda. Es ideal para datos sensibles como contraseñas y claves API.
Parameter Store: Parte de AWS Systems Manager, se utiliza para almacenar configuraciones y parámetros. Es más adecuado para datos no sensibles y no ofrece rotación automática de credenciales.
Ambos sirven para mejorar la seguridad y gestión de configuraciones, pero su uso depende de la sensibilidad de los datos y necesidades de rotación.
Me confundí un poco con la clase, pero en resumen AWS Organizations sirve para administrar varias cuentas de AWS desde un solo lugar, aplicando controles de seguridad, políticas y facturación centralizada.
Permite crear unidades organizacionales (OU), agrupar cuentas por entorno (dev, test, prod) y usar Service Control Policies (SCPs) para limitar qué servicios se pueden usar.
<u>OJO: Los SCPs sólo restringen, NO otorga permisos</u>
También ayuda con la facturación consolidada, los descuentos por volumen y el cumplimiento de políticas de gobernanza en toda la empresa.
Gestión centralizada en AWS: es la capacidad de poder manejar múltiples cuentas dentro de AWS.
Se pueden tomar distintos criterios de uso, por ejemplo:
Áreas organizacionales: finanzas - desarrollo - gerencia
Ambientes: producción - staging - test
Existen 3 tipos de opciones para manejar este tipo de organizaciones:
Organizations: permite gestionar múltiples cuentas de AWS.
SCPs (Service Control Policies): son políticas a nivel organizacional. Se busca limitar qué pueden hacer.
Control Tower: servicio para automatizar la creación de un entorno multi-cuenta seguro.
AWS Organizations:
Cuentas miembro, unidades organizativas y raíz de la organización.
La estructura jerárquica comienza en la raíz de la organización y de allí se desprenden las cuentas miembro y/o las unidades organizativas.
Desde la cuenta raíz podemos definir políticas a toda la organización.
Política SCP:
Se declaran con statements, effects, resources y actions.
Se pueden aplicar a unidades organizativas, cuentas o a la raíz.
Luego de ser aplicadas, se propagan a las subordinadas.
AWS Control Tower:
No reemplaza a AWS Organizations, sino que lo complementa.
Lo complementa automatizando políticas centrales en todas las cuentas.
Detecta desviaciones de políticas.
Creación de una “landing zone” para acelerar la creación de nuevas cuentas preconfiguradas.
Aumenta el uso de buenas prácticas y guardrails.
Para la gestión de secretos y credenciales, existen dos recursos en AWS:
AWS Secrets Manager
Nos permite guardar secretos y credenciales de forma segura y encriptada; además, podemos actualizarlos y rotarlos automáticamente.
Para hacer la rotación automática, se utiliza una función Lambda que lo hace bajo las políticas y características que deseemos.
Secrets Manager -> "Create Secret" -> Ingresar credencial o información -> Seleccionar llave de encriptación -> Asignar “nombre” al llavero -> Rotación automática (si aplica)
AWS Systems Manager (Parameter Store)
Parameter Store es un servicio que nos permite guardar valores, que pueden ser secretos, pero con menos funcionalidades que AWS Secrets Manager.
Es económico en comparación con AWS Secrets Manager.
No permite la rotación automática de secretos.
Systems Manager -> Parameter Store -> "Create parameter" -> Asignamos nombre, tipo y valor.
Mejoras para políticas con condiciones:
Restricción por IP
Autenticación MFA
Restricción horaria
En mi caso tenemos una política sobre KMS para encriptación de datos