UBER Keystore-Integrationsleitfaden
Übersicht
Diese Anleitung konfiguriert den CBOM Secure Discover_Keystore-Sensor zur Inventarisierung kryptografischer Daten in Keystore-Dateien im UBER-Format (.ubr). UBER ist ein proprietäres Format von BouncyCastle, das Twofish-Verschlüsselung und SHA-512 für die Schlüsselverwaltung und -integrität verwendet – und damit sicherer ist als BKS – und in älteren BouncyCastle-Installationen zum Einsatz kommt. Der Sensor liest .ubr-Dateien schreibgeschützt über den BouncyCastle JCE-Provider und extrahiert folgende Daten:
- Private Schlüssel und die zugehörigen Zertifikate
- Zertifikate für öffentliche Schlüssel (vertrauenswürdige Einträge)
- Geheime Schlüsseleinträge
- Aliasnamen, Schlüsseltypen, Schlüssellängen und Gültigkeitsdauern
- Signaturalgorithmen und Aussteller-/Subjekt-DNs
Voraussetzungen:
- Eine laufende CBOM-Instanz mit lizenziertem Discover_Keystore-Sensor.
- Schreibgeschützter Dateisystemzugriff auf den Host, der die .ubr-Dateien enthält.
- Die BouncyCastle-Provider-JAR-Datei (bcprov-jdk18on-*.jar) auf dem Sensor-Host.
- JDK 8 oder höher (für die Keytool-Inspektion).
- Das Speicherpasswort für jeden Schlüsselspeicher sowie alle Passwörter für die Schlüsselebenen.
- Leseberechtigung für die Verzeichnisse, die .ubr-Dateien enthalten.
Schritt-für-Schritt-Anleitung
Schritt 1: UBER-Keystore-Dateien suchen
find /opt /usr/local /home /var/lib /etc -name '*.ubr' -type f 2>/dev/null ls -la /opt/myapp/security/store.ubr # Bestätigen, dass das Sensorkonto lesen kann
Schritt 2: Verfügbarkeit des BouncyCastle-Anbieters prüfen
find /opt /usr/local/lib /usr/share/java -name 'bcprov-*.jar' 2>/dev/null # Falls nicht vorhanden, von der offiziellen Distribution herunterladen und die Prüfsumme überprüfen: wget https://downloads.bouncycastle.org/java/bcprov-jdk18on-178.jar \ -O /opt/cbom/lib/bcprov-jdk18on-178.jar
Vergewissern Sie sich, dass der Anbieter einen Ziel-Keystore öffnen kann, bevor Sie den Sensor konfigurieren:
keytool -list -keystore /opt/myapp/security/store.ubr \ -storetype UBER -storepass changeit \ -provider org.bouncycastle.jce.provider.BouncyCastleProvider \ -providerpath /opt/cbom/lib/bcprov-jdk18on-178.jar
Schritt 3: Keystore-Anmeldeinformationen vorbereiten
Registrieren Sie jedes Store-Passwort (und jedes Alias-Schlüsselpasswort) als benanntes Geheimnis im CBOM Secrets Vault (UI > Einstellungen > Geheimnisse) anstatt es fest zu codieren – z. B. uber-keystore-myapp-pass.
Schritt 4: Konfigurieren Sie den CBOM-Sicherheitssensor
Sensor: Name: Discover_Keystore aktiviert: true Scan-ID: uber-keystore-scan-prod-001 Keystore: Format: UBER Provider: org.bouncycastle.jce.provider.BouncyCastleProvider Provider-JAR-Pfad: /opt/cbom/lib/bcprov-jdk18on-178.jar Discovery: Pfade: - /opt/myapp/security/store.ubr - /var/lib/bc-app/keys/root.ubr Pfadmuster: [ '/opt/**/*.ubr', '/usr/local/**/*.ubr' ] Rekursiv: true Symlinks folgen: false Anmeldeinformationen: Standard-Speicherpasswort: Geheimer Referenzschlüssel: uber-keystore-default-pass Anmeldeinformationen pro Datei: - Pfad: /opt/myapp/security/store.ubr Speicherpasswort: { geheimer Referenzschlüssel: uber-keystore-myapp-pass } Ausgabe: Zertifikatskette einbinden: true Privaten Schlüsselmaterial redaktieren: true Zeitplan: cron: "0 2 * * *"
Speichern Sie die Datei unter /etc/cbom/sensors/uber-keystore-prod.yaml und starten Sie das System neu: systemctl restart cbom-sensor.
Schritt 5: Validieren
tail -f /var/log/cbom/uber-keystore-sensor.log # Suche nach 'Opened UBER keystore ... Scan complete' cbom-ctl sensor trigger --scan-id uber-keystore-scan-prod-001
Bestätigen Sie die unter Assets > Cryptographic Keys gefilterten Assets, die nach der Quelle uber-keystore-scan-prod-001 gefiltert sind, und überprüfen Sie Aliase und Fingerabdrücke anhand der Ausgabe von keytool.
Häufige Fehler
KeyStoreException: UBER nicht gefunden
Ursache: Die BouncyCastle JAR-Datei befindet sich nicht im Klassenpfad oder der provider_jar_path ist falsch/nicht lesbar.
Lösung: Prüfen Sie, ob die JAR-Datei existiert und vom Sensorkonto lesbar ist, korrigieren Sie provider_jar_path und starten Sie den Sensor neu.
Der Schlüsselspeicher wurde manipuliert oder das Passwort war falsch.
Ursache: Das Shop-Passwort ist falsch oder die Datei ist beschädigt (UBER verwendet SHA-512-Integritätsprüfung).
Lösung: Testen Sie das Passwort mit keytool; falls es korrekt ist, aber immer noch nicht funktioniert, stellen Sie es aus der Sicherung wieder her, aktualisieren Sie dann das Tresorgeheimnis und starten Sie den Vorgang erneut.
UnrecoverableKeyException: Schlüssel konnte nicht wiederhergestellt werden
Ursache: Ein bestimmter Alias verwendet ein anderes Schlüsselpasswort, das nicht mit dem Speicherpasswort übereinstimmt.
Lösung: Identifizieren Sie den fehlerhaften Alias im Protokoll, ermitteln Sie sein Schlüsselpasswort und fügen Sie einen key_passwords-Eintrag für diesen Pfad/Alias hinzu. Starten Sie anschließend das System neu und lösen Sie den Fehler erneut aus.
Sicherheitsempfehlungen
- Passwörter sollten niemals fest in YAML codiert werden – stattdessen sollte auf den CBOM Secrets Vault oder einen externen Manager verwiesen werden.
- Die Berechtigungen für .ubr-Dateien sollten auf 640 oder enger beschränkt werden; die Datei sollte dem Anwendungsbenutzer gehören.
- Vor der Bereitstellung muss die Prüfsumme der BouncyCastle-JAR-Datei mit dem veröffentlichten Wert verglichen werden.
- Die Passwörter des Keystores sollten nach einem festgelegten Zeitplan rotiert und der Tresor nach der Rotation aktualisiert werden.
- Überprüfen Sie regelmäßig die Zugriffsprotokolle der Sensoren, um sicherzustellen, dass die Scanaktivität den Erwartungen entspricht.
Fazit
Durch das Auffinden von .ubr-Dateien, die Bestätigung der Verfügbarkeit des BouncyCastle-Anbieters und die Bereitstellung von Anmeldeinformationen über den CBOM Secrets Vault inventarisiert der Discover_Keystore-Sensor kontinuierlich und sicher alle Schlüssel und Zertifikate in UBER-Keystores – und unterstützt so die Einhaltung von Vorschriften, das Zertifikatslebenszyklusmanagement und die kryptografische Flexibilität für ältere BouncyCastle-Bereitstellungen.
