Integratiehandleiding voor Windows-certificaatarchieven

Overzicht

De CBOM Secure Discover_WinCerts-sensor voert een alleen-lezen ontdekking uit van cryptografisch materiaal in de certificaatarchieven van de lokale Windows-machine – certificaten, openbare sleutels, certificaatketens en metadata (onderwerp, uitgever, geldigheidsduur, sleutelalgoritme en lengte). Het leest:

  • MIJN – Persoonlijke certificaten (inclusief die met bijbehorende privésleutels)
  • ROOT – Vertrouwde ROOT-certificeringsinstanties
  • CA – Tussenliggende certificeringsinstanties
  • TRUST – Enterprise Trust-winkel
  • TrustedPeople – certificaten voor betrouwbare personen
  • TrustedPublisher – certificaten voor vertrouwde software-uitgevers

Voorwaarden

  1. Administratieve toegang tot de doel-Windows-machine of het doeldomein.
  2. Windows Server 2016+ of Windows 10/11.
  3. ADUC (domeinaccounts) of Lokale gebruikers en groepen (lokale accounts).
  4. Het CBOM-sensorpakket is gedownload en uitgepakt op het doelapparaat.
  5. PowerShell 5.1+, certlm.msc en certutil.exe zijn beschikbaar.
  6. Netwerkverbinding met het CBOM-platform, plus de URL ervan en een geldig API-token.

Stapsgewijze handleiding

Stap 1: Maak een speciaal serviceaccount aan

Maak een account met minimale privileges aan (nooit domeinbeheerder). Domein: ADUC > Nieuw > Gebruiker svc-cbom-wincerts. Lokaal: Computerbeheer > Lokale gebruikers en groepen > Nieuwe gebruiker svc-cbom-wincerts. Stel een sterk wachtwoord in met de instellingen 'Wachtwoord verloopt nooit' en 'Gebruiker kan wachtwoord niet wijzigen'.

Stap 2: Verleen leesrechten aan de certificaatarchieven.

Voor de privésleutels van MY-certificaten opent u certlm.msc en gaat u voor elk certificaat met een privésleutel als volgt te werk: Alle taken > Privésleutels beheren > svc-cbom-wincerts toevoegen > Alleen-lezen toekennen. Controleer of de andere certificaten ook leesbaar zijn.

$stores = @("ROOT"CA"TRUST"TrustedPeople"TrustedPublisher") foreach ($s in $stores) { $st = New-Object System.Security.Cryptography.X509Certificates.X509Store($s,'LocalMachine') try { $st.Open('ReadOnly'); Write-Host "$s: Accessible"; $st.Close() } catch { Write-Host "$s: NOT accessible - $_" } }

Verleen de mogelijkheid om als service aan te melden via secpol.msc > Gebruikersrechten toewijzen > Aanmelden als service > voeg het account toe.

Stap 3: Installeer en beperk de toegang tot de sensorbestanden.

mkdir "C:\Program Files\CBOM\Logs" icacls "C:\Program Files\CBOM\Logs" /grant "svc-cbom-wincerts:(OI)(CI)M" icacls "C:\Program Files\CBOM\Sensors\WinCerts" /inheritance:r icacls "C:\Program Files\CBOM\Sensors\WinCerts" /grant "Beheerders:(OI)(CI)F" icacls "C:\Program Files\CBOM\Sensors\WinCerts" /grant "svc-cbom-wincerts:(OI)(CI)RX"

Stap 4: Configureer de CBOM Secure Sensor

sensor: naam: Discover_WinCerts beschrijving: "Ontdekking van het certificaatarchief van de lokale Windows-machine" platform: url: "https://cbom.example.com" api_token: "${CBOM_API_TOKEN}" omgeving: "productie" doel: hostnaam: "WIN-APPSERVER01.corp.example.com" besturingssysteem: "windows" scaninterval_uren: 24 certificaatarchieven: bereik: "LocalMachine" archieven: - { naam: MY, ingeschakeld: true, inclusief metadata van privésleutels: true } - { naam: ROOT, ingeschakeld: true } - { naam: CA, ingeschakeld: true } - { naam: TRUST, ingeschakeld: true } - { naam: TrustedPeople, ingeschakeld: true } - { naam: TrustedPublisher, ingeschakeld: true } ontdekking: onderwerp verzamelen: true; uitgever verzamelen: true; geldigheidsdatums verzamelen: true sleutelalgoritme verzamelen: true; collect_key_length: true; collect_chain: true service_account: username: "CORP\\svc-cbom-wincerts"

Let op: De api_token verleent toegang tot CBOM-gegevensverwerking. Haal deze op uit een secrets manager en beperk de toegang tot het configuratiebestand tot beheerders en het serviceaccount.

Stap 5: Implementeer als een Windows-service (of geplande taak)

sc create "CBOM-WinCerts" ^ binPath= "\"C:\Program Files\CBOM\Sensors\WinCerts\cbom-sensor-runner.exe\" --config \"C:\Program Files\CBOM\Sensors\WinCerts\sensor-config.yaml\"" ^ DisplayName= "CBOM WinCerts Sensor" start= auto ^ obj= "CORP\svc-cbom-wincerts" wachtwoord= " "sc failure "CBOM-WinCerts" reset= 86400 actions= restart/60000/restart/120000/restart/300000 sc start "CBOM-WinCerts" && sc query "CBOM-WinCerts"

U kunt ook een dagelijkse geplande taak registreren (Register-ScheduledTask) die wordt uitgevoerd als het serviceaccount op het hoogste runlevel.

Stap 6: Valideren

certutil -store MY && certutil -store ROOT && certutil -store CA type "C:\Program Files\CBOM\Logs\wincerts-sensor.log" # zoek naar Scan voltooid + HTTP 200

Ga in het CBOM-platform naar Assets > Certificates en filter op Bron Discover_WinCerts en de doelhost om te controleren of de metadata correct is ingevuld.

Veel voorkomende fouten

Toegang geweigerd. Mijn winkel openen (sleutelset bestaat niet).

Oorzaak: Het account heeft geen leesrechten op een ACL voor privésleutels, of de toegang tot 'Aanmelden als service' is niet verleend.

Oplossing: Voeg het account met leesrechten toe via 'Privésleutels beheren' op elk MY-certificaat, bevestig 'Aanmelden als service' en herstart de service.

Rapport indienen – HTTP 401 Niet geautoriseerd

Oorzaak: De api_token is onjuist, verlopen of ingetrokken.

Oplossing: Genereer/bevestig het token via Instellingen > API-tokens, werk de configuratie bij en herstart de service.

Service start niet – Fout 1069 Aanmeldingsfout

Oorzaak: Het wachtwoord van het serviceaccount is onjuist, gewijzigd of verlopen sinds de registratie.

Oplossing: Controleer het wachtwoord, werk het bij op het tabblad 'Aanmelden' van de service (of via `sc config … password=`) en start de service.

Beveiligingsaanbevelingen

  • Principe van minimale bevoegdheden: verleen alleen leesrechten op de ACL's voor de opslag en privésleutels; voeg het account nooit toe aan de groepen Beheerders of Domeinbeheerders.
  • Bescherm het bestand sensor-config.yaml (dit bevat het API-token) – beperk de toegang tot beheerders en het serviceaccount, en zorg ervoor dat het nooit voor iedereen leesbaar is.
  • Vervang het API-token elke 90 dagen en herstart de service na elke vervanging.
  • Controleer de aanmeldingen van het serviceaccount (gebeurtenis-ID's 4624/4625) voor het account.
  • Bij 'Privésleutels beheren' moet u 'Alleen lezen' instellen – nooit 'Volledige controle' – zodat het account geen sleutels kan exporteren of verwijderen.

Conclusie

Met een serviceaccount met minimale bevoegdheden, een afgebakende opslag en ACL's voor privésleutels, en implementatie als een beheerde service of geplande taak, vult Discover_WinCerts certificaatmetadata – algoritmen, sleutellengtes, geldigheidsduur, onderwerp/uitgever en ketens – van elke lokale Windows-machineopslag aan met CBOM Secure voor gecentraliseerd cryptografisch activabeheer en compliance-rapportage.