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

┌───────────────────┐    severity≥High    ┌────────────────┐    crítico    ┌──────────────────┐
│ Tier 1 — SOC CC   │  ──────────────────►│ Tier 2 — CTO   │ ─────────────►│ Tier 3 — Forensic │
│ Rapid7 InsightIDR │                     │ PagerDuty+Slack│               │ ControlCase IR    │
└───────────────────┘                     └────────────────┘               └──────────────────┘

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

Cron job en K8s monitoring ns:

yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: log-review-daily-digest
  namespace: monitoring
spec:
  schedule: "0 9 * * *"   # 09:00 UTC daily
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: digest-generator
            image: registry.fintrixs.com/log-digest:v1.0.0
            env:
              - name: SLACK_WEBHOOK
                valueFrom:
                  secretKeyRef: { name: slack-soc, key: webhook }
              - name: SMTP_TO
                value: "[email protected],[email protected]"
              - name: ARCHIVE_BUCKET
                value: "fintrix-compliance-archive"
            command:
              - /usr/local/bin/generate-daily-digest.sh

3.2 Entrega

CanalAudienciaRetención
EmailCTO + SOC ControlCase7 años Gmail + archived
Slack #fintrixs-soc-alertsCTO + SOC7 años Spaces
Wazuh saved searchCTO dashboardcontinuo
Archive s3://.../digests/compliance archive7 años (object lock)

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