Políticas y configuraciones iniciales que deberán aplicarse en los servicios de secretos, KMS, WAF, logging, trazabilidad y control de acceso a la cuenta para garantizar la confidencialidad, integridad y disponibilidad de la información.
Política de Secretos (AWS Secrets Manager)
Gestión centralizada: Todos los secretos (contraseñas, tokens, credenciales de base de datos, llaves API) deben almacenarse en AWS Secrets Manager.
Rotación automática: Configurar rotación automática cada 90 días (o antes, según criticidad).
Principio de mínimo privilegio: Solo los roles y servicios que requieran acceso podrán leer los secretos.
Auditoría de accesos: Habilitar registro en CloudTrail para cada acceso a un secreto.
Versionamiento de secretos: Mantener historial de versiones para rollback rápido en caso de error.
Política de KMS (AWS Key Management Service)
Uso obligatorio de cifrado: Todos los datos en S3, DynamoDB, RDS Aurora y logs deben estar cifrados con claves gestionadas por KMS (CMKs).
Separación de claves: Crear claves diferentes para:
Datos de usuarios.
Datos de auditoría.
Secretos y credenciales.
Rotación de claves: Habilitar rotación automática anual en todas las CMKs.
Acceso controlado: Solo servicios y roles autorizados pueden usar claves para desencriptar.
Monitoreo de uso de claves: Activar métricas y alarmas en CloudWatch para accesos inusuales.
Política de WAF (AWS Web Application Firewall)
Implementación obligatoria: Todo tráfico expuesto en API Gateway y Amplify debe pasar por AWS WAF.
Reglas base recomendadas:
Bloqueo de inyecciones SQL (SQLi).
Protección contra ataques XSS.
Limitación de requests (Rate-based rule, p. ej. 2000 req/5min por IP).
Lista negra de IPs maliciosas (AWS Managed IP Reputation List).
Protección de endpoints críticos: Autenticación y endpoints financieros deben tener reglas adicionales más restrictivas.
Registro de tráfico: Habilitar logging en S3 para todos los accesos bloqueados y permitidos.
Logging y Trazabilidad
Centralización de logs: Todos los servicios (Lambdas, API Gateway, DynamoDB, Cognito) deben enviar logs a CloudWatch Logs.
Trazabilidad de usuarios:
Activar AWS X-Ray en API Gateway y Lambdas para trazabilidad de requests end-to-end.
Asociar cada request con el usuario autenticado en Cognito (UserId → TraceId).
Auditoría obligatoria:
Activar CloudTrail en todas las cuentas y regiones.
Configurar envío de logs a un bucket de S3 dedicado y cifrado con KMS.
Retención y archivado:
Logs de aplicación: retención mínima 90 días.
Logs de auditoría: retención mínima 1 año, con archivado en S3 Glacier.
Alertas proactivas:
Alarmas en CloudWatch para errores 5XX en API Gateway.
Alarmas por accesos no autorizados o fallidos en Cognito.
Política de Identidad y Acceso (AWS Identity Center y AWS Organizations)
Gestión centralizada de identidades mediante AWS Identity Center (antes SSO).
Acceso basado en roles:
Roles predefinidos para Administradores, Desarrolladores, Operaciones y Solo-Lectura.
Prohibido el uso compartido de credenciales raíz o IAM users permanentes.
Autenticación multifactor (MFA) obligatoria en todos los accesos.
Política de contraseñas: longitud mínima 12 caracteres, rotación cada 90 días.
AWS Organizations:
Uso de una estructura multi-cuenta (Producción, Pruebas, Desarrollo, Auditoría).
Aplicación de Service Control Policies (SCPs) para restringir servicios no autorizados.
Consolidación de facturación y control de gastos por unidad organizativa.