Descripción general del registro de auditoría

Descripción general

El Registro de Auditoría de Seguridad especifica con detalle lo que registra y no registra ningún otro evento. Algunos ejemplos de eventos importantes que registra son: "Certificado emitido", "Perfil de certificado editado" y "El administrador accedió al recurso".

Uno de los aspectos más importantes a considerar es que el Registro de Auditoría de Seguridad no registra cosas que no suceden , por ejemplo solicitudes inválidas que el sistema rechaza o la descarga de una CRL, porque el sistema PKI no realizó ningún evento auditable importante.

El objetivo principal del Registro de Auditoría de Seguridad es proporcionar información al auditor, quien desea saber qué ha hecho el sistema, qué certificados se emitieron, etc., pero no le interesa saber qué no hizo. El Registro de Auditoría de Seguridad está diseñado para cumplir con los requisitos de registro de auditoría para la certificación Common Criteria (Perfil de Protección de Componentes de Gestión y Emisión de Certificados), así como para las auditorías ETSI/CWA y WebTrust.

Servicios, módulos, eventos y estados

Los eventos de auditoría de seguridad se dividen en Servicios, Módulos y Eventos según su origen. La lista completa de los diferentes tipos de Servicios, Módulos y Eventos, junto con una breve explicación de cada uno, se encuentra en el formato JavaDoc de la API. Dado que EJBCA se basa en el proyecto CESeCore, para ver todos los posibles tipos de eventos que EJBCA puede generar, se deben considerar tanto los EventTypes como los EjbcaEventTypes en la documentación de la API.

Un ejemplo de cómo se vería un evento de este tipo en el registro del servidor usando Log4jDevice es el evento en el que se inicia la aplicación:

... INFO [Log4jDevice] 2015-03-20 12:47:51+01:00;EJBCA_STARTING;SUCCESS;SERVICE;EJBCA;StartServicesServlet.init;;hostname;;msg=Init, EJBCA 6.3.1Alpha (working copy) startup.

y el mismo tipo de evento que utiliza IntegrityProtectedDevice que escribe la entrada de registro en la base de datos:

mysql> select * from AuditRecordData where eventType='EJBCA_STARTING' ... \G
pk: 24861ebf7f00010106e5a024d82c694d
additionalDetails: ... Init, EJBCA 6.3.1Alpha (working copy) startup. ...
authToken: StartServicesServlet.init
customId: NULL
eventStatus: SUCCESS
eventType: EJBCA_STARTING
module: SERVICE
nodeId: hostname
rowProtection: 1:2:123:4d2f6...
rowVersion: 0
searchDetail1: hostname
searchDetail2: NULL
sequenceNumber: 17640195
service: EJBCA
timeStamp: 1426205614754

Esto debe interpretarse de la siguiente manera:

  • El servicio es EJBCA (no se muestra en la GUI de administración): el evento se origina en la parte de la aplicación que no es parte del núcleo compartido con otros proyectos.

  • El módulo es SERVICIO: este evento se generó desde un módulo en EJBCA que es responsable de los servicios en segundo plano.

  • El evento es EJBCA_STARTING: la aplicación EJBCA se está iniciando.

  • El estado (denominado Resultado en la GUI de administración) es ÉXITO: en el contexto del evento, esto debe interpretarse como que no se detectaron errores durante el inicio de EJBCA.

  • Además, hay un mensaje específico del evento con información adicional que nos dice (en este caso) la versión de EJBCA que se inició.

Tenga en cuenta también que la hora en la entrada del registro en sí es la hora del evento y puede diferir de la hora en que se escribió en el registro del servidor.

Otras referencias:

  • Información de seguridad sobre la protección de la integridad de la base de datos. Para más información, consulte Seguridad EJBCA .

  • CLI de base de datos local para verificar la protección y exportar/importar datos.

  • Para obtener información sobre las características de seguridad y las posibilidades de reparar brechas, consulte Seguridad EJBCA .

Campos de registro

Al ver el registro de auditoría, puede elegir qué filas de registro ver seleccionando las siguientes opciones:

Opción de registro

Descripción

Evento

Seleccione el tipo de evento que desea ver. Por ejemplo, administradores conectados, actividades relacionadas con la CA, actividades relacionadas con el certificado, actividades relacionadas con la entidad final, actividades que causaron errores, etc.

California

Seleccione para ver todos los registros relacionados con una CA específica.

Módulo

Seleccione para ver todos los registros relacionados con un módulo específico, por ejemplo, CA, RA, Web pública, Hard Token, Aprobación, Servicio.

Nombre de usuario

Seleccione para ver todos los registros relacionados con un nombre de usuario específico.

Certificado

Seleccione esta opción para ver todos los registros relacionados con un certificado específico. El certificado se especifica mediante su número de serie, escrito en formato hexadecimal.

Certificado de administrador

Seleccione para ver todos los registros creados por un administrador específico. El administrador se identifica mediante su número de serie de certificado, escrito en formato hexadecimal.

Comentario

Seleccione para ver todos los registros creados con un comentario específico.

Detalles del administrador

Seleccione para ver todos los registros creados por un tipo específico de administrador, su dirección IP o el número de serie hexadecimal del certificado de administrador utilizado. Hay seis tipos de administradores:

  • Un administrador que inicia sesión con un certificado. Normalmente, un administrador que inicia sesión en la interfaz gráfica de usuario (GUI) para realizar tareas que requieren privilegios de administrador. Un administrador que inicia sesión con un certificado registra el número de serie y el DN del sujeto de su certificado.

  • Un administrador que inicia sesión en la web pública solo con su nombre de usuario y contraseña. Un administrador que inicia sesión en la web pública se registra con su dirección IP.

  • Un usuario de RA. El usuario de RA registra su dirección IP.

  • Un administrador que realiza tareas administrativas a través de la línea de comandos.

  • Un administrador que realiza tareas administrativas a través de la línea de comandos por lotes.

  • Un usuario interno que realiza tareas dentro de EJBCA.

El registro se puede mostrar en la pantalla o exportar como un archivo XML.

Eventos de auditoría de seguridad

Los eventos de auditoría de seguridad se dividen en columnas, servicios, módulos, estados y eventos según su origen. Para más información, consulte Eventos de auditoría de seguridad .

Integridad Protegiendo el Registro de Auditoría

Las filas del registro de auditoría se pueden firmar individualmente para garantizar que un intruso con acceso a la base de datos no pueda editarlas ni eliminarlas para ocultar indicios de irregularidades. Para obtener más información, consulte Registro de auditoría de seguridad con integridad protegida .

Exportación de registros de auditoría

Cada instalación tiene requisitos específicos sobre cómo gestionar los registros de auditoría. Existen varias maneras de exportarlos:

  • Rotar los archivos de registro del sistema (incluido el registro de auditoría) y archivar/procesar los archivos de registro rotados

  • Utilice un SYSLOG adjunto para enviar el registro del sistema (incluido el registro de auditoría) a un servidor de registro central que realiza funciones de monitoreo

  • Exportar el registro de auditoría de la base de datos mediante la CLI de base de datos local

  • Exportar el registro de auditoría de la base de datos mediante herramientas de base de datos

  • Exportar una vista específica de la página Registro de auditoría en CA UI a un archivo XML

  • Exportar una vista específica de la página del Registro de auditoría en CA UI a un CMS firmado (sintaxis de mensaje criptográfico)

Firma de archivos de registro exportados

El archivo de registro exportado puede firmarse con un certificado de firma específico de una autoridad de certificación. Esto generará un archivo de mensaje MIME CMS/PKCS#7 (p7m) en formato binario (DER).

Se necesitan herramientas específicas compatibles con CMS para validar la firma y "eliminarla" para permitir la importación a otras herramientas, como un editor de texto.

A continuación se muestra un ejemplo que utiliza OpenSSL ; ca.pem es el certificado CA en formato PEM y logexport. p7m es el archivo descargado de la interfaz de registro.

$ openssl smime -verify -nodetach -CAfile ca.pem -inform DER - in logexport.p7m -out logexport.xml
Verification successful

Contenido relacionado