Explotación florestal
Un sistema PKI tiene los siguientes tipos de registros:
Registro de auditoría de seguridad: se utiliza para que los auditores de PKI auditen eventos de PKI de seguridad importantes que realiza el sistema.
Registro del sistema: se utiliza para supervisar las operaciones diarias del sistema, depurar y rastrear errores, etc.
Registro de transacciones: se utiliza para contabilizar funciones específicas, principalmente validación (OCSP).
El Registro de Auditoría de Seguridad especifica detalladamente qué registra y no registra ningún otro evento. Registra eventos importantes como "Certificado emitido", "Perfil de certificado editado" y "Recurso accedido por el administrador". Un aspecto importante a considerar es que no registra eventos que no ocurren. Por ejemplo, solicitudes no válidas que el sistema rechaza porque el sistema PKI no realizó ningún evento auditable importante.
El registro del sistema registra todos los eventos que son interesantes para monitorear, como rechazar solicitudes no válidas, leer perfiles, etc.
El objetivo principal del registro de auditoría de seguridad es proporcionar información a un auditor, y el auditor quiere saber qué ha hecho el sistema, qué certificados se emitieron, etc., pero no está tan interesado en lo que el sistema no hizo.
El Registro de Auditoría de Seguridad se almacena en la base de datos y el Registro del Sistema en archivos de registro. De forma predeterminada, el Registro del Sistema también contiene el Registro de Auditoría de Seguridad, pero esto se puede configurar.
Para obtener más información sobre el registro de transacciones de OCSP, consulte Auditoría y registro de cuentas y para obtener información sobre el registro de transacciones de WS, consulte Interfaz de servicio web .
Dispositivos de registro implementados en EJBCA
Dispositivo protegido por integridad
EMPRESA Esta es una característica de EJBCA Enterprise.
Consulte la página principal: Dispositivo de registro con integridad protegida .
El dispositivo de registro con protección de integridad almacena el registro de auditoría en la tabla AuditRecordData de la base de datos. Para obtener más información sobre la protección de la integridad de la base de datos, consulte Seguridad EJBCA .
Dispositivo de registro Log4J
Añade la información del evento oficial a la consola o al archivo. Este es el mismo destino al que se envía el resto de la información/salida de depuración. No hay protección contra alteraciones y los eventos enviados a este dispositivo no se pueden recuperar en EJBCA para su visualización en la interfaz gráfica de administración.
Registro de auditoría de seguridad
Ver página principal: Descripción general del registro de auditoría
Además del registro del sistema (ver a continuación), EJBCA proporciona un poderoso registro de auditoría para registrar específicamente todos los pasos del proceso de inscripción en la base de datos, para que un auditor los utilice más adelante.
Registro del sistema
El registro del sistema se registra mediante Log4J y tiene varios niveles de registro configurables:
Nivel de registro | Descripción |
FATAL | Eventos catastróficos registrados por la JVM o el servidor de aplicaciones. Es probable que el sistema se encuentre en un estado muy deficiente o inutilizable. |
ERROR | Errores que deberían obligar al personal de TI a revisar el sistema. Podrían ser fatales y provocar que el sistema dejara de funcionar. |
ADVERTENCIA | Advertencias sobre configuración incorrecta. El sistema sigue funcionando, pero su funcionalidad podría verse afectada. |
INFORMACIÓN | Mensajes informativos de interés para fines de monitorización y estadísticas. Este suele ser el nivel predeterminado. |
DEPURAR | Información de depuración útil para ver detalles de lo que está sucediendo en el sistema. |
RASTRO | Información de seguimiento útil para detectar errores o pequeños errores de configuración. Salida muy completa que muestra un seguimiento detallado de lo que sucede en el código del sistema. |
La configuración del registro del sistema depende del servidor de aplicaciones utilizado (consulte Servidores de aplicaciones ). Se recomienda configurar el registro en el servidor de aplicaciones, es decir, JBoss.
En JBoss EAP7/WildFly10 o posterior, puede configurar la sección de registro de standalone.xml.
A continuación se muestra un ejemplo de una configuración que especifica un registrador más avanzado, que registra eventos EJBCA en un archivo de registro ejbca.log separado que rota por tamaño cada 32 MB y mantiene un máximo de 31 archivos de registro rotados:
< subsystem xmlns = "urn:jboss:domain:logging:3.0" >< console -handler name = "CONSOLE" >< level name = "INFO" />< formatter >< named -formatter name = "COLOR-PATTERN" /></ formatter ></ controlador console -handler>< name -rotating-file-handler periodic = "FILE" autoflush = "true" >< formatter >< named -formatter name = "PATTERN" /></ formatter >< file relative-to = "jboss.server.log.dir" path = "server.log" />< suffix value = ".yyyy-MM-dd" />< append value = "true" /></ -rotating-file-handler> periodic >< size -rotating-file-handler name = "EJBCAFILE" autoflush = "true" >< formatter >< pattern -formatter pattern = "%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n" /></ formatter >< file relative-to = "jboss.server.log.dir" path = "ejbca.log" />< rotate -size value = "32M" />< value max -backup-index = "31" />< append value = "true" /></ size -rotating-file-handler>< logger category = "com.arjuna" >< level name = "WARN" /></ logger >< logger category = "org.jboss.as.config" >< level name = "DEBUG" /></ logger >< logger category = "sun.rmi" >< level name = "WARN" /></ logger >< logger category = "org.ejbca" >< level name = "DEBUG" />< handlers >< handler name = "EJBCAFILE" /></ handlers ></ logger >< logger category = "org.cesecore" >< level name = "DEBUG" />< handlers >< handler name = "EJBCAFILE" /></ handlers ></ logger >< root -logger>< level name = "INFO" />< handlers >< handler name = "CONSOLE" />< handler name = "FILE" /></ handlers ></ root -logger>< formatter name = "PATTERN" >< pattern -formatter pattern = "%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n" /></ formatter >< formatter name = "COLOR-PATTERN" >< pattern -formatter pattern = "%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n" /></ formatter ></ subsystem > Registro de depuración
En JBoss, puede habilitar y deshabilitar fácilmente el registro de DEBUG y volver al registro de INFO en tiempo de ejecución. Para configurar el nivel de registro de DEBUG por primera vez, ejecute los siguientes comandos de la CLI de JBoss/WildFly.
Primero, debe crear los módulos de registro en JBoss/WildFly. Estos módulos son paquetes Java , y EJBCA utiliza dos paquetes Java principales. Esto solo es necesario una vez, tras ejecutar estos dos comandos, para poder configurar el nivel de registro en ambos módulos.
/subsystem=logging/logger=org.ejbca:add/subsystem=logging/logger=org.cesecore:addCuando los módulos están allí (técnicamente, crea entradas en JBoss/WildFly standalone.xml), puede establecer el nivel de registro en DEBUG para estos dos módulos.
/subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=DEBUG)/subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=DEBUG)Posteriormente, puede cambiar entre el registro DEBUG e INFO en tiempo de ejecución, por ejemplo, para especificar el registro INFO (nivel de producción normal):
/subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=INFO)/subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=INFO) Nivel de registro en submódulos específicos
Si no desea habilitar el registro de depuración para todo EJBCA, también puede habilitarlo para submódulos específicos de EJBCA. Por ejemplo, para habilitar el registro de depuración para la Transparencia de Certificados, ejecute el siguiente comando para agregar los submódulos a JBoss/WildFly:
/subsystem=logging/logger=org.cesecore.certificates.certificatetransparency:addLuego puede habilitar el registro de depuración solo para CT con:
/subsystem=logging/logger=org.cesecore.certificates.certificatetransparency:write-attribute(name=level, value=DEBUG)Tenga en cuenta que, tras añadir ese submódulo, este se suma a los paquetes generales que haya creado anteriormente y puede controlarse individualmente. Por lo tanto, puede eliminarlo completamente del sistema de registro con:
/subsystem=logging/logger=org.cesecore.certificates.certificatetransparency:remove Registro en Syslog
Puede configurar JBoss/WildFly para registrar en syslog y existen diferentes configuraciones que puede utilizar.
A continuación se muestra un ejemplo para que JBoss EAP7/WildFly 10+ inicie sesión en un servidor syslog remoto, utilizando syslog en el puerto TCP 514. Puede ajustar la configuración para adaptarla a diferentes servidores syslog.
<custom-handler name= "SYSLOGTCP" class = "org.jboss.logmanager.handlers.SyslogHandler" module= "org.jboss.logmanager" ><level name= "INFO" /><encoding value= "ISO-8859-1" /><formatter><pattern-formatter pattern= "%-5p [%c] (%t) %s%E%n" /></formatter><properties><property name= "appName" value= "EJBCA" /><property name= "facility" value= "LOCAL_USE_5" /><property name= "serverHostname" value= "syslogserver-at.mydomain.com" /><property name= "hostname" value= "-" /><property name= "port" value= "514" /><property name= "syslogType" value= "RFC5424" /><property name= "protocol" value= "TCP" /><property name= "messageDelimiter" value= "-" /><property name= "useMessageDelimiter" value= "true" /></properties></custom-handler> Firma del registro del sistema
Los registros del sistema se pueden firmar a medida que se rotan. Para obtener más información, consulte Firma de registros externos en Seguridad EJBCA .
Monitoreo de registros
Al monitorear registros desde EJBCA, el disparador común a monitorear son los eventos de ERROR en el registro del sistema.
Por ejemplo, si hay un error al inicializar un HSM durante el inicio:
10:46:53,099 ERROR [org.cesecore.keys.token.p11.Pkcs11Wrapper] (default task-9) Wrong arguments were passed to sun.security.pkcs11.wrapper.PKCS11.CK_C_INITIALIZE_ARGS.getInstance threw an exceptionUn evento de error como este debería provocar que un operador inspeccione el sistema para investigar el problema.
Integración con un SIEM
Puede integrar EJBCA con un software de gestión de eventos e información de seguridad (SIEM) enviándole registros.
Graylog
Graylog puede consumir syslog y otros formatos de registro. Para más información, consulte Integración de EJBCA con Graylog.
Contenido relacionado: Descripción general del registro de auditoría
Para obtener más información sobre el registro de auditoría de EJBCA, específicamente el registro de todos los pasos del proceso de inscripción en la base de datos, para su uso posterior por parte de un auditor, consulte Descripción general del registro de auditoría.