PKCS#12 / PFX Keystore Integratiehandleiding
Overzicht
Deze handleiding beschrijft hoe u de CBOM Secure Discover_Keystore-sensor configureert om PKCS#12 (.p12, .pfx) keystores te detecteren — wachtwoordbeveiligde containers die een privésleutel met de bijbehorende certificaatketen bevatten. De sensor scant geconfigureerde paden alleen-lezen en extraheert de DN's van het certificaatonderwerp/de uitgever, het serienummer en de geldigheidsduur, het algoritme en de grootte van de publieke sleutel, het handtekeningalgoritme, SAN's, het sleutelgebruik en de vingerafdrukken. De sensor leest, bewaart of verzendt nooit privésleutelmateriaal.
Voorwaarden
- Toegang tot het CBOM-platform en de Discover_Keystore-agent geïnstalleerd op de host(s) met de .p12/.pfx-bestanden.
- Er moet ten minste één .p12- of .pfx-bestand in de doelmappen aanwezig zijn.
- Het wachtwoord voor elke sleutelkluis die de sensor zal openen (wordt als geheimen aangeleverd en nooit opgeslagen).
- Java 8 of hoger, of OpenSSL 1.1 of hoger is alleen vereist als u sleutelarchieven moet aanmaken/converteren.
- Een speciaal besturingssysteemaccount met minimale privileges (cbom-sensor) en alleen-leestoegang — nooit root.
Stapsgewijze handleiding
Stap 1: PKCS#12-bestanden zoeken
find /opt/certs /etc/ssl /var/lib/certs -type f \( -name "*.p12" -o -name "*.pfx" \) 2>/dev/null # Controleer of een bestand een geldig wachtwoordbeveiligd pakket is (toont pakketten, geen sleutelmateriaal): openssl pkcs12 -info -in /opt/certs/server.p12 -noout -passin pass:changeit
Stap 2: (Optioneel) Exporteer een PKCS#12 vanuit JKS of PEM
Als de certificaten zich in een JKS-sleutelarchief bevinden, exporteer ze dan naar PKCS#12; of bundel de certificaat-/sleutelbestanden in aparte PEM-bestanden.
keytool -importkeystore \ -srckeystore keystore.jks -srcstoretype JKS -srcstorepass \ -destkeystore out.p12 -deststoretype PKCS12 -deststorepass -noprompt openssl pkcs12 -export -in cert.pem -inkey key.pem -certfile chain.pem \ -out bundle.p12 -name "myserver" -passout pass:
Stap 3: Verleen alleen-leestoegang tot het bestandssysteem.
sudo useradd --system --no-create-home --shell /sbin/nologin cbom-sensor sudo setfacl -R -mu:cbom-sensor:rX /opt/certs sudo -u cbom-sensor openssl pkcs12 -info -in /opt/certs/server.p12 -noout -passin pass:
Stap 4: Configureer de CBOM Secure Sensor
Sensoren: - naam: Discover_Keystore ingeschakeld: true schema: "0 2 * * *" opties: scanpaden: [/opt/certs, /etc/ssl/private, /var/lib/tomcat/conf] bestandsextensies: [.p12, .pfx] recursief: true keystore-referenties: - pad: /opt/certs/server.p12 wachtwoordomgeving: CBOM_KS_SERVER_WACHTWOORD - pad: /opt/certs/wildcard.pfx wachtwoordomgeving: CBOM_KS_WILDCARD_WACHTWOORD standaardwachtwoordomgeving: CBOM_KS_STANDAARDWACHTWOORD uitsluitingspaden: [/opt/certs/archive, /opt/certs/expired] uitvoer: formaat: cbom-json bestemming: platform
Stel elke wachtwoordvariabele in een beperkt omgevingsbestand in (chmod 640, root:cbom-sensor) en herlaad vervolgens de agent.
Stap 5: Valideren
sudo journalctl -u cbom-agent -n 100 --no-pager sudo cbom-ctl sensor run Discover_Keystore
Controleer of de scan de verwachte PKCS#12-bestanden vindt en de assets publiceert. Controleer in het portaal (Assets → Certificaten) of het onderwerp, de vervaldatum en het algoritme zijn ingevuld en of er geen veld voor de privésleutel aanwezig is. Bestanden met een onjuist wachtwoord geven een waarschuwing voor MAC-verificatie.
Veel voorkomende fouten
MAC-verificatie mislukt / onjuist wachtwoord
Oorzaak: Het opgegeven wachtwoord komt niet overeen, of het bestand maakt gebruik van verouderde RC2/3DES-codering die incompatibel is met OpenSSL op de host.
Oplossing: Controleer met openssl pkcs12 -info; exporteer de oude bestanden opnieuw met moderne encryptie.
Toegang tot het lezen van de sleutelkluis geweigerd.
Oorzaak: cbom-sensor heeft geen leesrechten voor het bestand of de bovenliggende map.
Oplossing: Geef leesrechten via setfacl of groepslidmaatschap; voer de sensor opnieuw uit.
0 bestanden gevonden ondanks de aanwezigheid van bestanden
Oorzaak: scanpaden of bestandsextensies komen niet overeen met de werkelijke bestanden (bijv. ontbrekende punt aan het begin).
Oplossing: Vergelijk de uitvoer van een `find`-opdracht met de configuratie; corrigeer eventuele verschillen en voer de opdracht opnieuw uit.
Beveiligingsaanbevelingen
- Verwijs naar wachtwoorden via password_env — neem ze nooit rechtstreeks op in het YAML-bestand.
- Voer de sensor uit als een speciaal, alleen-lezen account zonder shell of sudo.
- Beperk het omgevingsbestand tot modus 640, root:cbom-sensor.
- Wissel de PKCS#12-wachtwoorden in de opslag volgens het beleid en herstart de agent.
- Voeg gearchiveerde/verlopen keystore-mappen toe aan exclude_paths.
Conclusie
De Discover_Keystore-sensor biedt continue, alleen-lezen inzage in PKCS#12-sleutelarchieven. Hierbij worden certificaat- en publieke-sleutelmetadata geëxtraheerd zonder ooit privé-sleutelmateriaal aan te raken. Zo worden verlopen certificaten, zwakke sleutelgroottes en verouderde ondertekeningsalgoritmen in CBOM Secure aan het licht gebracht.
