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
- Een actieve CBOM-instantie met een licentie voor de Discover_Keystore-sensor.
- Alleen-leestoegang tot het bestandssysteem van de host waarop de .ubr-bestanden zich bevinden.
- Het BouncyCastle provider JAR-bestand (bcprov-jdk18on-*.jar) op de sensorhost.
- JDK 8 of later (voor inspectie met keytool).
- Het winkelwachtwoord voor elke sleutelkluis, plus eventuele wachtwoorden op sleutelniveau.
- 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.
