Integrationsguide för Windows-certifikatarkiv

Översikt

CBOM Secure Discover_WinCerts-sensorn utför skrivskyddad identifiering av kryptografiskt material i Windows lokala maskincertifikatlagrar – certifikat, publika nycklar, kedjor och metadata (ämne, utfärdare, giltighet, nyckelalgoritm och längd). Den läser:

  • MINA – Personliga certifikat (inklusive de med tillhörande privata nycklar)
  • ROOT – Betrodda rotcertifieringsmyndigheter
  • CA – Mellanliggande certifieringsmyndigheter
  • TRUST – Företagsförtroendebutik
  • TrustedPeople – certifikat för betrodda individer
  • TrustedPublisher – certifikat för betrodda programvaruutgivare

Förutsättningar

  1. Administratörsåtkomst till mål-Windows-datorn eller -domänen.
  2. Windows Server 2016+ eller Windows 10/11.
  3. ADUC (domänkonton) eller lokala användare och grupper (lokala konton).
  4. CBOM-sensorpaketet laddades ner och extraherades på målet.
  5. PowerShell 5.1+, certlm.msc och certutil.exe finns tillgängliga.
  6. Nätverksanslutning till CBOM-plattformen, plus dess URL och en giltig API-token.

Steg-för-steg-guide

Steg 1: Skapa ett dedikerat servicekonto

Skapa ett konto med lägst behörighet (aldrig Domänadministratör). Domän: ADUC > Ny > Användare svc-cbom-wincerts. Lokalt: Datorhantering > Lokala användare och grupper > Ny användare svc-cbom-wincerts. Ställ in ett starkt lösenord med Lösenordet upphör aldrig att gälla och Användaren kan inte ändra lösenord.

Steg 2: Bevilja läsåtkomst till certifikatarkiverna

För privata nycklar i MIN-arkiv, öppna certlm.msc, och för varje certifikat med en privat nyckel: Alla uppgifter > Hantera privata nycklar > Lägg till svc-cbom-wincerts > bevilja skrivskyddad status. Bekräfta att de andra arkiven är läsbara:

$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: EJ tillgänglig - $_" } }

Bevilja inloggning som en tjänst via secpol.msc > Tilldelning av användarrättigheter > Logga in som en tjänst > lägg till kontot.

Steg 3: Installera och begränsa sensorfilerna

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 Files\CBOM\Sensors\WinCerts" /grant "Administratörer:(OI)(CI)F" icacls "C:\Program Files\CBOM\Sensors\WinCerts" /grant "svc-cbom-wincerts:(OI)(CI)RX"

Steg 4: Konfigurera CBOM Secure Sensor

sensor: name: Discover_WinCerts description: "Identifiering av certifikatarkiv för lokal Windows-maskin" platform: url: "https://cbom.example.com" api_token: "${CBOM_API_TOKEN}" environment: "production" target: hostname: "WIN-APPSERVER01.corp.example.com" os: "windows" scan_interval_hours: 24 certificate_stores: scope: "LocalMachine" stores: - { name: MY, enabled: true, include_private_key_metadata: true } - { name: ROOT, enabled: true } - { name: CA, enabled: true } - { name: TRUST, enabled: true } - { name: TrustedPeople, enabled: true } - { name: TrustedPublisher, enabled: true } discovery: collect_subject: true; collect_issuer: true; collect_validity_dates: true collect_key_algorithm: true; collect_key_length: true; collect_chain: true service_account: användarnamn: "CORP\\svc-cbom-wincerts"

Obs! api_token beviljar CBOM-inmatning – hämta den från en hemlighetshanterare och begränsa konfigurationsfilen till administratörer och tjänstkontot.

Steg 5: Distribuera som en Windows-tjänst (eller schemalagd uppgift)

sc skapa "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" ^= DisplayName= "CBOM" "CORP\svc-cbom-wincerts" lösenord= " "sc-fel "CBOM-WinCerts" återställning = 86400 åtgärder = omstart/60000/omstart/120000/omstart/300000 sc start "CBOM-WinCerts" && sc-fråga "CBOM-WinCerts"

Alternativt kan du registrera en daglig schemalagd uppgift (Register-ScheduledTask) som körs som servicekontot på RunLevel Highest.

Steg 6: Validera

certutil -store MY && certutil -store ROOT && certutil -store CA-typ "C:\Program Files\CBOM\Logs\wincerts-sensor.log" # leta efter Skanning klar + HTTP 200

I CBOM-plattformen, gå till Tillgångar > Certifikat och filtrera efter Källa Discover_WinCerts och målvärden för att bekräfta att metadata är korrekt ifyllda.

Vanliga fel

Åtkomst nekad. Öppnar MY Store (nyckeluppsättning finns inte)

Orsak: Kontot saknar läsning på en privat nyckel-ACL, eller så beviljades inte inloggning som en tjänst.

Lösning: Lägg till kontot med Läs via Hantera privata nycklar på varje MY-certifikat, bekräfta Logga in som en tjänst och starta om tjänsten.

Rapportinlämning – HTTP 401 Obehörig

Orsak: api_token är felaktig, har löpt ut eller har återkallats.

Lösning: Generera/bekräfta token under Inställningar > API-tokens, uppdatera konfigurationen och starta om tjänsten.

Tjänsten startar inte – Fel 1069 Inloggningsfel

Orsak: Lösenordet för tjänstkontot är felaktigt, ändrat eller har gått ut sedan registreringen.

Lösning: Kontrollera lösenordet, uppdatera det på fliken Inloggning för tjänsten (eller sc config … password=) och starta tjänsten.

Säkerhetsrekommendationer

  • Minst behörighet: bevilja endast läsbehörighet för butik och privata nyckel-ACL:er; lägg aldrig till kontot till administratörer eller domänadministratörer.
  • Skydda sensor-config.yaml (den innehåller API-token) – begränsad till administratörer och servicekontot, aldrig läsbar för alla.
  • Rotera API-token var 90:e dag och starta om tjänsten efter varje rotation.
  • Granska inloggningar för tjänstkonton (händelse-ID:n 4624/4625) för kontot.
  • I Hantera privata nycklar, tilldela skrivskyddad åtkomst – aldrig fullständig åtkomst – så att kontot inte kan exportera eller ta bort nycklar.

Slutsats

Med ett tjänstkonto med lägsta behörighet, begränsat arkiv och ACL:er med privata nycklar, och distribution som en hanterad tjänst eller schemalagd uppgift, matar Discover_WinCerts certifikatmetadata – algoritmer, nyckellängder, giltighet, ämne/utfärdare och kedjor – från varje lokal Windows-maskinarkiv till CBOM Secure för centraliserad hantering av kryptografiska tillgångar och efterlevnadsrapportering.