Handleiding voor de integratie van UBER Keystore

Overzicht

Deze handleiding configureert de CBOM Secure Discover_Keystore-sensor om cryptografisch materiaal in UBER-keystore-bestanden (.ubr) te inventariseren. UBER is een eigen formaat van BouncyCastle dat gebruikmaakt van Twofish-encryptie en SHA-512 voor sleutelversleuteling en integriteit – sterker dan BKS – en dat te vinden is in oudere BouncyCastle-implementaties. De sensor leest .ubr-bestanden alleen-lezen via de BouncyCastle JCE-provider en extraheert de volgende gegevens:

  • Privésleutels en de bijbehorende certificaten
  • Openbare sleutelcertificaten (vertrouwde vermeldingen)
  • Geheime sleutelinvoer
  • Aliasnamen, sleuteltypen, sleutelgroottes en geldigheidsperioden
  • Handtekeningalgoritmen en uitgever/onderwerp-DN's

Voorwaarden

  1. Een actieve CBOM-instantie met een licentie voor de Discover_Keystore-sensor.
  2. Alleen-leestoegang tot het bestandssysteem van de host waarop de .ubr-bestanden zich bevinden.
  3. Het BouncyCastle provider JAR-bestand (bcprov-jdk18on-*.jar) op de sensorhost.
  4. JDK 8 of later (voor inspectie met keytool).
  5. Het winkelwachtwoord voor elke sleutelkluis, plus eventuele wachtwoorden op sleutelniveau.
  6. Leesrechten voor de mappen die .ubr-bestanden bevatten.

Stapsgewijze handleiding

Stap 1: Zoek de UBER Keystore-bestanden

find /opt /usr/local /home /var/lib /etc -name '*.ubr' -type f 2>/dev/null ls -la /opt/myapp/security/store.ubr # bevestig dat het sensoraccount kan lezen

Stap 2: Controleer de beschikbaarheid van de BouncyCastle-provider.

find /opt /usr/local/lib /usr/share/java -name 'bcprov-*.jar' 2>/dev/null # Als het bestand ontbreekt, download het dan van de officiële distributie en controleer de checksum: wget https://downloads.bouncycastle.org/java/bcprov-jdk18on-178.jar \ -O /opt/cbom/lib/bcprov-jdk18on-178.jar

Controleer of de provider toegang heeft tot de doelsleutelopslag voordat u de sensor configureert:

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

Stap 3: Keystore-referenties voorbereiden

Registreer elk winkelwachtwoord (en elk wachtwoord voor een aliassleutel) als een benoemd geheim in de CBOM-geheimkluis (UI > Instellingen > Geheimen) in plaats van het vast te coderen – bijvoorbeeld uber-keystore-myapp-pass.

Stap 4: Configureer de CBOM Secure Sensor

sensor: naam: Discover_Keystore ingeschakeld: true scan_id: uber-keystore-scan-prod-001 keystore: formaat: UBER provider: org.bouncycastle.jce.provider.BouncyCastleProvider provider_jar_pad: /opt/cbom/lib/bcprov-jdk18on-178.jar ontdekking: paden: - /opt/myapp/security/store.ubr - /var/lib/bc-app/keys/root.ubr padpatronen: [ '/opt/**/*.ubr', '/usr/local/**/*.ubr' ] recursief: true volg_symlinks: false referenties: standaard_store_wachtwoord: geheime_referentie: uber-keystore-default-pass referenties per_bestand: - pad: /opt/myapp/security/store.ubr store_wachtwoord: { geheime_referentie: uber-keystore-myapp-pass } output: include_certificate_chain: true redact_private_key_material: true schedule: cron: "0 2 * * *"

Sla het bestand op in /etc/cbom/sensors/uber-keystore-prod.yaml en herstart: systemctl restart cbom-sensor.

Stap 5: Valideren

tail -f /var/log/cbom/uber-keystore-sensor.log # zoek naar 'Opened UBER keystore ... Scan complete' cbom-ctl sensor trigger --scan-id uber-keystore-scan-prod-001

Bevestig de activa onder Activa > Cryptografische sleutels, gefilterd op bron uber-keystore-scan-prod-001, en controleer de aliassen en vingerafdrukken aan de hand van de uitvoer van keytool.

Veel voorkomende fouten

KeyStoreException: UBER niet gevonden

Oorzaak: Het BouncyCastle JAR-bestand bevindt zich niet in het classpath of provider_jar_path is onjuist/onleesbaar.

Oplossing: Controleer of het JAR-bestand bestaat en leesbaar is voor het sensoraccount, corrigeer provider_jar_path en herstart de sensor.

De keystore is gemanipuleerd of het wachtwoord was onjuist.

Oorzaak: Het wachtwoord van de winkel is onjuist of het bestand is beschadigd (UBER gebruikt SHA-512-integriteitscontrole).

Oplossing: Test het wachtwoord met keytool; als het correct is maar het nog steeds niet werkt, herstel dan de back-up, werk vervolgens het kluisgeheim bij en probeer het opnieuw.

UnrecoverableKeyException: Sleutelherstel mislukt

Oorzaak: Een specifiek alias gebruikt een ander sleutelwachtwoord dat niet overeenkomt met het wachtwoord van de winkel.

Oplossing: Identificeer de alias die de fout veroorzaakt in het logboek, achterhaal het bijbehorende sleutelwachtwoord en voeg een key_passwords-item toe voor dat pad/die alias. Start het programma vervolgens opnieuw en probeer het opnieuw te activeren.

Beveiligingsaanbevelingen

  • Gebruik nooit rechtstreeks wachtwoorden in YAML-bestanden – raadpleeg de CBOM-geheimenkluis of een externe beheerder.
  • Beperk de bestandsrechten van .ubr-bestanden tot 640 of lager, en zorg ervoor dat de bestanden eigendom zijn van de applicatiegebruiker.
  • Controleer de checksum van het BouncyCastle JAR-bestand aan de hand van de gepubliceerde waarde vóór de implementatie.
  • Wijzig de wachtwoorden van de sleutelkluis volgens een vast schema en werk de kluis na elke wijziging bij.
  • Controleer periodiek de toegangslogboeken van de sensoren om te bevestigen dat de scanactiviteit aan de verwachtingen voldoet.

Conclusie

Door .ubr-bestanden te lokaliseren, de beschikbaarheid van de BouncyCastle-provider te bevestigen en inloggegevens via de CBOM-geheimkluis te verstrekken, inventariseert de Discover_Keystore-sensor continu en veilig alle sleutels en certificaten in UBER-sleutelarchieven. Dit ondersteunt compliance, certificaatlevenscyclusbeheer en cryptografische flexibiliteit voor bestaande BouncyCastle-implementaties.