Tema
POL-010: Política de Logging, Monitoreo y Auditoría
| Campo | Valor |
|---|---|
| ID | POL-010 |
| Versión | 1.0 |
| Fecha de Emisión | 2026-03-13 |
| Próxima Revisión | 2027-03-13 |
| Propietario | CISO / Equipo DevOps |
| PCI DSS | Requisito 10 |
| Preguntas ControlCase | Q67, Q68, Q69, Q70, Q71 |
1. Propósito
Establecer los requisitos de registro de auditoría (logging), monitoreo y revisión de eventos de seguridad para todos los componentes del CDE, garantizando la trazabilidad, detección de anomalías y cumplimiento regulatorio.
2. Eventos que Deben Registrarse (Q67)
2.1 Eventos Obligatorios de Auditoría
| Categoría | Eventos | Componente |
|---|---|---|
| Acceso a CHD | Todo acceso a datos de titulares de tarjetas (tokenización, detokenización) | tokenization-service, card-vault-service |
| Autenticación | Login exitoso, login fallido, logout, bloqueo de cuenta, desbloqueo | auth-service |
| Acciones administrativas | Creación/modificación/eliminación de cuentas, cambio de permisos, cambio de roles | auth-service, admin-audit-service |
| Acceso root/admin | Toda acción realizada con privilegios elevados | Todos los servicios |
| Logs de auditoría | Inicialización de logs, detención de logs, limpieza/modificación de logs | Sistema de logging |
| Cambios en configuración | Modificación de reglas de firewall, network policies, Kong config | Infrastructure as Code |
| Creación/eliminación de objetos | Creación de tablas, índices, usuarios de BD, volúmenes | PostgreSQL, Kubernetes |
| Errores de seguridad | Intentos de acceso denegado, violaciones de CSP, errores TLS | Kong, todos los servicios |
2.2 Campos Obligatorios en Cada Registro
| Campo | Descripción | Ejemplo |
|---|---|---|
timestamp | Fecha y hora UTC sincronizada por NTP | 2026-03-13T14:23:45.123Z |
userId | Identificador único del usuario | usr_a1b2c3d4 |
eventType | Tipo de evento (enum controlado) | AUTH_LOGIN_SUCCESS |
sourceIP | IP de origen de la acción | 203.0.113.45 |
resource | Recurso accedido o afectado | card-vault:token:tok_xyz |
outcome | Resultado de la acción (success/failure) | success |
component | Servicio o componente que generó el log | auth-service |
severity | Nivel de severidad | info, warn, error, critical |
traceId | ID de trazabilidad distribuida | trace-12345-abcde |
2.3 Datos que NUNCA Deben Registrarse
| Dato Prohibido | Razón |
|---|---|
| PAN completo | PCI DSS — Solo primeros 6 y últimos 4 dígitos |
| CVV/CVC | PCI DSS — Nunca almacenar post-autorización |
| PIN / PIN Block | PCI DSS — Nunca almacenar post-autorización |
| Contraseñas en texto claro | Buena práctica de seguridad |
| Claves de cifrado | Seguridad operativa |
3. Implementación Técnica
3.1 Arquitectura de Logging
Microservicios (NestJS) ──→ Structured JSON Logs ──→ stdout/stderr
│
▼
Kubernetes Logging
│
▼
Log Aggregator (Loki/ELK)
│
┌─────────┴──────────┐
▼ ▼
Almacenamiento Alertas
(12 meses) (Prometheus/AlertManager)3.2 Formato de Log (NestJS)
Todos los microservicios utilizan logging estructurado JSON:
json
{
"timestamp": "2026-03-13T14:23:45.123Z",
"level": "info",
"service": "auth-service",
"traceId": "trace-12345",
"userId": "usr_a1b2c3d4",
"event": "AUTH_LOGIN_SUCCESS",
"sourceIp": "203.0.113.45",
"userAgent": "Mozilla/5.0...",
"message": "User login successful",
"metadata": {
"method": "POST",
"path": "/api/v1/auth/login",
"statusCode": 200,
"responseTime": 145
}
}3.3 Sincronización de Tiempo (NTP) (Q68)
| Aspecto | Configuración |
|---|---|
| Protocolo | NTP |
| Fuentes de tiempo | DigitalOcean NTP servers (proporcionados automáticamente a droplets y DOKS) |
| Precisión | ≤ 1 segundo entre todos los componentes |
| Verificación | Configuración de NTP verificada periódicamente |
| Zona horaria | UTC para todos los logs |
| Acceso a configuración NTP | Restringido a administradores de infraestructura |
4. Protección de Logs de Auditoría (Q69)
4.1 Controles de Integridad
| Control | Implementación |
|---|---|
| Inmutabilidad | Logs enviados a almacenamiento append-only |
| Control de acceso | Solo CISO y DevOps Lead pueden acceder a logs de auditoría |
| Separación de funciones | Administradores de sistemas no pueden modificar sus propios logs |
| Detección de manipulación | Alertas ante intentos de acceso no autorizado a logs |
| Backup | Logs replicados a almacenamiento secundario |
4.2 Quién Tiene Acceso a Logs
| Rol | Nivel de Acceso | Justificación |
|---|---|---|
| CISO | Lectura completa | Revisión de seguridad e investigaciones |
| DevOps Lead | Lectura completa | Troubleshooting y monitoreo operativo |
| Desarrolladores | Lectura de logs de su servicio (no CDE) | Debugging en desarrollo |
| Auditor externo | Lectura bajo supervisión | Auditoría PCI DSS |
| Todos los demás | Sin acceso | No autorizado |
5. Retención de Logs (Q70)
| Tipo de Log | Retención Total | Disponible Inmediatamente | Almacenamiento Archivo |
|---|---|---|---|
| Logs de auditoría del CDE | 12 meses | 3 meses | 9 meses en archivo |
| Logs de autenticación | 12 meses | 3 meses | 9 meses en archivo |
| Logs de acceso a CHD | 12 meses | 3 meses | 9 meses en archivo |
| Logs de Kong (access/error) | 12 meses | 3 meses | 9 meses en archivo |
| Logs de PostgreSQL | 12 meses | 3 meses | 9 meses en archivo |
| Logs de Kubernetes events | 12 meses | 3 meses | 9 meses en archivo |
| Logs de aplicación (no CDE) | 6 meses | 1 mes | 5 meses en archivo |
5.1 Almacenamiento
| Nivel | Tecnología | Acceso |
|---|---|---|
| Hot (0-3 meses) | Log aggregator local (Loki/ELK) | Consulta en tiempo real |
| Cold (3-12 meses) | DigitalOcean Spaces (cifrado at-rest) | Acceso bajo solicitud |
6. Revisión y Monitoreo de Logs (Q71)
6.1 Revisiones Automatizadas (Tiempo Real)
| Alerta | Condición | Severidad | Acción |
|---|---|---|---|
| Autenticación fallida masiva | > 10 intentos fallidos en 5 minutos por IP | Alta | Bloqueo automático + notificación |
| Acceso fuera de horario | Acceso administrativo fuera de horario laboral | Media | Notificación a CISO |
| Cambio en logs de auditoría | Cualquier intento de modificar/borrar logs | Crítica | Alerta inmediata |
| Error de cifrado | Fallo en operación de cifrado/descifrado | Crítica | Alerta inmediata |
| Nuevo usuario admin | Creación de cuenta con privilegios admin | Alta | Notificación a CISO |
| Acceso a datos de tarjetas | Acceso a detokenización | Media | Registro + revisión diaria |
| 5xx en servicios CDE | Errores de servidor en tokenization/vault | Alta | Alerta inmediata |
6.2 Revisiones Manuales
| Actividad | Frecuencia | Responsable | Documentación |
|---|---|---|---|
| Revisión de logs de seguridad | Diaria | DevOps (rotación) | Checklist diario firmado |
| Revisión de excepciones | Diaria | DevOps | Registro de excepciones |
| Revisión de acceso a CHD | Semanal | CISO | Informe semanal |
| Auditoría de logs completa | Trimestral | CISO | Informe de auditoría |
| Revisión de efectividad de alertas | Trimestral | DevOps + CISO | Métricas de alertas |
6.3 Proceso de Revisión Diaria
- Revisar dashboard de alertas de las últimas 24 horas
- Investigar cualquier alerta de severidad Alta o Crítica
- Verificar que todos los componentes del CDE están generando logs
- Revisar excepciones y errores significativos
- Documentar hallazgos en el checklist diario
- Escalar incidentes según POL-007 si aplica
6.4 Gestión de Fallas en el Sistema de Logging
| Escenario | Acción |
|---|---|
| Fallo del log aggregator | Alerta P1 — los logs se mantienen en stdout de K8s pods |
| Espacio de almacenamiento bajo | Alerta proactiva al 80% de capacidad |
| Log pipeline interrumpido | Alerta automática + escalamiento a DevOps |
| Componente no genera logs | Detectado por health checks — alerta inmediata |
6.5 Mecanismo de Detección de Fallo de Logging
Se implementan verificaciones periódicas automatizadas para:
- Confirmar que cada componente crítico genera al menos 1 log cada 5 minutos
- Verificar que el pipeline de logs está operativo
- Alertar si un componente deja de enviar logs
Historial de Revisiones
| Versión | Fecha | Autor | Cambios |
|---|---|---|---|
| 1.0 | 2026-03-13 | CISO / DevOps | Documento inicial |
Aprobación
| Rol | Nombre | Firma | Fecha |
|---|---|---|---|
| CISO / Oficial de Seguridad | _________________ | _________________ | //____ |
| Gerencia Ejecutiva | _________________ | _________________ | //____ |
