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
- En körande CBOM-instans med Discover_Keystore-sensorn licensierad.
- Skrivskyddad filsystemåtkomst till värden som innehåller .ubr-filerna.
- BouncyCastle-providerns JAR (bcprov-jdk18on-*.jar) på sensorvärden.
- JDK 8 eller senare (för inspektion av nyckelverktyg).
- Lagringslösenordet för varje nyckellager, plus eventuella lösenord på nyckelnivå.
- 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.
