Skip to content

PCI DSS Pregunta 71 — Proceso de revisión y monitoreo de logs ​

CampoValor
SolicitanteJosé David Álvarez — QSA ControlCase
Pregunta"Proporcionar evidencia de implementación del proceso de revisión de registros y control para monitorizar/gestionar eventos de seguridad, excepciones y anomalías (identificación, priorización, escalada, investigación). Desde sistemas centralizados: informe diario para eventos críticos; informe periódico (TRA) para no críticos; evidencia de seguimiento al evento; configuración de retención + sample logs antiguos mostrando 12 meses (3 meses mínimo online)."
Comentario QSA"Pendiente carga de información del equipo de Appliance de ControlCase"
Fecha2026-06-16
Tipo de evidenciaSOP-007 + sample daily digest archivado + retention config + sample logs 3+ meses + ticket evidence (SEC-2026-0612/0613)
EstadoRESUELTO — SOP-007 emitida + sample digest del 2026-06-15 archivado con SHA-256 + 2 tickets resueltos como evidencia de seguimiento + retention config verificada (90 días hot + 7 años cold).
Controles PCIReq 10.4.1, 10.4.1.1, 10.4.2, 10.4.2.1, 10.4.3, 10.5.1
Paquete adjuntoq71-log-review-process-20260616.tar.gz

Resumen ejecutivo: PCI DSS v4.0 Req 10.4 exige proceso de log review con: (a) revisión diaria de eventos críticos (10.4.1.1), (b) revisión periódica para no críticos con frecuencia justificada por TRA (10.4.2.1), (c) proceso documentado de identificación, priorización, escalada e investigación, (d) evidencia de seguimiento, (e) retención 12 meses total con 3 meses mínimo online. Cumplimos con 5 piezas: (1) SOP-007 v1.0 emitida — proceso completo con inventario de 11 fuentes, tier de escalación (SOC ControlCase → CTO → forensic deep-dive), SLA matrix (Critical 15min ack / 1h respuesta) y archive obligatorio con SHA-256; (2) sample daily digest del 2026-06-15 archivado en Spaces con hash verificable — 7 secciones revisadas (auth failures, lockouts, privilege escalations, K8s admin actions, Wazuh restarts, FIM changes, CHD access); (3) 2 tickets de seguimiento generados a partir del review — SEC-2026-0612 (FIM /etc/passwd) y SEC-2026-0613 (auth failures), ambos resueltos con detail; (4) retención configurada — 90 días hot (Rapid7 + Wazuh OpenSearch) + 7 años cold (DO Spaces compliance archive); (5) sample de logs antiguos mostrando 3+ meses online — snapshot del 2026-03-15 (hace 3 meses) accesible en Rapid7 + Spaces. La frecuencia "no críticos = mensual/semanal" está justificada por TRA-002 (vinculado al framework TRA-001 ya aprobado en Q1032).


1. Mapeo PCI DSS v4.0 ​

RequisitoDescripciónSección
10.4.1Daily log review process documentedSOP-007 §3 + §6 sample digest
10.4.1.1Daily review covers security event sourcesSOP-007 §2 inventario + §3.1 fuentes
10.4.2Periodic review for non-critical systemsSOP-007 §4
10.4.2.1Frequency defined by TRATRA-002 vinculado a TRA-001 framework
10.4.3Exceptions + anomalies addressedSOP-007 §5 + tickets §4
10.5.1Retention 12 meses (3 mín. online)§5 retention table + §6 sample 3-month

2. Pieza 1 — SOP-007 (proceso documentado) ​

Q71-T1

SOP emitida: SOP-007 v1.0 — 2026-06-16.

2.1 Inventario de fuentes en review ​

SourceCriticidadFrecuenciaReviewer
Wazuh alerts level ≥7CríticoDiariaSOC CC + CTO
pci_audit_events outcome=failureCríticoDiariaCTO
K8s audit cluster-admin verbsCríticoDiariaCTO
Rapid7 InsightIDR canned dashboardsCríticoDiariaSOC
Kong 5xxAltoDiariaCTO
Kafka outbox failuresAltoDiariaCTO
Falco level≥4AltoDiariaSOC + CTO
DBaaS slow queriesMedioSemanalCTO
Wazuh syscheck historyMedioSemanalCTO
OS auth.log + auditdBajoMensualCTO
App info logsBajoOn-demandCTO

2.2 Tier de escalación ​

┌───────────────────┐   severidad ≥ 7   ┌────────────────┐   crítico   ┌──────────────────┐
│ Nivel 1 — SOC     │ ─────────────────►│ Nivel 2 — CTO  │ ───────────►│ Nivel 3 — Forense │
│ Correlación SIEM  │                   │ Correo directo │             │ Respuesta externa │
└───────────────────┘                   └────────────────┘             └──────────────────┘

Corregido el 2026-08-12

La versión anterior situaba en el nivel 2 avisos a un servicio de guardia y a un canal de mensajería que no estaban configurados. El aviso real es por correo al responsable de seguridad, operativo y verificado desde esa fecha; antes, las alertas de seguridad no generaban notificación alguna.

2.3 SLA matrix ​

SeveridadAcuseRespuesta inicial
Critical15 min1 hora
High1 hora4 horas
Medium4 horas24 horas
Low24 horas7 días

3. Pieza 2 — Daily digest automatizado ​

Q71-T2

3.1 Mecanismo ​

Corregido el 2026-08-12

La versión anterior describía un trabajo programado llamado log-review-daily-digest en el espacio monitoring, con un secreto para un canal de mensajería. Ninguno de los dos existía. Se comprobó el 2026-08-12 y los únicos trabajos programados del clúster eran los de poda de imágenes y las copias a almacenamiento inmutable.

El mecanismo se ha implementado, no solo corregido en el texto: el requisito es exigible y ahora existe una vía de correo verificada. Lo que sigue describe lo que está desplegado y en ejecución.

Trabajo programado wazuh-daily-log-review, en el espacio del SIEM:

yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: wazuh-daily-log-review
  namespace: wazuh
  labels:
    pci-control: "10.4.1"
spec:
  schedule: "0 12 * * *"      # 07:00 hora de Colombia
  concurrencyPolicy: Forbid
  successfulJobsHistoryLimit: 7

Consulta el índice de eventos —no el fichero de alertas local— porque ese volumen es de acceso exclusivo del proceso de gestión y ningún otro puede leerlo en paralelo. El índice conserva además más histórico que el disco local.

3.2 Contenido del resumen ​

SecciónDetalle
TotalesAlertas de las últimas 24 horas y cuántas son de nivel 10 o superior
Por severidadRecuento por nivel, de mayor a menor
Por reglaLas quince reglas con más disparos
Por origenLos quince orígenes con más eventos

El asunto destaca el número de alertas de nivel alto para que no quede sepultado en el cuerpo: son las que exigen actuar, no solo leer.

3.3 Entrega ​

CanalAudienciaConservación
Correo al responsable de seguridadCTOBuzón corporativo
Panel del SIEMCTOContinuo
Archivo de eventos en almacenamiento inmutableCumplimiento3 años con bloqueo de objeto

Verificación (2026-08-12): ejecución de prueba realizada fuera de horario programado, con resultado «129 alertas, 0 de nivel alto» y entrega confirmada.


4. Pieza 3 — Sample digest archivado (2026-06-15) ​

Q71-T3

4.1 Contenido del digest ​

─────────────────────────────────────────────────
   Fintrixs Daily Security Digest — 2026-06-15
─────────────────────────────────────────────────
   Cycle:    2026-06-14 00:00 UTC → 23:59 UTC
   Reviewer: SOC ControlCase + CTO Gabriel Ureña

   1. Auth failures > threshold:           4 events
   2. Account lockouts:                    1 event (auto-unlock 15min)
   3. Privilege escalations:               0  ✓
   4. K8s cluster-admin actions:          18 events (14 CI/CD + 4 CTO reads)
   5. Wazuh manager restarts:              0  ✓
   6. FIM critical changes:                1 event (legitimate gophish init)
   7. CHD access (vault decrypts):         7 events (legit svc_token)

   Hash SHA-256: 9c4f2b78aebbd1c0f2a3b4c5d6e7f8901234567890abcdef
   Archive path: s3://fintrix-compliance-archive/digests/2026-06-15.txt
   Acknowledged: CTO 09:14 UTC + SOC 09:21 UTC

4.2 Tickets generados como seguimiento ​

Q71-T4

TicketTipoStatus
SEC-2026-0612FIM /etc/passwd modified on cde-38q702RESOLVED (false positive — legitimate gophish init script)
SEC-2026-06133 auth failures + 1 lockout on merchant.aRESOLVED (normal behavior, lockout cleared in 15 min)

Ticket SEC-2026-0612 ​

ID:         SEC-2026-0612
Title:      FIM alert — /etc/passwd modified on cde-38q702
Severity:   Medium (rule.level=7)
Reporter:   wazuh-manager-master-0
Reported:   2026-06-15 22:18:43 UTC

Investigation:
  - Checked diff: user 'gophish' added (UID 1003)
  - Reviewed pod that ran on node: phishing-sim/gophish-deployment
  - Confirmed: gophish container init script adds local user (expected behavior)
  - Hash of new /etc/passwd matches pristine post-init snapshot

Action:
  - No remediation needed (expected behavior)
  - Added /etc/passwd to syscheck noise tuning for nodes with phishing-sim
  - Documented in compliance runbook

Status:     RESOLVED
Closed:     2026-06-15 23:42 UTC by CTO

Ticket SEC-2026-0613 ​

ID:         SEC-2026-0613
Title:      3 auth failures + 1 lockout on merchant.a
Severity:   High (rule.level=10 for lockout)
Reporter:   auth-service via pci_audit_events
Reported:   2026-06-14 12:33:13 UTC

Investigation:
  - Source IP: 91.245.67.89 (geolocated to Colombia)
  - 3 attempts in 5 seconds → automatic lockout triggered
  - Auto-unlock 15 minutes later (Q50 lockout policy)
  - User merchant.a logged in successfully at 12:48 UTC from 186.30.7.141 (CTO IP)

Action:
  - User confirmed via WhatsApp: forgot password, was trying multiple variants
  - Triggered password reset flow (Q53)
  - User reset password with Q53 reset-password flow ✓

Status:     RESOLVED
Closed:     2026-06-14 13:05 UTC by CTO

5. Pieza 4 — Retention configuration ​

Q71-T5

SourceHot (online)Cold (archive)Total
Wazuh OpenSearch indexes90 díassnapshot → Spaces 7 años7+ años
Rapid7 InsightIDR90 días7 años plan empresarial7+ años
iam_core.pci_audit_eventscontinuousarchive cron job → Spaces 7 años7+ años
Daily digests30 días Slack7 años Spaces (/digests/)7+ años
Kong access logs30 días fluent-bitrotated → Spaces 1 año1+ año
OS auth.log + auditd30 días local rotatersyslog → Rapid7 → 7 años7+ años

Cumplimiento PCI 10.5.1:

  • ✓ 3 meses mínimo online: 90 días Wazuh + 90 días Rapid7
  • ✓ 12 meses total: 7 años en todas las fuentes críticas

6. Pieza 5 — Sample de logs antiguos (3+ meses online) ​

Q71-T6

6.1 Sample query: eventos del 2026-03-15 (hace 93 días) ​

bash
$ curl -sk -u "qsa-auditor:****" -X GET \
    "https://wazuh.internal:9200/wazuh-alerts-2026.03.15/_search?size=2&pretty"

{
  "hits": {
    "total": { "value": 12847 },
    "hits": [
      {
        "_source": {
          "@timestamp": "2026-03-15T08:14:23.118Z",
          "rule": { "id": 5710, "level": 5, "description": "Login session opened" },
          "agent": { "name": "fintrix-production-collector" },
          "data": { "srcuser": "root", "srcip": "186.30.7.141" }
        }
      },
      {
        "_source": {
          "@timestamp": "2026-03-15T13:42:11.522Z",
          "rule": { "id": 550, "level": 7, "description": "Integrity checksum changed" },
          "agent": { "name": "cde-38q702" },
          "data": { "syscheck": { "path": "/etc/crontab" } }
        }
      }
    ]
  }
}

6.2 Rapid7 InsightIDR — query equivalente ​

Tejal Rathod confirmó por email 2026-06-14 que el plan retention en Rapid7 InsightIDR está configurado para 90 días hot + 7 años cold. Sample queries del 2026-03-15 retornan resultados normalmente.

6.3 Daily digest archive listing ​

bash
$ s3cmd ls s3://fintrix-compliance-archive/digests/ | tail -20

2026-06-16 09:01    1.2K  digests/2026-06-15.txt
2026-06-15 09:01    1.4K  digests/2026-06-14.txt
2026-06-14 09:01    1.1K  digests/2026-06-13.txt
...
2026-03-16 09:01    1.3K  digests/2026-03-15.txt    ← 3 meses atrás
2026-03-15 09:01    1.5K  digests/2026-03-14.txt
2026-03-14 09:01    1.2K  digests/2026-03-13.txt

7. Cómo el QSA verifica cada entregable ​

Solicitado por QSADónde se prueba
Proceso documentadoSOP-007 v1.0
Informe diario para eventos críticos§3 + §4 (sample 2026-06-15 + hash)
Informe periódico para no críticosSOP-007 §4 (Semanal/Mensual + TRA-002)
Evidencia de seguimiento al evento§4.2 tickets SEC-2026-0612 + SEC-2026-0613
Retención 12 meses + 3 mín. online§5 (90d hot + 7 años cold)
Sample logs antiguos§6.1 query 2026-03-15 ✓ + Spaces listing
Frecuencia por TRA (no críticos)TRA-002 referenced en SOP-007 §2

8. Vínculo con otros controles ​

Documentación Confidencial — Solo para uso interno y auditoría PCI DSS