Guide för integration av Microsoft AD FS

Översikt

Den här guiden konfigurerar CBOM Secure Discover_WinCerts-sensorn för att upptäcka AD FS-kryptografiska certifikat:

  • Tokensigneringscertifikat — signera säkerhetstokens utfärdade till förlitande parter
  • Token-dekrypteringscertifikat — dekryptera inkommande krypterade påståenden
  • Tjänstkommunikationscertifikat – säker kommunikation mellan AD FS-komponenter

AD FS exponerar inte dessa via LDAP. Sensorn körs med scan_adfs: true, och anropar Get-AdfsCertificate via PowerShell-fjärrstyrning eller lokalt på AD FS-värden.

Förutsättningar

  1. Åtkomst till en domänkontrollant (ADUC eller ActiveDirectory PowerShell-modulen).
  2. Åtkomst till AD FS-servern (lokal administratör eller fjärradministratör via WinRM/RDP). Verifiera tjänsten med Get-Service adfssrv.
  3. Sensorvärden är själva AD FS-servern, eller en Windows-värd med RSAT-AD-Tools och nätverksåtkomst.
  4. PowerShell 5.1+ på sensorvärden.
  5. WinRM aktiverat på AD FS-servern för fjärrkörningar.
  6. Sensorpaketet Discover_WinCerts har laddats ner.

Steg-för-steg-guide

Steg 1: Skapa ett servicekonto

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

Steg 2: Bevilja läsåtkomst till AD FS-certifikat

Get-AdfsCertificate kräver medlemskap i den lokala AD FS Readers-gruppen på AD FS-servern. På AD FS-servern som lokal administratör:

Lägg till lokalgruppmedlem - gruppen "AD FS-läsare" - medlem "CORP\cbom-adfs-sensor" Get-lokalgruppmedlem - gruppen "AD FS-läsare"  

Steg 3: Installera RSAT på sensorvärden (endast fjärrkörningar)

Add-WindowsFeature RSAT-AD-Tools # Aktivera fjärrstyrning på AD FS-servern: Enable-PSRemoting -Force # Verifiera följande från sensorvärden: Test-WSMan -ComputerName adfs-server.corp.example.com -Credential (Get-Credential)  

Steg 4: Verifiera åtkomst till AD FS-certifikat

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

Bekräfta att minst tre certifikattyper returneras: Token-signering, Token-dekryptering och Service-kommunikation.

Steg 5: Konfigurera CBOM Secure Sensor

sensorer: - namn: Discover_WinCerts aktiverat: sant schema: "0 2 * * *" # dagligen kl. 02:00 UTC scan_adfs: sant adfs: värd: adfs-server.corp.example.com port: 5985 # WinRM HTTP; 5986 för HTTPS use_ssl: falskt # sant om WinRM HTTPS är konfigurerat auth_method: negotiate # negotiate | kerberos | ntlm | basic domain: corp.example.com användarnamn: cbom-adfs-sensor password_env: CBOM_ADFS_PASSWORD certifikattyper: [Token-signering, Token-dekryptering, Service-kommunikation] output: format: cbom-json destination: /var/cbom/output/adfs taggar: { miljö: produktion, plattform: adfs, team: identitet }  

Obs: Ställ in CBOM_ADFS_PASSWORD via en hemlighetshanterare vid körning snarare än i skalprofiler.

Steg 6: Validera

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

Bekräfta att utdata innehåller poster för tokensignering, tokendekryptering och servicekommunikation.

Vanliga fel

Åtkomst nekas vid anrop av Get-AdfsCertificate (0x80070005)

Orsak: Tjänstkontot finns inte i den lokala AD FS-läsargruppen, eller så har token inte uppdaterats.

Lösning: Bekräfta medlemskap med Get-LocalGroupMember; starta en ny session för att uppdatera token; lägg till kontot igen om det saknas.

WinRM-anslutningsfel (fjärrvärd)

Orsak: WinRM är inte aktiverat på AD FS-servern, eller så blockerar en brandvägg TCP 5985/5986.

Lösning: Kör Enable-PSRemoting-Force, tillåt WinRM-brandväggsregeln och verifiera med Test-NetConnection-Port 5985.

Get-AdfsCertificate-cmdlet hittades inte

Orsak: PowerShell ADFS-modulen finns inte på sensorvärden.

Lösning: Kör sensorn på AD FS-servern eller installera RSAT-AD-Tools och bekräfta med Get-Module -ListAvailable -Name ADFS.

Säkerhetsrekommendationer

  • Använd Kerberos-autentisering för WinRM för att framtvinga ömsesidig autentisering och förhindra reläattacker.
  • Aktivera WinRM över HTTPS (port 5986) med ett giltigt certifikat.
  • Lagra lösenordet för tjänstkontot i en hemlighetshanterare och injicera det som en kortlivad variabel.
  • Neka interaktiv inloggning och inloggning på fjärrskrivbord för tjänstkontot via grupprincipobjektet.
  • Granska inloggningshändelser (4624/4625) för cbom-adfs-sensor och vidarebefordra till din SIEM.

Slutsats

Discover_WinCerts-sensorn med scan_adfs: true tillhandahåller skrivskyddad identifiering av alla AD FS-tokensignerings-, tokendekrypterings- och servicekommunikationscertifikat, material som inte är tillgängligt via LDAP, vilket håller CBOM Secure-inventeringen aktuell med AD FS-certifikatrotationer för efterlevnad och kryptoagilitet.