Volver al blog Data Governance

¿Esta aplicación autoalojada deja un rastro de auditoría? Lista de verificación para compradores

Antes de alojar datos empresariales sensibles en una aplicación autoalojada, determine si genera registros de auditoría utilizables, no meros registros operativos. Use esta lista de verificación basada en documentación para evaluar la cobertura de eventos, identidad, retención, protección, búsqueda y exportación.

Administrador revisando una lista de verificación para evaluar registros de auditoría de una aplicación empresarial autoalojada

El registro de auditoría es un requisito para seleccionar una aplicación

Una aplicación autoalojada puede ser fácil de desplegar y, aun así, ser una mala opción para datos cuyo uso exige trazabilidad y rendición de cuentas. Si la aplicación almacenará datos empresariales de clientes, empleados, finanzas, operaciones u otros datos sensibles, formule una pregunta desde el principio: ¿podrá el equipo establecer posteriormente quién hizo qué, sobre qué objeto, cuándo y mediante qué interfaz?

Esto va más allá de la respuesta ante incidentes. Un rastro de auditoría utilizable puede respaldar la investigación de un cambio inesperado, los flujos de aprobación y excepción, las revisiones periódicas de acceso, la rendición de cuentas por cambios de configuración y la recopilación de evidencias tras una disputa. La guía de NIST sobre conciencia de eventos identifica la interacción de usuarios y el tiempo, las acciones de configuración y el acceso y uso de datos almacenados como capacidades relevantes para la auditoría.

No considere «tiene registros» como una respuesta suficiente. La auditabilidad es una propiedad tanto del producto como del despliegue. La aplicación debe generar los eventos necesarios, el despliegue debe conservarlos, los revisores autorizados deben poder recuperarlos e interpretarlos, y los controles deben protegerlos contra alteraciones o eliminaciones no autorizadas.

  • Convierta la auditabilidad en un requisito puntuable antes de seleccionar una aplicación, en vez de dejarla como una tarea para después de la puesta en producción.
  • Redacte los requisitos en términos de las decisiones que los registros deben respaldar, como «identificar quién concedió un rol» o «revisar las exportaciones de registros de clientes».
  • Asigne una persona responsable de la configuración de auditoría de la aplicación, los procedimientos de revisión de registros, las decisiones de retención y el acceso a evidencias exportadas.
El registro de auditoría es un requisito para seleccionar una aplicación

Los registros operativos, los registros de auditoría y el historial de la base de datos responden a preguntas distintas

Los registros operativos sirven principalmente para ejecutar software. Los controladores de registro de Docker recopilan información de contenedores y servicios en ejecución; el controlador json-file predeterminado de Docker almacena localmente los registros de los contenedores, salvo que se use otra configuración. Esos registros pueden ayudar a diagnosticar un bloqueo, una advertencia o un error de ejecución, pero no establecen de forma inherente que un usuario empresarial identificado haya modificado un registro concreto de cliente.

Los registros de proxy inverso describen una capa diferente. Traefik distingue entre sus propios registros, que cubren asuntos como el arranque, la configuración, los eventos y el apagado, y los registros de acceso de las solicitudes gestionadas por el proxy. Los registros de acceso pueden establecer que una solicitud llegó a un endpoint, pero quizá no identifiquen de manera fiable al actor empresarial autenticado, el objeto empresarial afectado o el resultado de la acción. Además, sus campos pueden conservarse, descartarse o redactarse deliberadamente.

El historial de la base de datos vuelve a ser diferente. El registro de escritura anticipada de PostgreSQL registra cambios en los archivos de datos antes de que se modifiquen los archivos subyacentes, de modo que la recuperación pueda rehacer los cambios tras un fallo. La decodificación lógica puede hacer legibles desde WAL los cambios persistentes en tablas. Ninguno de estos mecanismos proporciona automáticamente una narrativa empresarial preparada para una investigación: el contexto de la aplicación, la identidad del usuario, el contexto de autorización y el significado de un cambio pueden estar ausentes o ser difíciles de reconstruir.

Use cada fuente para su propósito correspondiente. Los registros operativos y del proxy siguen siendo valiosos para la resolución de problemas y las investigaciones de infraestructura. Los mecanismos de base de datos pueden resultar útiles para recuperación o análisis técnico. Sin embargo, no sustituya ninguno de ellos por registros de auditoría a nivel de aplicación sin comprobar si cumplen el requisito real de evidencia.

  • Registro operativo: «¿Qué informó el proceso o el contenedor?»
  • Registro de acceso del proxy: «¿Qué solicitud gestionó el borde?»
  • Historial de base de datos: «¿Qué cambio se produjo en el nivel de almacenamiento?»
  • Registro de auditoría de la aplicación: «¿Qué actor realizó qué acción empresarial o administrativa significativa, sobre qué, cuándo y con qué resultado?»
Los registros operativos, los registros de auditoría y el historial de la base de datos responden a preguntas distintas

Empiece por las decisiones que debe respaldar el rastro

Una lista extensa de eventos no es un requisito. Empiece por enumerar las preguntas que un revisor debe poder responder en condiciones realistas. Esto evita que los equipos sobrevaloren el registro técnico de gran volumen y pasen por alto las pocas acciones que generan el mayor riesgo empresarial.

Por ejemplo, una revisión trimestral de accesos necesita información fiable sobre membresías y cambios de roles. Una investigación sobre datos financieros alterados puede requerir la entidad afectada, los valores antes y después cuando corresponda, la identidad del actor, la hora y el resultado de la acción. Un flujo de aprobación puede exigir evidencia de que una persona designada aprobó, rechazó u omitió un paso. Los campos exactos y el período de retención deben derivarse de estas preguntas.

Haga explícito el alcance. Un sistema puede auditar la actividad de administradores, pero no los cambios realizados por usuarios normales, o registrar la autenticación exitosa pero no los fallos. Ninguna de estas situaciones es inherentemente inaceptable; la cuestión es si la cobertura documentada y probada coincide con sus casos de uso declarados.

  • Investigaciones: ¿Puede identificar al actor, objeto, acción, hora, resultado y contexto relevante?
  • Aprobaciones: ¿Puede demostrar quién aprobó, rechazó, delegó o cambió una regla de aprobación?
  • Revisiones de acceso: ¿Puede identificar membresías, roles, cambios de permisos y el actor responsable?
  • Responsabilidad por cambios: ¿Puede rastrear cambios de configuración administrativa, cambios de integraciones y ajustes relevantes para la seguridad?
  • Revisión del uso de datos: ¿Puede identificar el acceso a datos sensibles almacenados y acciones de alto riesgo, como las exportaciones, cuando su política lo exige?

Eventos que conviene comprobar antes de adoptar una aplicación

Use la documentación oficial de la aplicación para identificar familias de eventos y, después, relaciónelas con sus casos de uso. No suponga que un evento descrito en la documentación está habilitado, se almacena o está disponible en todos los modos de despliegue. Por ejemplo, la documentación de Keycloak indica que los eventos de usuario no se almacenan ni muestran de forma predeterminada hasta que un administrador habilita el guardado de eventos.

La actividad de autenticación y autorización es un punto de partida: inicios de sesión exitosos, inicios de sesión fallidos, recuperación de cuentas cuando sea pertinente, eventos relacionados con sesiones cuando estén documentados, cambios de roles o grupos y cambios de privilegios. Para la actividad administrativa, incluya los cambios realizados en la interfaz de administración y, cuando importe, las API de administración. Keycloak documenta la auditoría de acciones de administradores en su Consola de administración y las invocaciones REST utilizadas para esas acciones.

La cobertura de datos empresariales merece un examen independiente. Busque creación, actualización, eliminación, acceso o uso de datos sensibles almacenados cuando se requiera, operaciones masivas, exportaciones, importaciones, cambios de uso compartido y cambios en credenciales o conectores de integración. Una aplicación puede proporcionar una excelente auditoría administrativa y, al mismo tiempo, ofrecer visibilidad limitada sobre acciones individuales en registros empresariales.

Un evento útil debe incluir suficiente contexto para poder interpretarse posteriormente. El esquema publicado de eventos de auditoría de GitLab ilustra una sólida referencia de comparación: identidad del autor, marca temporal del evento, identificación y tipo de entidad, tipo de evento, un ID de evento único y detalles adicionales. La aplicación elegida no tiene que usar el mismo esquema, pero sus registros deben responder preguntas equivalentes para sus requisitos.

  • Actividad de autenticación exitosa y fallida
  • Cambios de usuarios, grupos, roles y permisos
  • Creación, actualización y eliminación de registros sensibles o regulados, cuando sea necesario
  • Acceso o uso de registros cuando la política o el riesgo lo requieran
  • Exportaciones, descargas, importaciones, cambios masivos y acciones de uso compartido
  • Cambios de configuración administrativa
  • Cambios de integraciones, tokens de API, webhooks o conectores
  • Acciones administrativas realizadas mediante interfaces de usuario y API, cuando corresponda

Verifique la documentación, la configuración y la ruta de evidencia

No se base únicamente en una página comercial de funcionalidades. Lea la documentación oficial para administradores del modelo de despliegue específico que está considerando y, después, compruebe la configuración predeterminada y los registros resultantes en una prueba. Considere cualquier aspecto desconocido como una brecha hasta que la documentación del proveedor o su prueba lo resuelva.

Primero, establezca la cobertura de eventos. ¿Qué acciones crean eventos? ¿Se registran tanto las acciones exitosas como las fallidas cuando es necesario? ¿Las acciones de usuarios normales, las acciones administrativas y las acciones de API están cubiertas por separado? ¿Se pueden habilitar o deshabilitar categorías de eventos?

A continuación, inspeccione la calidad del registro. Determine si el registro identifica a un actor de forma coherente, anota una marca temporal inequívoca y una zona horaria o estándar de tiempo, identifica la entidad afectada, captura el tipo y el resultado de la acción, e incluye un identificador único o información de correlación. Determine también cómo representa el sistema las cuentas de servicio, la automatización y la actividad anónima. Un evento atribuido únicamente a «API» o «sistema» puede ser insuficiente para la rendición de cuentas, a menos que pueda correlacionarse con una fuente de identidad más sólida.

Después, verifique el comportamiento de recuperación y ciclo de vida. Revise los campos de búsqueda, filtros, paginación, formatos de exportación, acceso por API y cualquier capacidad de transmisión de eventos. GitLab documenta el filtrado por actor e intervalo de fechas, pero señala que su interfaz no admite la búsqueda de texto en los detalles de eventos de auditoría; recomienda la transmisión externa para una búsqueda y análisis integrales. Por ello, «visible en la interfaz» y «búsqueda preparada para investigaciones» deben ser filas separadas en la hoja de trabajo.

Por último, evalúe la protección. NIST AU-9 considera la protección de la información de auditoría y de las herramientas de registro de auditoría contra el acceso, la modificación y la eliminación no autorizados como un objetivo distinto. Un registro que un administrador ordinario puede alterar o borrar silenciosamente no se vuelve inmutable simplemente por existir.

  • Cobertura: ¿Qué acciones requeridas se registran y cuáles no?
  • Actor: ¿Se identifica de forma fiable al usuario humano, la cuenta de servicio o el administrador?
  • Tiempo: ¿Hay una hora de evento precisa y se pueden correlacionar los registros entre sistemas?
  • Objeto: ¿El registro identifica el registro, la cuenta, el ajuste o la entidad afectados?
  • Resultado y detalles: ¿Registra éxito, fallo y suficiente contexto para comprender la acción?
  • Búsqueda: ¿Pueden los revisores filtrar por actor, objeto, tipo de evento e intervalo de tiempo? ¿Se puede buscar el texto de detalle si se necesita?
  • Exportación: ¿Se pueden exportar los registros o recuperar mediante una interfaz compatible en un formato útil?
  • Retención: ¿Está habilitado el almacenamiento, cuánto tiempo se conservan los eventos y quién puede modificarlos o borrarlos?","Protección: ¿Quién puede leer, modificar o eliminar registros y qué salvaguardas independientes existen?

Preguntas frecuentes

¿Los registros de contenedores de Docker son un rastro de auditoría?

Por lo general, no por sí solos. El registro de Docker recopila información de contenedores y servicios en ejecución, lo que resulta útil para operaciones. No establece automáticamente el actor empresarial autenticado, el registro afectado ni el significado de una acción de la aplicación. Evalúe por separado los registros de auditoría a nivel de aplicación.

¿Los registros de acceso de proxy inverso pueden demostrar lo que hizo un usuario?

Pueden ayudar a establecer que se gestionó una solicitud, pero describen la capa del proxy. Los campos requeridos también pueden conservarse, descartarse o redactarse. Compruebe si los registros contienen de forma fiable la identidad autenticada, el objeto relevante, el resultado de la acción y el contexto necesarios para su investigación específica.

¿El registro de escritura anticipada de la base de datos proporciona registros de auditoría?

El WAL de PostgreSQL está diseñado para la recuperación al registrar cambios de datos antes de que se escriban los archivos de datos alterados. La decodificación lógica puede exponer cambios persistentes en un formato legible. Ninguno proporciona automáticamente una narrativa completa de auditoría empresarial, incluidos el usuario de la aplicación, el contexto de autorización y el significado de la acción.

¿Cuál es la forma más rápida de probar el registro de auditoría durante una evaluación?

Cree un guion de prueba escrito a partir de sus requisitos. Genere un inicio de sesión exitoso y otro fallido, cambie un rol, modifique un registro sensible representativo, realice una exportación si corresponde, modifique un ajuste de configuración y use una API o integración cuando esté dentro del alcance. Para cada evento, recupere la evidencia y compruebe su actor, marca temporal, objeto, acción, resultado, capacidad de búsqueda, capacidad de exportación y comportamiento de retención.

¿Un despliegue gestionado elimina las responsabilidades de gobernanza de auditoría del cliente?

No. Un despliegue gestionado puede reducir el trabajo de infraestructura alrededor de una aplicación autoalojada, pero el equipo del cliente todavía debe decidir qué eventos de la aplicación son necesarios, configurar los ajustes de auditoría compatibles, establecer una retención adecuada, restringir el acceso a los registros y definir procedimientos de revisión y respuesta. Airbip gestiona infraestructura en la nube alrededor de cargas de trabajo de aplicaciones basadas en Docker y proporciona copias de seguridad configurables, enrutamiento y automatización de TLS; estas capacidades no deben confundirse con la cobertura de auditoría a nivel de aplicación.

¿Cuándo debe un equipo usar una canalización central de registros u otro modelo de despliegue?

Considere una canalización independiente cuando la interfaz nativa de la aplicación no ofrezca la búsqueda, retención, exportación o protección necesarias para su caso de uso, y cuando pueda emitir eventos estructurados compatibles. Trate el destino como sensible porque los datos de eventos de auditoría pueden contener información sensible. Elija otra aplicación u otro modelo de despliegue cuando los eventos requeridos no puedan generarse de forma fiable, no puedan protegerse adecuadamente o no puedan conservarse y recuperarse conforme a sus obligaciones.

Fuentes y lecturas adicionales

  1. Configure logging drivers — Docker
  2. Logs and Access Logs — Traefik Labs
  3. Write-Ahead Logging (WAL) — PostgreSQL Global Development Group
  4. Logical Decoding Concepts — PostgreSQL Global Development Group
  5. Server Administration Guide: Configuring auditing to track events — Keycloak
  6. Audit events — GitLab
  7. Audit event schema and examples — GitLab
  8. Audit event streaming for top-level groups — GitLab
  9. Security and Privacy Controls for Information Systems and Organizations, AU-9 — NIST
  10. Cybersecurity Event Awareness — NIST