PKCS#12 / PFX Keystore-Integrationsleitfaden
Übersicht
Diese Anleitung konfiguriert den CBOM Secure Discover_Keystore-Sensor zur Erkennung von PKCS#12-Keystores (.p12, .pfx) – passwortgeschützten Containern, die einen privaten Schlüssel zusammen mit der zugehörigen Zertifikatskette enthalten. Der Sensor scannt die konfigurierten Pfade schreibgeschützt und extrahiert die Zertifikatsnamen (Subject/Issuer DNs), Seriennummer und Gültigkeitsdauer, Algorithmus und Größe des öffentlichen Schlüssels, Signaturalgorithmus, SANs, Schlüsselverwendung und Fingerabdrücke. Er liest, speichert oder überträgt niemals private Schlüsseldaten.
Voraussetzungen:
- Zugriff auf die CBOM-Plattform und der Discover_Keystore-Agent, der auf dem/den Host(s) mit den .p12/.pfx-Dateien installiert ist.
- Mindestens eine .p12- oder .pfx-Datei in den Zielverzeichnissen.
- Das Speicherpasswort für jeden Schlüsselspeicher, den der Sensor öffnet (wird als Geheimnis übermittelt und niemals protokolliert).
- Java 8+ oder OpenSSL 1.1+ nur dann, wenn Sie Keystores erstellen/konvertieren müssen.
- Ein dediziertes Betriebssystemkonto mit minimalen Berechtigungen (cbom-sensor) mit reinem Lesezugriff – niemals Root-Zugriff.
Schritt-für-Schritt-Anleitung
Schritt 1: PKCS#12-Dateien suchen
find /opt/certs /etc/ssl /var/lib/certs -type f \( -name "*.p12" -o -name "*.pfx" \) 2>/dev/null # Überprüfen, ob eine Datei ein gültiges passwortgeschütztes Paket ist (listet Pakete auf, kein Schlüsselmaterial): openssl pkcs12 -info -in /opt/certs/server.p12 -noout -passin pass:changeit
Schritt 2: (Optional) Exportieren Sie eine PKCS#12-Datei aus JKS oder PEM.
Wenn sich die Zertifikate in einem JKS-Keystore befinden, exportieren Sie sie nach PKCS#12; oder bündeln Sie separate PEM-Zertifikats-/Schlüsseldateien:
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:
Schritt 3: Leseberechtigungen für das Dateisystem erteilen
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:
Schritt 4: Konfigurieren Sie den CBOM-Sicherheitssensor
Sensoren: - Name: Discover_Keystore aktiviert: true Zeitplan: "0 2 * * *" Optionen: Scanpfade: [/opt/certs, /etc/ssl/private, /var/lib/tomcat/conf] Dateierweiterungen: [.p12, .pfx] Rekursiv: true Keystore-Anmeldeinformationen: - Pfad: /opt/certs/server.p12 Passwortumgebung: CBOM_KS_SERVER_PASSWORD - Pfad: /opt/certs/wildcard.pfx Passwortumgebung: CBOM_KS_WILDCARD_PASSWORD Standardpasswortumgebung: CBOM_KS_DEFAULT_PASSWORD Ausschlusspfade: [/opt/certs/archive, /opt/certs/expired] Ausgabe: Format: cbom-json Ziel: Plattform
Setzen Sie jede Passwortvariable in einer eingeschränkten Umgebungsdatei (chmod 640, root:cbom-sensor) und laden Sie dann den Agenten neu.
Schritt 5: Validieren
sudo journalctl -u cbom-agent -n 100 --no-pager sudo cbom-ctl sensor run Discover_Keystore
Prüfen Sie, ob der Scan die erwarteten PKCS#12-Dateien findet und die Assets veröffentlicht. Überprüfen Sie im Portal (Assets → Zertifikate), ob Betreff, Ablaufdatum und Algorithmus ausgefüllt sind und kein Feld für den privaten Schlüssel vorhanden ist. Bei Dateien mit falschem Passwort wird eine Warnung zur MAC-Authentifizierung ausgegeben.
Häufige Fehler
MAC-Verifizierung fehlgeschlagen / falsches Passwort
Ursache: Das angegebene Passwort stimmt nicht überein, oder die Datei verwendet eine veraltete RC2/3DES-Verschlüsselung, die mit dem Host-OpenSSL nicht kompatibel ist.
Lösung: Überprüfen Sie dies mit openssl pkcs12 -info; exportieren Sie die alten Dateien erneut mit moderner Verschlüsselung.
Zugriff verweigert beim Lesen des Keystores
Ursache: cbom-sensor hat keine Leseberechtigung für die Datei oder deren übergeordnetes Verzeichnis.
Lösung: Leseberechtigung über setfacl oder Gruppenmitgliedschaft gewähren; Sensor erneut ausführen.
Es wurden keine Assets gefunden, obwohl Dateien vorhanden waren.
Ursache: Die Scanpfade oder Dateierweiterungen stimmen nicht mit den tatsächlichen Dateien überein (z. B. fehlt der führende Punkt).
Lösung: Vergleichen Sie die Ausgabe des Befehls „find“ mit der Konfiguration; korrigieren Sie Abweichungen und führen Sie den Befehl erneut aus.
Sicherheitsempfehlungen
- Passwörter sollten über password_env referenziert werden – niemals in die YAML-Datei eingebettet werden.
- Führen Sie den Sensor als dediziertes, schreibgeschütztes Benutzerkonto ohne Shell oder sudo aus.
- Beschränken Sie die Umgebungsdatei auf Modus 640, root:cbom-sensor.
- Rotieren Sie die PKCS#12-Speicherpasswörter gemäß der Richtlinie und starten Sie den Agenten neu.
- Füge archivierte/abgelaufene Keystore-Verzeichnisse zu exclude_paths hinzu.
Fazit
Der Sensor Discover_Keystore bietet kontinuierliche, schreibgeschützte Einblicke in PKCS#12-Keystores – er extrahiert Zertifikats- und Public-Key-Metadaten, ohne jemals Private-Key-Material anzufassen – und deckt so ablaufende Zertifikate, schwache Schlüssellängen und veraltete Signaturalgorithmen in CBOM Secure auf.
