Monitoreo de VA

EMPRESA Esta es una característica de EJBCA Enterprise.

Un requisito común es mantener el respondedor OCSP sincronizado con la CA. Por ejemplo, los Requisitos Base 1.7.2 estipulan la siguiente frecuencia con la que la CA debe actualizar el respondedor OCSP:

Para las respuestas de OCSP con intervalos de validez menores a dieciséis horas, la CA DEBE actualizar la información proporcionada a través de un Protocolo de estado de certificado en línea antes de la mitad del período de validez antes de la próxima actualización.

Para las respuestas de OCSP con intervalos de validez mayores o iguales a dieciséis horas, la CA DEBE actualizar la información proporcionada a través de un Protocolo de Estado de Certificado en Línea al menos ocho horas antes de la próxima actualización y no más tarde de cuatro días después de esta actualización.

Además, si la publicación de la información de revocación a uno o más respondedores OCSP se retrasa por algún motivo, el usuario podría obtener resultados inconsistentes, dependiendo del respondedor OCSP que reciba la solicitud. Si bien es inevitable que haya un cierto retraso en la actualización de los respondedores OCSP, puede ser conveniente desviar el tráfico de los respondedores OCSP que no estén actualizados con la información más reciente.

Para lograr esto, EJBCA ofrece un servlet independiente que puede ser consultado por un sistema de monitorización (por ejemplo, un balanceador de carga). El servlet responde con una lista de los VA desincronizados. Un VA se considera desincronizado si el publicador par que publica en él tiene al menos un elemento en su cola con una antigüedad superior a X segundos, donde X se conoce como la restricción de tiempo del estado del VA .

Requisitos para el Sistema de Monitoreo

Los siguientes requisitos se aplican para el Sistema de Monitoreo:

  • El sistema de monitoreo preferiblemente debería poder analizar JSON ya que esta es la salida producida por el servlet.

  • El sistema de monitoreo debe poder consultar el servlet en la CA directamente, ya que solo la CA puede saber qué VA están desincronizados.

Configurar la restricción de tiempo del estado de VA

La restricción de tiempo del estado de VA se configura en la Configuración del sistema , en la pestaña Configuraciones básicas .

El valor predeterminado del servlet de monitoreo y verificación de estado es 14400 segundos (4 horas).

imágenes/descargar/archivos adjuntos/100270513/va_status_time_constraint.png

Consultar el servlet de estado de VA

Consulta del estado de todos los VA

Realizar una solicitud HTTP GET sin parámetros. Por ejemplo:

> curl -s http: //localhost:8080/ejbca/publicweb/healthcheck/vastatus | jq .
{
"error" : false ,
"outOfSync" : [
{
"name" : "VA Peer Publisher 2"
},
{
"name" : "VA Peer Publisher 3"
}
]
}

Consulta del estado de un único VA

Realice una solicitud HTTP GET con el nombre del parámetro establecido en el nombre del editor que publica en el VA que se está monitoreando. Por ejemplo:

> curl -s http: //localhost:8080/ejbca/publicweb/healthcheck/vastatus?name=VA+Peer+Publisher+2 | jq .
{
"error" : false ,
"outOfSync" : [
{
"name" : "VA Peer Publisher 2"
}
]
}

Contenido de la respuesta

El servlet devuelve una respuesta JSON con el siguiente esquema:

{
"$schema" : "http://json-schema.org/draft-04/schema#" ,
"type" : "object" ,
"properties" : {
"error" : {
"type" : "boolean"
"description" , "Indicates if the servlet could fulfill the request."
},
"message" : {
"type" : "string" ,
"description" : "A description of the error (if any)."
}
"outOfSync" : {
"type" : "array" ,
"items" : [
{
"type" : "object" ,
"properties" : {
"name" : {
"type" : "string" ,
"description" : "The name of a publisher publishing to a VA being out of sync."
}
},
"required" : [
"name"
]
}
]
}
},
"required" : [
"error"
]
}

La respuesta JSON siempre contiene una clave de error establecida en "true" si el servlet no puede completar la solicitud. Si "error" es "true" , se incluye una cadena de mensaje con una descripción del error. El sistema de monitorización puede entonces consultar a la siguiente CA del clúster (si se utiliza uno) o generar una alarma.

Si el error es falso , la solicitud se realizó correctamente. La matriz outOfSync contiene una lista de nombres de publicadores correspondientes a los VA desincronizados en el sistema. Se puede indicar a un balanceador de carga que expulse el tráfico de estos VA.

Si todos los VA están desincronizados, se devuelve un código de estado HTTP de 200 para evitar que un balanceador de carga deje fuera de funcionamiento a todos los respondedores OCSP al mismo tiempo.

Códigos de estado HTTP

Código de estado

Significado

Ejemplo de respuesta

200

O bien todos los VA cuyo estado se solicita están sincronizados con la CA, o todos los VA están desincronizados .

{ "error": falso, "fuera de sincronización": [] }

401

El sistema de monitoreo no está autorizado para acceder al servlet de estado de VA.

{ "error": true, "message": "Las solicitudes de <IP aquí> no están autorizadas." }

500

Se produjo un error al consultar el servlet.

{ "error": true, "message": "<Descripción del error aquí>" }

503

Una o más VA, cuyo estado se solicita, están desincronizadas. El sistema de monitoreo debe ordenar al balanceador de carga que no expulse el tráfico de estas VA.

{ "error": falso, "outOfSync": [ { "nombre": "VA Peer Publisher 2" } ] }

Configurar el acceso al servlet de estado de VA

Es posible restringir o permitir el acceso al servlet mediante la inclusión de direcciones IP en la lista blanca. Esto se realiza mediante la propiedad healthcheck.authorizedips en ejbca.properties . Por defecto, solo se permiten solicitudes procedentes del host local (127.0.0.1).

Editores apoyados

El servlet de estado de VA supervisa el publicador de pares de la autoridad de validación empresarial EJBCA. El publicador de pares de la autoridad de validación (heredado) no es compatible.

Configuración del editor

La cola debe ser utilizada por el publicador, es decir, dependiendo de lo que desee publicar en el VA, debe seleccionar al menos una de las opciones Usar cola para CRLs , Usar cola para certificados y Usar cola para respuestas OCSP .

No se debe usar la opción " Mantener los elementos publicados correctamente en la base de datos" . Para obtener más información sobre la configuración del editor, consulte la sección "Descripción general de editores" .