Copia de seguridad y restauración

El software empresarial EJBCA diseñado para operar en un entorno de alta disponibilidad y alto rendimiento.

La copia de seguridad de EJBCA es esencial para la mayoría de las organizaciones, y EJBCA está diseñado para facilitar la realización de la copia de seguridad.

Las copias de seguridad de EJBCA se componen de datos dinámicos y estáticos. Los datos dinámicos son aquellos que cambian durante las operaciones diarias. Todos los datos dinámicos se almacenan en la base de datos. Los datos estáticos no cambian durante las operaciones normales y solo es necesario realizar una copia de seguridad cuando cambian.

  • Datos dinámicos que necesitan ser respaldados periódicamente:

    • Contenido de la base de datos.

  • Datos estáticos que solo necesitan copia de seguridad cuando se modifican:

    • Archivos de programa EJBCA.

    • Configuración de EJBCA (ejbca/conf).

    • Almacenes de claves de administración y SSL (ejbca/p12).

Realizar una copia de seguridad de una instalación de EJBCA

Para realizar una copia de seguridad de una instalación de EJBCA, haga lo siguiente:

  • Realizar una copia de seguridad de la base de datos

  • Copia de seguridad de todo $EJBCA_HOME/conf/**

  • Copia de seguridad de todo $EJBCA_HOME/p12/**

Si utiliza almacenes de claves virtuales para las CA, esto es todo lo que necesita. Si utiliza un HSM, también deberá realizar una copia de seguridad de sus claves en él. La forma de realizar esta copia de seguridad y restauración depende del HSM que utilice. Consulte la documentación de su HSM.

Restaurar

Para restaurar, haga lo siguiente:

  • Restaurar base de datos

  • Descomprimir el nuevo EJBCA

  • Restaurar conf y p12

  • Ejecute lo siguiente para configurar JBoss e implementar EJBCA.
    Si está utilizando otro servidor de aplicaciones, consulte la documentación de instalación para la implementación.

    ant deploy
    ant deploy-keystore
    ant web-configure


Certificados de exportación

Los certificados generados por EJBCA se guardan en la tabla CertificateData de la base de datos si el almacenamiento de certificados está habilitado. La tabla CertificateData contiene una columna llamada "base64Cert" que contiene el certificado codificado en base64. Puede obtener todos los certificados directamente de la base de datos mediante una consulta SQL select. Si usa MariaDB o MySQL, el resultado podría ser similar a este:

mysql -u root -p -B ejbca -e "SELECT subjectDN,base64Cert FROM CertificateData" > /tmp/certs

Esto le proporcionará un archivo con un encabezado y dos columnas, donde la primera columna contiene el DN del sujeto del certificado y la segunda columna contiene el certificado en sí.

O bien, si solo desea los certificados y ningún encabezado, agregue el indicador -N y seleccione solo la columna base64Cert:

mysql -u root -p -BN ejbca -e "SELECT base64Cert FROM CertificateData" > /tmp/certs

Ahora tendrá un archivo con todos los certificados presentes en su instalación de EJBCA, con un certificado por línea. Si desea tener los certificados en archivos separados, use split:

split -d --lines= 1 /tmp/certs

Exportar CRL

De manera similar, las CRL se almacenan codificadas en base64 en la tabla CRLData.

mysql -u root -p -B ejbca -e "SELECT crlNumber,issuerDN,base64CRL FROM CRLData ORDER BY crlNumber" > /tmp/crls