Guía de integración del almacén de claves PKCS#12 / PFX

Resumen

Esta guía configura el sensor CBOM Secure Discover_Keystore para detectar almacenes de claves PKCS#12 (.p12, .pfx), contenedores protegidos con contraseña que agrupan una clave privada con su cadena de certificados. El sensor escanea las rutas configuradas en modo de solo lectura y extrae los nombres distintivos (DN) del sujeto/emisor del certificado, el número de serie y su validez, el algoritmo y el tamaño de la clave pública, el algoritmo de firma, los nombres alternativos del sujeto (SAN), el uso de la clave y las huellas digitales. Nunca lee, almacena ni transmite información de la clave privada.

Requisitos previos

  • Acceso a la plataforma CBOM y el agente Discover_Keystore instalado en el/los host(s) con los archivos .p12/.pfx.
  • Al menos un archivo .p12 o .pfx en los directorios de destino.
  • La contraseña de almacenamiento para cada almacén de claves que el sensor abrirá (se proporciona como información secreta, nunca se registra).
  • Java 8+ u OpenSSL 1.1+ solo si necesita crear/convertir almacenes de claves.
  • Una cuenta de sistema operativo dedicada con privilegios mínimos (cbom-sensor) con acceso de solo lectura, nunca como root.

Guía paso por paso

Paso 1: Localizar los archivos PKCS#12

find /opt/certs /etc/ssl /var/lib/certs -type f \( -name "*.p12" -o -name "*.pfx" \) 2>/dev/null # verificar que un archivo sea un paquete válido protegido con contraseña (lista los paquetes, sin material de clave): openssl pkcs12 -info -in /opt/certs/server.p12 -noout -passin pass:changeit

Paso 2: (Opcional) Exporte un archivo PKCS#12 desde JKS o PEM.

Si los certificados se encuentran en un almacén de claves JKS, expórtelos a PKCS#12; o agrupe archivos de certificados/claves PEM separados:

keytool -importkeystore \ -srckeystore keystore.jks -srcstoretype JKS -srcstorepass -destkeystore out.p12 -deststoretype PKCS12 -deststorepass -noprompt openssl pkcs12 -export -in cert.pem -inkey key.pem -certfile chain.pem \ -out bundle.p12 -name "myserver" -passout pass:

Paso 3: Otorgar permisos de solo lectura al sistema de archivos.

sudo useradd --system --no-create-home --shell /sbin/nologin cbom-sensor sudo setfacl -R -mu:cbom-sensor:rX /opt/certs sudo -u cbom-sensor openssl pkcs12 -info -in /opt/certs/server.p12 -noout -passin pass:

Paso 4: Configurar el sensor de seguridad CBOM

sensores: - nombre: Discover_Keystore habilitado: verdadero programación: "0 2 * * *" opciones: scan_paths: [/opt/certs, /etc/ssl/private, /var/lib/tomcat/conf] file_extensions: [.p12, .pfx] recursive: verdadero keystore_credentials: - ruta: /opt/certs/server.p12 password_env: CBOM_KS_SERVER_PASSWORD - ruta: /opt/certs/wildcard.pfx password_env: CBOM_KS_WILDCARD_PASSWORD default_password_env: CBOM_KS_DEFAULT_PASSWORD exclude_paths: [/opt/certs/archive, /opt/certs/expired] salida: formato: cbom-json destino: plataforma

Configure cada variable de contraseña en un archivo de entorno restringido (chmod 640, root:cbom-sensor) y, a continuación, recargue el agente.

Paso 5: Validar

sudo journalctl -u cbom-agent -n 100 --no-pager sudo cbom-ctl ejecución del sensor Discover_Keystore

Confirme que el escaneo encuentra los archivos PKCS#12 esperados y publica los activos. En el portal (Activos → Certificados), verifique que el sujeto, la fecha de caducidad y el algoritmo estén completos y que no exista ningún campo de clave privada. Los archivos con contraseña incorrecta registran una advertencia de verificación MAC.

Errores comunes

Error de verificación de MAC / contraseña incorrecta

Causa: La contraseña proporcionada no coincide o el archivo utiliza cifrado RC2/3DES heredado, incompatible con OpenSSL del host.

Solución: Verifique con openssl pkcs12 -info; vuelva a exportar los archivos antiguos con cifrado moderno.

Permiso denegado para leer el almacén de claves.

Causa: cbom-sensor no tiene permisos de lectura sobre el archivo o su directorio principal.

Resolución: Conceda permisos de lectura mediante setfacl o pertenencia a un grupo; vuelva a ejecutar el sensor.

No se encontraron activos a pesar de que los archivos están presentes.

Causa: las rutas de escaneo o las extensiones de archivo no coinciden con los archivos reales (por ejemplo, falta el punto inicial).

Solución: Compare la salida del comando find con la configuración; corrija las discrepancias y vuelva a ejecutarlo.

Recomendaciones de seguridad

  • Haz referencia a las contraseñas a través de password_env; nunca las incluyas en el archivo YAML.
  • Ejecute el sensor como una cuenta dedicada de solo lectura, sin shell ni sudo.
  • Restringir el archivo de entorno al modo 640, raíz:cbom-sensor.
  • Rote las contraseñas del almacén PKCS#12 según la política y reinicie el agente.
  • Agregue los directorios de almacén de claves archivados/caducados a exclude_paths.

Conclusión

El sensor Discover_Keystore proporciona visibilidad continua y de solo lectura de los almacenes de claves PKCS#12, extrayendo metadatos de certificados y claves públicas sin tocar nunca el material de la clave privada, y mostrando certificados que caducan, tamaños de clave débiles y algoritmos de firma obsoletos en CBOM Secure.