Guía de integración de PrimeKey EJBCA Enterprise (KMIP)
Resumen
Esta guía conecta el sensor CBOM Secure Discover_KMIP a una instancia PrimeKey EJBCA Enterprise que expone una interfaz KMIP 1.2+ a través de TLS en el puerto 5696, de solo lectura:
- Claves simétricas y asimétricas en el almacén de claves KMIP
- Atributos clave: algoritmo, longitud, estado, fechas de activación/desactivación, UID
- Objetos gestionados: certificados, datos secretos y objetos opacos
- Metadatos del ciclo de vida: marcas de tiempo de creación y máscaras de uso criptográficas
Nota: esta es la ruta del complemento KMIP; para el descubrimiento de certificados de la API REST de EJBCA, consulte la guía de EJBCA por separado.
Requisitos previos
- EJBCA Enterprise 7.4 o superior con una licencia activa del módulo KMIP.
- Acceso de Superadministrador o Administrador RA a la interfaz web de administración de EJBCA.
- Una CA interna en EJBCA para firmar el certificado del cliente (denominada Internal-TLS-CA).
- Se permite el tráfico TCP entrante en el puerto 5696 desde el host del sensor; la cadena CA (PEM) se exporta para la verificación del servidor.
- OpenSSL o keytool disponibles; sensor Discover_KMIP (2.0+) instalado.
Guía paso por paso
Paso 1: Crear un perfil de entidad final y un perfil de certificado.
En la interfaz de administración → Funciones RA → Perfiles de entidad final, agregue CBOM_KMIP_Client con CN requerido, CA predeterminada Internal-TLS-CA y Token = archivo P12 (contraseña requerida). Cree un perfil de certificado CBOM_KMIP_TLS_Client (tipo de entidad final, usos de clave Firma digital + cifrado de clave, autenticación de cliente web TLS EKU, validez de 365 días).
Paso 2: Emitir el certificado del cliente.
En Funciones RA → Agregar Entidad Final, cree el nombre de usuario cbom-kmip-sensor con CN cbom-kmip-sensor utilizando los perfiles anteriores y una contraseña de inscripción temporal. Inscríbase a través de la web pública de EJBCA (Inscribirse con nombre de usuario) generando una clave RSA 2048 (o EC P-256) y descargue cbom-kmip-sensor.p12. Verifíquelo y prepárelo:
openssl pkcs12 -in cbom-kmip-sensor.p12 -nokeys -clcerts \ -passin pass:'Cbom@TmpP12!2025' | openssl x509 -noout -subject -dates chmod 640 /etc/cbom/certs/cbom-kmip-sensor.p12 chmod 644 /etc/cbom/certs/internal-tls-ca-chain.pem chown cbom-service:cbom-service /etc/cbom/certs/cbom-kmip-sensor.p12
Paso 3: Habilitar el servicio KMIP
En Funciones del sistema → Servicios, edite el Servicio KMIP, confirme Activo, configure el intervalo del trabajador, guarde y ejecute. Verifique el oyente:
openssl s_client -connect :5696 \ -cert /etc/cbom/certs/cbom-kmip-sensor.p12 -certform P12 \ -pass pass:'Cbom@TmpP12!2025' \ -CAfile /etc/cbom/certs/internal-tls-ca-chain.pem
Paso 4: Otorgar permisos de lectura a KMIP
En Funciones del sistema → Roles y reglas de acceso, cree un rol CBOM_KMIP_ReadOnly que otorgue los permisos KMIP/Locate, KMIP/Get y KMIP/GetAttributes, y agregue un miembro de rol que coincida con el DN del certificado de cliente CN=cbom-kmip-sensor. Nunca otorgue los permisos Create, Destroy, Register ni Activate.
Paso 5: Configurar el sensor de seguridad CBOM
sensores: - nombre: Discover_KMIP habilitado: verdadero tipo: kmip programación: "0 2 * * *" conexión: host: ejbca.internal.example.com puerto: 5696 tls: habilitado: verdadero certificado_cliente: /etc/cbom/certs/cbom-kmip-sensor.p12 formato_certificado_cliente: pkcs12 contraseña_certificado_cliente: "${CBOM_EJBCA_P12_PASSWORD}" paquete_ca: /etc/cbom/certs/internal-tls-ca-chain.pem verificar_certificado_servidor: verdadero kmip: versión_protocolo: "1.2" operaciones: [Localizar, Obtener, "Obtener atributos", "Obtener lista de atributos"] tipos_objeto: [Clave simétrica, Clave pública, Clave privada, Certificado, Datos secretos, Objeto opaco] salida: formato: cbom-json etiqueta: ejbca-prod-kmip
Paso 6: Validar
cbom-sensor run --sensor Discover_KMIP --config /etc/cbom/sensors/ejbca-kmip.yaml --dry-run tail -100 /var/log/cbom/discover_kmip.log | grep -E "ERROR|WARN"
Confirme que KMIP Locate devuelve objetos y que no aparecen líneas de ERROR; verifique que la fuente ejbca-prod-kmip se muestre en el panel de control de CBOM.
Errores comunes
El protocolo de enlace TLS falló al verificar el certificado.
Causa: ca_bundle está incompleto (falta un intermedio).
Solución: Descargue la cadena completa de certificados CA (Funciones de CA → Descargar cadena de certificados CA PEM) y reemplace el paquete.
Operación KMIP no permitida: Permiso denegado.
Causa: El DN del cliente no está asignado a un rol que permita las operaciones Locate/Get/GetAttributes.
Resolución: Cree/verifique el rol CBOM_KMIP_ReadOnly con un miembro que coincida con CN=cbom-kmip-sensor.
Conexión rechazada en 5696
Causa: El servicio KMIP no está en funcionamiento o un cortafuegos bloquea el puerto 5696.
Solución: Confirme el servicio en Funciones del sistema → Servicios, compruebe ss -tlnp | grep 5696 y abra el firewall al host del sensor.
Recomendaciones de seguridad
- Almacene la contraseña P12 en un gestor de secretos (el sensor admite referencias vault://).
- Restringir el P12 a la cuenta de servicio cbom en el modo 0640.
- Cambie el certificado del cliente anualmente y actualice la configuración.
- Limite la función KMIP a Localizar/Obtener/Obtener Atributos únicamente.
- Habilite el registro de auditoría de EJBCA KMIP para obtener un registro de consultas a prueba de manipulaciones.
Conclusión
El sensor Discover_KMIP se autentica en PrimeKey EJBCA mediante TLS mutuo y enumera todos los objetos gestionados por KMIP en modo de solo lectura, con una identidad de cliente auditable y revocable emitida por la CA interna, lo que alimenta el descubrimiento continuo de activos criptográficos en CBOM Secure.
