Skip to content

PCI DSS Pregunta 68 — Muestra de eventos del registro de auditoría ​

CampoValor
SolicitanteJosé David Álvarez — QSA ControlCase
Pregunta«Registros reales de eventos del sistema central de registro para cada plataforma en alcance, con los seis campos de Req 10.3.x»
DocumentoEVD-Q68, revisión 2
Fecha de esta revisión2026-08-12
Sustituye aRevisión 1, retirada en su totalidad — ver §1
Controles PCIReq 10.2.1.1, 10.3.1 a 10.3.6
ElaboradoGabriel Ureña Chacón — CTO Fintrix Pay

1. Nota de corrección — lea esto primero ​

La revisión anterior de este documento se retira en su totalidad. Presentaba diez eventos fechados el 2026-06-16 como «muestra real». Esos eventos no existen en ningún sistema de Fintrix Pay. Se comprobó el 2026-08-12 contra la tabla de auditoría y contra el índice de eventos: no hay registro alguno de esa fecha ni de las direcciones que allí figuraban.

No se trata de datos desactualizados. Se trata de una muestra que no procede del entorno.

Al verificarlo apareció el problema de fondo, que es más grave que el documento:

Comprobación (2026-08-12)Resultado
Sesiones de usuario registradas en el sistema11
De ellas, con evento de auditoría asociado0
Contenido de la tabla de auditoría4 filas, todas marcadores de arranque del componente
Eventos de credenciales y de segundo factor0

El registro de auditoría a nivel de aplicación no capturaba ningún acceso. El componente que lo escribe estaba desarrollado, probado y disponible desde julio, pero el flujo de autenticación nunca lo invocaba, y además pedía unas variables de conexión que ese despliegue no define, de modo que tampoco habría podido escribir.

Se declara expresamente que, hasta el 2026-08-12, no se cumplía el Req 10.2.1.1 en lo relativo al registro de accesos individuales de usuario.

1.1 Corrección aplicada ​

FechaAcción
2026-08-12Se instrumenta el flujo de autenticación para registrar todo acceso, en su límite y no rama por rama, de modo que cubra también las salidas que se añadan en el futuro
2026-08-12Se corrige la conexión del componente de auditoría, que pedía variables inexistentes en este despliegue
2026-08-12Se despliega en producción y se verifica de extremo a extremo

Lo que sí permanecía operativo durante el periodo afectado, y consta en sus propias evidencias: el registro de eventos de sistema operativo, la detección en tiempo de ejecución y la conservación inmutable de los registros recogidos. Lo que faltaba era específicamente la traza de aplicación.


2. Muestra real — contenido íntegro de la tabla ​

Se aporta la tabla completa, no una selección. Son ocho filas.

sql
SELECT timestamp, event_type, actor_id, actor_type, actor_ip,
       outcome, target_resource, severity, component
  FROM iam_core.pci_audit_events
 ORDER BY timestamp;
timestamp (UTC)event_typeactor_idtipoorigenresultadoseveridad
2026-07-26 15:09:42audit.log.initializedsystemsystem—successinfo
2026-07-26 15:10:06audit.log.initializedsystemsystem—successinfo
2026-07-26 15:10:41audit.log.initializedsystemsystem—successinfo
2026-07-26 15:11:17audit.log.initializedsystemsystem—successinfo
2026-08-12 18:54:28audit.auth.login.failure[email protected]user201.244.255.204failurewarn
2026-08-12 18:54:28audit.auth.login.failure[email protected]user201.244.255.204failurewarn
2026-08-12 18:55:06audit.auth.login.failureunknownuser201.244.255.204failurewarn
2026-08-12 19:56:52audit.auth.login.failureunknownuser201.244.255.204failurewarn

Sobre la procedencia de estos eventos, y para que no haya lugar a dudas:

  • Las cuatro primeras filas son marcadores de arranque del componente, no actividad de usuario.
  • Las cuatro últimas son tráfico de verificación generado por nosotros el 2026-08-12 al comprobar que la corrección funciona. No son actividad orgánica de usuarios. Los dos registros con actor unknown corresponden a peticiones sin credencial, y por eso el sistema no puede atribuirles identidad — que es el comportamiento correcto ante un intento de acceso inválido.

Esta muestra es pequeña y reciente porque el control empezó a registrar el 2026-08-12. Preferimos aportar ocho eventos ciertos y verificables antes que una muestra amplia que no se sostenga. La tabla crecerá con el uso normal del sistema y quedamos a disposición para aportar una muestra de actividad orgánica cuando el equipo evaluador lo considere oportuno.

3. Cobertura de los seis campos de Req 10.3.x ​

Los campos se comprueban sobre las filas reales de §2, no sobre el diseño.

RequisitoExigeColumnaEjemplo de la muestra
10.3.1Identificación del usuarioactor_id + actor_type[email protected] / user
10.3.2Tipo de eventoevent_typeaudit.auth.login.failure
10.3.3Fecha y horatimestamp2026-08-12 18:54:28 UTC
10.3.4Indicación de éxito o fallooutcomefailure
10.3.5Origen del eventoactor_ip + component201.244.255.204 / auth-service
10.3.6Recurso afectadotarget_resource + target_id— en un intento fallido no hay recurso alcanzado

La tabla dispone además de event_id, severity, trace_id y extra, este último para el detalle específico de cada tipo de evento.

3.1 Sobre la dirección de origen ​

El servicio se ejecuta detrás de la pasarela de API. La dirección que se registra es la del cliente, tomada de la cabecera de reenvío, y no la de la pasarela: en caso contrario todos los eventos compartirían origen y el campo perdería su utilidad para Req 10.3.5.

3.2 Sobre lo que no se registra ​

La contraseña no se registra en ningún campo, en ningún caso. Hay una prueba automatizada que serializa todo lo que se entrega al componente de auditoría y comprueba que el secreto no aparece, en lugar de revisar campo por campo — que dejaría de proteger el día que alguien añada un campo nuevo.

4. Eventos cubiertos ​

El registro contempla acceso correcto, acceso fallido, cierre de sesión, segundo factor superado y fallido, bloqueo de cuenta, cambio y restablecimiento de contraseña, alta, baja y borrado de cuenta, y asignación de función.

El bloqueo de cuenta se registra como evento propio y no como credencial incorrecta: el requisito los trata por separado y su severidad no es la misma.

5. Por qué no se detectó antes ​

El componente existía, estaba probado y se importaba desde el módulo correspondiente. Nada en el arranque ni en los paneles indicaba anomalía, porque no había ninguna: el código no fallaba, sencillamente no se le llamaba desde el flujo de acceso, y su conexión estaba mal configurada de un modo que solo se manifestaba al intentar escribir.

Se ha incorporado a la revisión periódica de controles la comprobación de que las tablas de auditoría crecen, y no solo de que existen. Una tabla de auditoría que no crece mientras hay sesiones activas es un fallo, aunque todo lo demás figure correcto.

6. Verificación independiente ​

Cualquiera de las comprobaciones de este documento puede repetirse en sesión compartida con el equipo evaluador, incluida la generación de un intento de acceso y la consulta inmediata de la fila resultante.

Firma ​

  • Elaborado: Gabriel Ureña Chacón — CTO Fintrix Pay
  • Fecha: 2026-08-12
  • Revisión: 2 (sustituye íntegramente a la anterior)

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