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:

  1. Eine laufende CBOM-Instanz mit lizenziertem Discover_Keystore-Sensor.
  2. Schreibgeschützter Dateisystemzugriff auf den Host, der die .ubr-Dateien enthält.
  3. Die BouncyCastle-Provider-JAR-Datei (bcprov-jdk18on-*.jar) auf dem Sensor-Host.
  4. JDK 8 oder höher (für die Keytool-Inspektion).
  5. Das Speicherpasswort für jeden Schlüsselspeicher sowie alle Passwörter für die Schlüsselebenen.
  6. 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.