Tema
PCI DSS Pregunta 71 — Proceso de revisión y monitoreo de logs
| Campo | Valor |
|---|---|
| Solicitante | José 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" |
| Fecha | 2026-06-16 |
| Tipo de evidencia | SOP-007 + sample daily digest archivado + retention config + sample logs 3+ meses + ticket evidence (SEC-2026-0612/0613) |
| Estado | RESUELTO — 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 PCI | Req 10.4.1, 10.4.1.1, 10.4.2, 10.4.2.1, 10.4.3, 10.5.1 |
| Paquete adjunto | q71-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
| Requisito | Descripción | Sección |
|---|---|---|
| 10.4.1 | Daily log review process documented | SOP-007 §3 + §6 sample digest |
| 10.4.1.1 | Daily review covers security event sources | SOP-007 §2 inventario + §3.1 fuentes |
| 10.4.2 | Periodic review for non-critical systems | SOP-007 §4 |
| 10.4.2.1 | Frequency defined by TRA | TRA-002 vinculado a TRA-001 framework |
| 10.4.3 | Exceptions + anomalies addressed | SOP-007 §5 + tickets §4 |
| 10.5.1 | Retention 12 meses (3 mín. online) | §5 retention table + §6 sample 3-month |
2. Pieza 1 — SOP-007 (proceso documentado)

SOP emitida: SOP-007 v1.0 — 2026-06-16.
2.1 Inventario de fuentes en review
| Source | Criticidad | Frecuencia | Reviewer |
|---|---|---|---|
| Wazuh alerts level ≥7 | Crítico | Diaria | SOC CC + CTO |
pci_audit_events outcome=failure | Crítico | Diaria | CTO |
| K8s audit cluster-admin verbs | Crítico | Diaria | CTO |
| Rapid7 InsightIDR canned dashboards | Crítico | Diaria | SOC |
| Kong 5xx | Alto | Diaria | CTO |
| Kafka outbox failures | Alto | Diaria | CTO |
| Falco level≥4 | Alto | Diaria | SOC + CTO |
| DBaaS slow queries | Medio | Semanal | CTO |
| Wazuh syscheck history | Medio | Semanal | CTO |
| OS auth.log + auditd | Bajo | Mensual | CTO |
| App info logs | Bajo | On-demand | CTO |
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
| Severidad | Acuse | Respuesta inicial |
|---|---|---|
| Critical | 15 min | 1 hora |
| High | 1 hora | 4 horas |
| Medium | 4 horas | 24 horas |
| Low | 24 horas | 7 días |
3. Pieza 2 — Daily digest automatizado

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.sh3.2 Entrega
| Canal | Audiencia | Retención |
|---|---|---|
| CTO + SOC ControlCase | 7 años Gmail + archived | |
Slack #fintrixs-soc-alerts | CTO + SOC | 7 años Spaces |
| Wazuh saved search | CTO dashboard | continuo |
Archive s3://.../digests/ | compliance archive | 7 años (object lock) |
4. Pieza 3 — Sample digest archivado (2026-06-15)

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 UTC4.2 Tickets generados como seguimiento

| Ticket | Tipo | Status |
|---|---|---|
| SEC-2026-0612 | FIM /etc/passwd modified on cde-38q702 | RESOLVED (false positive — legitimate gophish init script) |
| SEC-2026-0613 | 3 auth failures + 1 lockout on merchant.a | RESOLVED (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 CTOTicket 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 CTO5. Pieza 4 — Retention configuration

| Source | Hot (online) | Cold (archive) | Total |
|---|---|---|---|
| Wazuh OpenSearch indexes | 90 días | snapshot → Spaces 7 años | 7+ años |
| Rapid7 InsightIDR | 90 días | 7 años plan empresarial | 7+ años |
iam_core.pci_audit_events | continuous | archive cron job → Spaces 7 años | 7+ años |
| Daily digests | 30 días Slack | 7 años Spaces (/digests/) | 7+ años |
| Kong access logs | 30 días fluent-bit | rotated → Spaces 1 año | 1+ año |
| OS auth.log + auditd | 30 días local rotate | rsyslog → Rapid7 → 7 años | 7+ 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)

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.txt7. Cómo el QSA verifica cada entregable
| Solicitado por QSA | Dónde se prueba |
|---|---|
| Proceso documentado | SOP-007 v1.0 |
| Informe diario para eventos críticos | §3 + §4 (sample 2026-06-15 + hash) |
| Informe periódico para no críticos | SOP-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 |
