Integratiehandleiding voor Microsoft AD FS

Overzicht

Deze handleiding configureert de CBOM Secure Discover_WinCerts-sensor om cryptografische certificaten van Active Directory File System (AD FS) te detecteren:

  • Certificaten voor het ondertekenen van tokens — ondertekenen van beveiligingstokens die zijn uitgegeven aan partijen die erop vertrouwen.
  • Token-decryptiecertificaten — decodeer inkomende versleutelde beweringen
  • Servicecommunicatiecertificaten — veilige communicatie tussen AD FS-componenten

AD FS geeft deze gegevens niet vrij via LDAP. De sensor wordt uitgevoerd met `scan_adfs: true`, waarbij `Get-AdfsCertificate` wordt aangeroepen via PowerShell-remotebeheer of lokaal op de AD FS-host.

Voorwaarden

  1. Toegang tot een domeincontroller (ADUC of de ActiveDirectory PowerShell-module).
  2. Toegang tot de AD FS-server (lokaal beheerdersaccount of op afstand via WinRM/RDP). Controleer de service met Get-Service adfssrv.
  3. De sensorhost is de AD FS-server zelf, of een Windows-host met RSAT-AD-Tools en netwerktoegang.
  4. PowerShell 5.1 of hoger op de sensorhost.
  5. WinRM is ingeschakeld op de AD FS-server voor externe uitvoeringen.
  6. Het Discover_WinCerts-sensorpakket is gedownload.

Stapsgewijze handleiding

Stap 1: Een serviceaccount aanmaken

Import-Module ActiveDirectory $SecurePassword = ConvertTo-SecureString "P@ssw0rd!Str0ng#2024" -AsPlainText -Force New-ADUser ` -Name "CBOM ADFS Sensor" ` -SamAccountName "cbom-adfs-sensor" ` -UserPrincipalName "[e-mail beveiligd]" ` -Path "OU=Service Accounts,DC=corp,DC=example,DC=com" ` -AccountPassword $SecurePassword ` -PasswordNeverExpires $true -CannotChangePassword $true -Enabled $true  

Stap 2: Verleen leesrechten aan AD FS-certificaten

Get-AdfsCertificate vereist lidmaatschap van de lokale AD FS Readers-groep op de AD FS-server. Als lokale beheerder op de AD FS-server:

Add-LocalGroupMember -Group "AD FS Readers" -Member "CORP\cbom-adfs-sensor" Get-LocalGroupMember -Group "AD FS Readers"  

Stap 3: Installeer RSAT op de sensorhost (alleen voor externe uitvoeringen)

# Voeg Windows-functie RSAT-AD-Tools toe # Schakel op de AD FS-server externe toegang in: Enable-PSRemoting -Force # Controleer vanaf de sensorhost: Test-WSMan -ComputerName adfs-server.corp.example.com -Credential (Get-Credential)  

Stap 4: Controleer de toegang tot AD FS-certificaten

$Credential = Get-Credential -UserName "CORP\cbom-adfs-sensor" -Message "wachtwoord van serviceaccount" Invoke-Command -ComputerName adfs-server.corp.example.com -Credential $Credential -ScriptBlock { Import-Module ADFS Get-AdfsCertificate }  

Controleer of er ten minste drie certificaattypen worden geretourneerd: Token-Signing, Token-Decrypting en Service-Communications.

Stap 5: Configureer de CBOM Secure Sensor

Sensoren: - naam: Discover_WinCerts ingeschakeld: true schema: "0 2 * * *" # dagelijks om 02:00 UTC scan_adfs: true adfs: host: adfs-server.corp.example.com poort: 5985 # WinRM HTTP; 5986 voor HTTPS use_ssl: false # true als WinRM HTTPS is geconfigureerd auth_method: negotiate # negotiate | kerberos | ntlm | basic domein: corp.example.com gebruikersnaam: cbom-adfs-sensor wachtwoord_env: CBOM_ADFS_PASSWORD certificaattypes: [Token-Signing, Token-Decrypting, Service-Communications] uitvoer: formaat: cbom-json bestemming: /var/cbom/output/adfs tags: { omgeving: productie, platform: adfs, team: identiteit }  

Opmerking: Stel CBOM_ADFS_PASSWORD in via een geheimbeheerder tijdens de uitvoering, in plaats van in shellprofielen.

Stap 6: Valideren

cbom-sensor run --sensor Discover_WinCerts --config /etc/cbom/sensors/adfs.yaml --dry-run grep -i "CertificateType" /var/cbom/output/adfs/adfs-server_certificates_ .json 

Controleer of de uitvoer vermeldingen bevat voor Token-Signing, Token-Decrypting en Service-Communications.

Veel voorkomende fouten

Toegang geweigerd bij het aanroepen van Get-AdfsCertificate (0x80070005)

Oorzaak: Het serviceaccount maakt geen deel uit van de lokale AD FS-lezersgroep of het token is niet vernieuwd.

Oplossing: Bevestig het lidmaatschap met Get-LocalGroupMember; start een nieuwe sessie om het token te vernieuwen; voeg het account opnieuw toe als het ontbreekt.

WinRM-verbindingsfout (externe host)

Oorzaak: WinRM is niet ingeschakeld op de AD FS-server, of een firewall blokkeert TCP-poorten 5985/5986.

Oplossing: Voer Enable-PSRemoting -Force uit, sta de WinRM-firewallregel toe en controleer met Test-NetConnection -Port 5985.

De cmdlet Get-AdfsCertificate is niet gevonden.

Oorzaak: De PowerShell ADFS-module is niet aanwezig op de sensorhost.

Oplossing: Voer de sensor uit op de AD FS-server, of installeer RSAT-AD-Tools en controleer met Get-Module -ListAvailable -Name ADFS.

Beveiligingsaanbevelingen

  • Gebruik Kerberos-authenticatie voor WinRM om wederzijdse authenticatie af te dwingen en relay-aanvallen te voorkomen.
  • Schakel WinRM via HTTPS (poort 5986) in met een geldig certificaat.
  • Bewaar het wachtwoord van het serviceaccount in een geheimenbeheerder en injecteer het als een kortstondige variabele.
  • Schakel interactieve aanmelding en aanmelding via Remote Desktop voor het serviceaccount uit via GPO.
  • Controleer aanmeldingsgebeurtenissen (4624/4625) voor cbom-adfs-sensor en stuur deze door naar uw SIEM.

Conclusie

De Discover_WinCerts-sensor met scan_adfs: true biedt alleen-lezen toegang tot alle AD FS-certificaten voor het ondertekenen, ontsleutelen en communiceren van tokens, en materiaal dat niet toegankelijk is via LDAP. Hierdoor blijft de CBOM Secure-inventaris actueel met de AD FS-certificaatrotaties voor naleving en cryptografische flexibiliteit.