Integración de EJBCA con Graylog
Graylog puede consumir syslog y otros formatos de registro. Las siguientes secciones detallan los pasos necesarios para enviar tráfico de syslog a Graylog y configurarlo para visualizar estadísticas interesantes.
Instalar Graylog
El primer paso es instalar Graylog. Puedes empezar a realizar pruebas rápidamente iniciando una máquina en AWS con la AMI, la máquina virtual OVA o contenedores Docker. Para obtener más información, consulta la documentación de Graylog en "Descargar e instalar Graylog" .
Habilitar la entrada TCP de Syslog
Este ejemplo utiliza syslog sobre TCP. Para habilitar el uso de la entrada TCP de syslog en Graylog, haga lo siguiente:
Vaya a la consola web de Graylog y seleccione Sistema > Entrada .
Seleccione Syslog TCP en el menú de lista Seleccionar entrada y haga clic en Iniciar nueva entrada .
Configurar el registro de EJBCA
En el servidor EJBCA, configure WildFly para que envíe mensajes a Graylog con TCP de syslog. Esto se realiza añadiendo la siguiente sección al subsistema de registro del archivo JBoss/WildFly standalone.xml:
< name -handler syslog = "SYSLOGTCP" enabled = "true" >< level name = "INFO" />< hostname value = "my.host" />< app -name value = "WildFly" />< server -address value = "my.graylog.server" />< port value = "514" />< facility value = "local-use-1" /></ syslog -handler>También debe configurar el registrador raíz para que use el nuevo controlador. Esto empezará a enviar los mismos registros a syslog. Agregue el nuevo controlador modificando la sección de registradores raíz en standalone.xml:
< root -logger>< level name = "INFO" />< handlers >< handler name = "CONSOLE" />< handler name = "FILE" />< handler name = "SYSLOGTCP" /></ handlers ></ root -logger>Puede limitar aún más el registro para incluir únicamente el registro de auditoría configurando el envío de eventos desde org.cesecore.audit.impl.log4j.Log4jDevice al controlador de syslog. Esto puede ser útil si le interesan principalmente las estadísticas, pero se perderá información como las excepciones en el registro.
Envíe algunos elementos de registro realizando una acción en la interfaz de administración de EJBCA, por ejemplo, guardar un perfil de certificado.
Crear extractores de Graylog
Los extractores de Graylog se utilizan para extraer campos del flujo de registro que se pueden usar en consultas de Graylog. Cree extractores para la entrada de registro en Sistema > Entrada en la consola web de Graylog.
Puede analizar los elementos del registro y crear los extractores que necesite. En nuestro ejemplo, se crean los siguientes extractores:
RADN: DN de un administrador que emitió un certificado, por ejemplo, 'CN=RA Admin,O=PrimeKey,C=SE'
Tipo de extractor: Dividir e indexar
Dividido por: ;
Índice objetivo: 6
EVENTO: El evento que ocurrió, por ejemplo 'CERT_CREATION'
Tipo de extractor: Dividir e indexar
Dividido por: ;
Índice objetivo: 2
CERTPROFILE: el perfil de certificado para el que se emitió un certificado, por ejemplo 'certprofile=346136222'
Tipo de extractor: Dividir e indexar
Dividido por: ;
Índice objetivo: 11
CERT: el certificado emitido, por ejemplo 'cert=MIIE1DCCArygAw...'
Tipo de extractor: Dividir e indexar
Dividido por: ;
Índice objetivo: 13
Condición: Solo intentar la extracción si el campo contiene la cadena 'cert='
SUBJECTDN: el DN del sujeto al que se emite un certificado, por ejemplo 'subjectdn=CN= T est1 test'
Tipo de extractor: Dividir e indexar
Dividido por: ;
Índice objetivo: 10
Condición: Solo intentar la extracción si el campo contiene la cadena 'subjectdn='
Puede editar y crear extractores de muchos tipos diferentes, los anteriores son ejemplos simples.
Una vez creados los extractores, acceda a EJBCA y realice las acciones necesarias para registrar lo que desee visualizar. Por ejemplo, ejecute la prueba de estrés de ClientToolBox para emitir varios certificados de diferentes RA.
Crear un panel de Graylog
Los paneles de Graylog le permiten crear vistas predefinidas y visualizar sus datos.
Para crear un nuevo panel de Graylog, haga lo siguiente:
Vaya a la sección Paneles y haga clic en Crear panel para crear un nuevo panel llamado Estadísticas EJBCA .
Vaya a Buscar y cree algunas búsquedas para su panel de control.
Agregar y visualizar búsquedas en el panel
A continuación, se ofrecen ejemplos de información de resultados de búsqueda que puede agregar a su panel. Esta captura de pantalla muestra un panel con los ejemplos de búsqueda agregados y algunos datos de prueba de muestra:

Tenga en cuenta que los ejemplos podrían no ser adecuados para sus necesidades. Por ejemplo, buscar en todo el tiempo podría no ser adecuado si tiene conjuntos de datos muy grandes, y no mostrará los resultados correctos si empieza a usar Graylog cuando ya lleva tiempo ejecutando EJBCA (por lo tanto, no mostrará todo el tiempo desde la instalación de EJBCA).
Ejemplos de información de resultados de búsqueda para visualizar:
CERT_CREATION último día
Búsqueda en el último día
EVENTO: CREACIÓN DE CERTIFICADO
Haga clic en Agregar recuento al panel
CERT_REVOKED último día
Búsqueda en el último día
EVENTO: CERTIFICADO REVOCADO
Haga clic en Agregar recuento al panel
Certificados emitidos por SuperAdmin en todo momento
Buscar en todos los mensajes
EVENTO:CREACIÓN_CERTIFICADO Y RADN:CN=SuperAdmin
Haga clic en Agregar recuento al panel
Certificados por RA
Buscar en todos los mensajes
EVENTO: CREACIÓN DE CERTIFICADO
Seleccione RADN y haga clic para expandir, haga clic en Valores rápidos y luego en Agregar al tablero cuando vea el gráfico.
Certificados emitidos por día
Búsqueda en los últimos 30 días
EVENTO: CREACIÓN DE CERTIFICADO
Seleccione Día en el Histograma y luego haga clic en Agregar al tablero
Excepciones la semana pasada
Búsqueda en los últimos 7 días
Excepción
Seleccione Hora en el Histograma y luego haga clic en Agregar al tablero
Ahora puedes ir a tu panel de control y reorganizar los widgets usando Desbloquear/Editar.