Integrationsguide för UBER Keystore

Översikt

Den här guiden konfigurerar CBOM Secure Discover_Keystore-sensorn för att inventera kryptografiskt material i UBER-formaterade nyckelfiler (.ubr). UBER är ett BouncyCastle-proprietärt format som använder Twofish-kryptering och SHA-512 för nyckelomslagning och integritet – starkare än BKS – som finns i äldre BouncyCastle-distributioner. Sensorn läser .ubr-filer skrivskyddat via BouncyCastle JCE-providern och extraherar:

  • Privata nycklar och deras tillhörande certifikat
  • Certifikat för offentliga nyckelr (betrodda poster)
  • Hemliga nyckelposter
  • Aliasnamn, nyckeltyper, nyckelstorlekar och giltighetsperioder
  • Signaturalgoritmer och utfärdar-/subjekt-DN:er

Förutsättningar

  1. En körande CBOM-instans med Discover_Keystore-sensorn licensierad.
  2. Skrivskyddad filsystemåtkomst till värden som innehåller .ubr-filerna.
  3. BouncyCastle-providerns JAR (bcprov-jdk18on-*.jar) på sensorvärden.
  4. JDK 8 eller senare (för inspektion av nyckelverktyg).
  5. Lagringslösenordet för varje nyckellager, plus eventuella lösenord på nyckelnivå.
  6. Läsbehörighet för katalogerna som innehåller .ubr-filer.

Steg-för-steg-guide

Steg 1: Leta reda på UBER Keystore-filer

hitta /opt /usr/local /home /var/lib /etc -name '*.ubr' -type f2>/dev/null ls -la /opt/myapp/security/store.ubr # bekräfta att sensorkontot kan läsa

Steg 2: Kontrollera tillgängligheten för BouncyCastle-leverantören

hitta /opt /usr/local/lib /usr/share/java -name 'bcprov-*.jar' 2>/dev/null # om den saknas, ladda ner från den officiella distributionen och verifiera dess kontrollsumma: wget https://downloads.bouncycastle.org/java/bcprov-jdk18on-178.jar \ -O /opt/cbom/lib/bcprov-jdk18on-178.jar

Bekräfta att leverantören kan öppna ett målnyckellager innan sensorn konfigureras:

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

Steg 3: Förbered Keystore-inloggningsuppgifter

Registrera varje butikslösenord (och alla lösenord för aliasnyckel) som en namngiven hemlighet i CBOM:s hemlighetsvalv (UI > Inställningar > Hemligheter) istället för att hårdkoda det – t.ex. uber-keystore-myapp-pass.

Steg 4: Konfigurera CBOM Secure Sensor

sensor: namn: Discover_Keystore aktiverad: true scan_id: uber-keystore-scan-prod-001 keystore: format: UBER-provider: org.bouncycastle.jce.provider.BouncyCastleProvider provider_jar_path: /opt/cbom/lib/bcprov-jdk18on-178.jar discovery: sökvägar: - /opt/myapp/security/store.ubr - /var/lib/bc-app/keys/root.ubr sökvägsmönster: [ '/opt/**/*.ubr', '/usr/local/**/*.ubr' ] rekursiv: true follow_symlinks: false credentials: default_store_password: secret_ref: uber-keystore-default-pass per_file_credentials: - sökväg: /opt/myapp/security/store.ubr store_password: { secret_ref: uber-keystore-myapp-pass } utdata: include_certificate_chain: sant redact_private_key_material: sant schedule: cron: "0 2 * * *"

Spara till /etc/cbom/sensors/uber-keystore-prod.yaml och starta om: systemctl restart cbom-sensor.

Steg 5: Validera

tail -f /var/log/cbom/uber-keystore-sensor.log # leta efter 'Öppnade UBER-nyckellager ... Skanning klar' cbom-ctl sensor trigger --scan-id uber-keystore-scan-prod-001

Bekräfta tillgångar under Tillgångar > Kryptografiska nycklar filtrerade efter källa uber-keystore-scan-prod-001 och dubbelkolla alias och fingeravtryck mot keytool-utdata.

Vanliga fel

KeyStoreException: UBER hittades inte

Orsak: BouncyCastle-JAR-filen finns inte på klassvägen eller så är provider_jar_path felaktig/oläslig.

Lösning: Bekräfta att JAR-filen finns och är läsbar av sensorkontot, korrigera provider_jar_path och starta om sensorn.

Nyckellagret har manipulerats, eller lösenordet var felaktigt

Orsak: Lösenordet för butiken är felaktigt eller så är filen skadad (UBER använder SHA-512-integritet).

Lösning: Testa lösenordet med keytool; om det är korrekt men fortfarande misslyckas, återställ från säkerhetskopian, uppdatera sedan valvets hemlighet och aktivera det igen.

UnrecoverableKeyException: Det gick inte att återställa nyckeln

Orsak: Ett specifikt alias använder ett distinkt nyckellösenord som inte matchar butikens lösenord.

Lösning: Identifiera det felaktiga aliaset i loggen, hämta dess nyckellösenord och lägg till en key_passwords-post för den sökvägen/aliaset, starta sedan om och utlös igen.

Säkerhetsrekommendationer

  • Hårdkoda aldrig lösenord i YAML – använd CBOM:s hemlighetsvalv eller en extern hanterare.
  • Begränsa behörigheterna för .ubr-filer till 640 eller högre, som ägs av programanvändaren.
  • Validera BouncyCastles JAR-kontrollsumma mot det publicerade värdet före driftsättning.
  • Rotera lösenord för nyckellagret enligt ett definierat schema och uppdatera valvet efter rotationen.
  • Granska sensoråtkomstloggar regelbundet för att bekräfta att skanningsaktiviteten matchar förväntningarna.

Slutsats

Genom att lokalisera .ubr-filer, bekräfta BouncyCastle-leverantörens tillgänglighet och tillhandahålla inloggningsuppgifter via CBOM:s hemlighetsvalv, inventerar Discover_Keystore-sensorn kontinuerligt och säkert alla nycklar och certifikat i UBER-nyckellager – vilket stöder efterlevnad, certifikatlivscykelhantering och kryptografisk flexibilitet för äldre BouncyCastle-distributioner.