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.