Administración de configuraciones de EJBCA

EJBCA mantiene sus configuraciones estáticas en el directorio conf . Este directorio contiene varios archivos de configuración (guardados como *.properties.sample ), que deben renombrarse a *.properties para activarse. Para instalaciones de producción, se recomienda mantener los archivos de configuración en un directorio aparte para conservar la configuración al actualizar EJBCA.

Configuración requerida

Antes de continuar, es necesario modificar algunos archivos de configuración para garantizar que la instalación básica de EJBCA funcione correctamente. Se pueden realizar otros cambios después de la instalación, volviendo a implementar EJBCA.

instalar.propiedades

El archivo de configuración install.properties especifica las propiedades de la CA de administración.

Las propiedades especificadas en install.properties solo se utilizan durante el paso de instalación de EJBCA y no se compilarán en el archivo EAR de EJBCA.

A continuación se enumeran las propiedades que deben configurarse antes de la instalación. Tenga en cuenta que el archivo de configuración puede incluir propiedades distintas a las que se indican a continuación.

Propiedad

Valor predeterminado

Descripción

ca.nombre

Gestión CA

El nombre de la CA de administración creada durante la instalación. Este valor y los siguientes se pueden ignorar si no se crea ninguna CA de administración para esta instancia.

ca.dn

CN=GestiónCA,O=EJBCA Muestra,C=SE

El DN del sujeto de la CA de gestión.

ca.tipo de token

suave

El almacén de claves para las claves de la CA de administración da como resultado un almacén de claves PKCS#12 almacenado en la base de datos, mientras que se debe utilizar el valor org.cesecore.keys.token.PKCS11CryptoToken si el almacén de claves está almacenado en un HSM.

ca.contraseña de token

nulo

Establece la contraseña del token para el almacén de claves de la CA de administración. Debe ser nula si no se utiliza contraseña, como en el caso de almacenes de claves programables o la protección del módulo nCipher.

ca.tokenproperties

/inicio/ejbca/ejbca/conf/catoken.propiedades

Enlace a un archivo que define el token HSM que utiliza la CA de administración. Puede ignorarse si se utiliza un almacén de claves programable.

ca.keyspec

2048

Especificación de claves para las claves de la CA de administración. Las claves RSA se definen por su longitud, mientras que las claves ECDSA por su nombre de curva o el valor implícitamente CA. Para más información, consulte Claves y firmas ECDSA .

ca.tipo de clave

RSA

Tipo de clave para las claves de la CA de administración. Los valores disponibles son RSA , ECDSA o DSA.

algoritmo de firma ca.

SHA256 con RSA

Algoritmo de firma para la CA de administración. Los algoritmos disponibles son: SHA1 con RSA, SHA1 con ECDSA, SHA256 con RSA y SHA256 con ECDSA .

ca.validez

3650

Validez para la CA de Gestión.

política de California

nulo

El ID de política de la CA de administración. Este ID determina la política de PKI que utiliza la CA. Use 2.5.29.32.0 para "cualquier política" (rfc5280) o null para ninguna política.

ca.certificateprofile

RAÍZ

Perfil de certificado utilizado por la CA de administración. Requiere que el perfil se importe antes de la instalación.

cesecore.propiedades

A continuación se enumeran las propiedades que deben configurarse antes de la instalación. Tenga en cuenta que el archivo de configuración puede incluir propiedades distintas a las que se indican a continuación.

Propiedad

Valor predeterminado

Descripción

permitir.configuración.dinámica.externa

FALSO

Permite a EJBCA leer cesecore.properties desde un directorio externo. Para más información, consulte Manejo de configuraciones en un directorio independiente .

algoritmo ca.rn

SHA1PRNG

El algoritmo utilizado por el RNG de EJBCA, SHA1PRNG, no debe confundirse con el algoritmo de firma obsoleto SHA1 y es compatible con FIPS.

ca.serialnumberoctetsize

20

El tamaño predeterminado de los números de serie de los certificados, definido en octetos. El tamaño de los octetos será configurable por cada CA, pero este valor se establecerá para la CA de administración. Se incluye el bit de signo de un número de serie, y como el tamaño del campo es de longitud constante (independientemente de la longitud del número de serie), la entropía será ligeramente superior a 20*8 -2. Los valores aceptables (según la definición de RFC5280) están entre 4 y 20.

lista blanca de clases personalizadas


Una lista separada por comas de clases personalizadas que necesitan pasar el filtro de deserialización de EJBCA, por ejemplo, extensiones personalizadas.

auditoríadeeventosdeseguridad.implementación.X

0=org.cesecore.audit.impl.
log4j.Dispositivo Log4j
1=org.cesecore.audit.impl.
Integridad protegida.Dispositivo protegido por integridad

Se utiliza para definir dispositivos de registro de auditoría. La X permite el uso de varios dispositivos. Todas las distribuciones de EJBCA utilizan Log4jDevice (que envía los registros al registro del servidor) e IntegrityProtectedDevice , que envía los registros de auditoría a la base de datos. Sin embargo, la implementación está diseñada para permitir dispositivos de registro de auditoría personalizados. Para ignorar explícitamente uno de estos dispositivos, cualquiera de los valores puede establecerse en nulo. El registro de auditoría se realizará durante la instalación de EJBCA para registrar los valores definidos para la CA de administración.

ejbca.propiedades

A continuación se enumeran las propiedades que deben configurarse antes de la instalación. Tenga en cuenta que el archivo de configuración puede incluir propiedades distintas a las que se indican a continuación.

Propiedad

Valor predeterminado

Descripción

servidor de aplicaciones.inicio

$APPSRV_INICIO

El directorio de inicio del servidor de aplicaciones. De forma predeterminada, se usará una variable de entorno establecida en $APPSRV_HOME .

tipo de servidor de aplicaciones

<detección automática>

El tipo de servidor de aplicaciones utilizado, que normalmente será detectado automáticamente por los scripts de instalación. Si es necesario configurarlo explícitamente, los valores posibles son JBoss y GlassFish.

ejbca.modo de producción

verdadero

Si EJBCA debe implementarse en modo de producción, lo que significa omitir algunas clases que se utilizan solo para pruebas y pueden ser un riesgo de seguridad si se implementan en un entorno de producción.

permitir.configuración.dinámica.externa

FALSO

Permite a EJBCA leer ejbca.properties desde un directorio externo. Para más información, consulte Manejo de configuraciones en un directorio independiente .

propiedades web

A continuación se enumeran las propiedades que deben configurarse antes de la instalación. Tenga en cuenta que el archivo de configuración puede incluir propiedades distintas a las que se indican a continuación.

Propiedad

Valor predeterminado

Descripción

web.nosslconfigure

FALSO

Establézcalo como verdadero si desea que el comando de implementación del almacén de claves no configure los ajustes SSL del servidor de aplicaciones. Puede usarse para reforzar instalaciones expuestas, como aplicaciones virtuales que no pueden usar TLS.

java.contraseña de confianza

cámbialo

La contraseña del almacén de claves de confianza de Java ( truststore.jks). Para evitar posibles problemas con Ant, evite caracteres (como $ ) que deban escaparse.

superadmin.cn

Superadministrador

El nombre común (CN) del usuario superadministrador inicial.

superadmin.dn

CN=${superadmin.cn},O=Muestra EJBCA,C=SE

<p El DN completo del sujeto del usuario superadministrador inicial. Tenga en cuenta que debe comenzar con el CN descrito anteriormente.

superadmin.validity

2 años

Permite especificar la validez del certificado de superadministrador durante la instalación. Si no se configura (se comenta), se utiliza el valor predeterminado de 2 años.
Utilice el formato de fecha ISO 8601 según los siguientes ejemplos: [aaaa-MM-dd HH:mm:ssZZ]: '2019-12-10 11:56:19+01:00'
o
(*y *mo *d *h *m *s) - y=365 días, mes=30 días
Al establecer un valor superadmin.validity se crea un perfil de entidad final y un perfil de certificado que se utiliza específicamente con el propósito de cambiar la validez del usuario superadmin predeterminado.

contraseña de superadmin

ejbca

La contraseña para el almacén de claves del superadministrador inicial ( superadmin.p12 ).

superadmin.batch

verdadero

Establezca en falso si no desea que el almacén de claves de superadministrador se genere durante la instalación, para poder generarlo manualmente.

httpsserver.contraseña

contraseña del servidor

La contraseña para el almacén de claves del servidor de aplicaciones ( keystore.jks) .

httpsserver.nombrehost

host local

El nombre de host de esta instancia.

servidor https.dn

CN=${httpsserver.hostname},O=EJBCA Muestra,C=SE

El DN del sujeto del certificado TLS utilizado por la interfaz de usuario de EJBCA.

servidor https.an

dnsName=${httpsserver.nombredehost}

El nombre alternativo del sujeto (SAN) del certificado TLS utilizado por la interfaz de usuario de EJBCA. Se pueden agregar hasta dos campos dnsName.

httpserver.pubhttp

8080

El puerto http público para configurar el servidor de aplicaciones.

httpserver.pubhttps

8442

El puerto https público para configurar el servidor de aplicaciones.

httpserver.privhttps

8443

El puerto https privado para configurar el servidor de aplicaciones.

httpserver.external.privhttps

Lo mismo que httpserver.privhttps

El puerto privado para exponer externamente, es decir, si se configura un proxy Apache delante de JBoss, se puede utilizar en su lugar 443.

httpserver.external.fqdn


El nombre de dominio completo (FQDN) del front-end, por ejemplo, un proxy Apache. Para crear una URL absoluta, el nombre del servidor se obtiene de la solicitud del cliente web. Déjelo en blanco si se ejecuta sin proxy Apache o con proxy Apache mediante AJP (no con ProxyPass). ${httpsserver.hostname} debe configurarse cuando se utiliza un proxy Apache en el mismo servidor que EJBCA. Por último, configure cualquier FQDN cuando se utilice un proxy Apache con la directiva ProxyPass (en cualquier servidor).

httpsserver.bindaddress.pubhttp
httpsserver.bindaddress.pubhttps
httpsserver.bindaddress.privhttps

0.0.0.0

Configurar para permitir únicamente conexiones desde la IP definida.

web.reqcertindb

verdadero

Se establece como falso para todos los certificados de autenticación emitidos por una CA conocida, pero no en la base de datos. Se usa normalmente si se utiliza una CA externa para emitir certificados administrativos, para gestionar subCA o para configurar EJBCA como RA.

cryptotoken.p11.lib. N. nombre
Archivo cryptotoken.p11.lib.N .


Los nombres y las ubicaciones de todos los archivos de biblioteca PKCS#11 utilizados.

cryptotoken.p11.attr.N.nombre
cryptotoken.p11.attr.N.archivo


Los archivos de atributos PKCS#11 que se utilizarán, en caso de que los incluidos con EJBCA no sean suficientes.

base de datos.propiedades

El archivo de configuración database.properties especifica las propiedades necesarias para configurar la conexión de la base de datos con el servidor de aplicaciones.

A continuación se enumeran las propiedades que deben configurarse antes de la instalación. Tenga en cuenta que el archivo de configuración puede incluir propiedades distintas a las que se indican a continuación.

Propiedad

Valor predeterminado

Descripción

origen de datos.nombre-jndi

EjbcaDS

El nombre de la fuente de datos de la base de datos EJBCA.

nombre.de.base.de.datos

h2

El nombre de la base de datos utilizada. Los valores disponibles son MySQL, Postgres, MSSQL, Oracle, Sybase, Onformix, Derby, DB2, Ingres y H2 . Para MariaDB, se puede usar MySQL .

base de datos.url

jdbc:h2:~/ejbcadb;RETRASO DE CIERRE DE BASE DE DATOS=-1

La URL de la base de datos.

controlador de base de datos

h2

El nombre del controlador de la base de datos.

base de datos.nombre de usuario

sa

El nombre de usuario establecido para la base de datos EJBCA.

base de datos.useSeparateCertificateTable

FALSO

Establézcalo como verdadero para almacenar los cuerpos de certificado en la tabla Base64CertData en lugar de junto con el resto de la información en la tabla CertificateData. Puede aumentar el rendimiento en implementaciones de 100 millones de certificados o más.

protección de base de datos.propiedades

EMPRESA Esta es una característica de EJBCA Enterprise.

El archivo de configuración databaseprotection.properties especifica la configuración utilizada para firmar las filas de varias tablas con el fin de proporcionar evidencia de manipulación, más comúnmente la tabla AuditRecordData.

A continuación se enumeran las propiedades que deben configurarse antes de la instalación. Tenga en cuenta que el archivo de configuración puede incluir propiedades distintas a las que se indican a continuación.

Propiedad

Valor predeterminado

Descripción

protección de base de datos.enablesign

FALSO

Establece la firma de todas las tablas globalmente. Para habilitar la firma de una tabla específica, añada el nombre de la tabla del objeto de entidad (consulte las definiciones de tabla para obtener una asignación) a la propiedad, por ejemplo:

databaseprotection.enablesign.AuditRecordData=true. Al establecer el valor globalmente como verdadero y una tabla individual como falso , dicha tabla puede excluirse.

protección de base de datos.habilitar verificación

FALSO

Aplica la verificación de filas al leer. Similar a databaseprotection.enablesign, este valor puede establecerse globalmente o para tablas individuales.

Para obtener instrucciones paso a paso sobre cómo configurar la protección de la base de datos con HMAC, consulte Cómo configurar la protección de la base de datos mediante HMAC .

Próximo paso: creación de la base de datos

Para obtener más información sobre cómo configurar su base de datos y crear índices de base de datos, consulte Creación de la base de datos .