For the complete documentation index, see llms.txt. This page is also available as Markdown.

Verouderde objecten

S-OldNtlm

Wat het betekent

Windows ondersteunt meerdere authenticatieprotocollen, van zeer oude en onveilige (LM, NTLMv1) tot moderne en veilige (NTLMv2, Kerberos). De oudere protocollen hebben bekende kwetsbaarheden die aanvallers kunnen misbruiken om wachtwoorden op het netwerk vast te leggen en te kraken.

De LAN Manager-authenticatieniveau bepaalt welke protocollen zijn toegestaan. Het moet worden ingesteld op niveau 5, wat betekent "alleen NTLMv2 accepteren, alle oudere protocollen weigeren."

Wat de scan controleert

De AD-scan leest Group Policy Objects (GPO's) om te verifiƫren dat de LmCompatibilityLevel instelling is ingesteld op 5. Als geen enkele GPO deze instelling definieert, gebruikt Windows standaard niveau 3, wat nog steeds enkele zwakkere protocollen accepteert.

Niveau
Wat het toestaat
Veilig?

0-2

LM en/of NTLMv1

Nee

3

NTLMv2 (maar weigert oude protocollen niet)

Nee

5

Alleen NTLMv2, LM & NTLMv1 weigeren

Ja

Waarom de waarschuwing kan blijven bestaan

  1. U hebt het register rechtstreeks gewijzigd in plaats van een GPO te gebruiken. De AD-scan leest GPO-bestanden, niet lokale registerinstellingen. Zelfs als de DC de juiste waarde in het register heeft, blijft de waarschuwing bestaan als deze niet via Group Policy is ingesteld.

  2. Conflicterende GPO's: EƩn GPO stelt niveau 5 in, maar een andere GPO overschrijft dit met een lager niveau.

  3. Helemaal geen GPO: Zonder enige GPO is de standaardwaarde niveau 3 (onveilig).

Hoe te diagnosticeren

# Controleer de effectieve instelling op elke DC
Get-ADDomainController -Filter * | ForEach-Object {
  $level = Invoke-Command -ComputerName $_.HostName -ScriptBlock {
    (Get-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa" `
      -Name LmCompatibilityLevel -ErrorAction SilentlyContinue).LmCompatibilityLevel
  }
  Write-Host "$($_.HostName): LmCompatibilityLevel = $level"
}

# Controleer welke GPO's deze instelling definiƫren
Import-Module GroupPolicy
Get-GPO -All | ForEach-Object {
  [xml]$r = Get-GPOReport -Guid $_.Id -ReportType Xml
  if ($r.InnerXml -match "LmCompatibilityLevel") {
    Write-Host "GPO: $($_.DisplayName)"
  }
}

Hoe op te lossen

Via Group Policy Management Console (aanbevolen):

  1. Open gpmc.msc

  2. Bewerk de GPO die is gekoppeld aan OU=Domain Controllers

  3. Navigeer naar: Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options

  4. Stel "Network security: LAN Manager authentication level" in op Alleen NTLMv2-reactie verzenden. LM & NTLM weigeren

  5. Stel "Network security: Do not store LAN Manager hash value on next password change" in op Ingeschakeld

  6. Voer uit gpupdate /force op alle domeincontrollers

Via PowerShell:

S-AesNotEnabled

Wat het betekent

Wanneer u zich in Active Directory authenticeert, wordt uw wachtwoord gebruikt om communicatie te versleutelen met een specifiek algoritme. Oudere algoritmen (DES, RC4) zijn zwak en kunnen relatief gemakkelijk worden gekraakt. Moderne algoritmen (AES-128, AES-256) zijn veel sterker.

AES-ondersteuning werd geïntroduceerd met Windows Server 2008. Accounts die vóór de upgrade bestonden, of accounts met specifieke configuraties, kunnen nog steeds de oude, zwakkere versleuteling gebruiken.

Wat de scan controleert

Een account wordt gemarkeerd in twee situaties:

  1. Het wachtwoord van het account is ingesteld vóórdat uw domein werd opgewaardeerd naar Server 2008. Omdat AES-versleutelingssleutels alleen worden gegenereerd wanneer een wachtwoord wordt ingesteld op een moderne DC, hebben deze oude wachtwoorden alleen zwakke RC4/DES-sleutels.

  2. Het account heeft een Service Principal Name (SPN) en de versleutelingsinstellingen bevatten geen AES (het msDS-SupportedEncryptionTypes attribuut mist AES-vlaggen).

Hoe te diagnosticeren

Hoe op te lossen

Voor accounts met oude wachtwoorden: Reset eenvoudig het wachtwoord. Dit genereert nieuwe AES-sleutels:

Voor accounts waarvoor AES-versleutelingsinstellingen ontbreken: Schakel AES in bij de versleutelingstypen van het account:

Opmerking: AES inschakelen is niet-destructief: bestaande authenticatie blijft werken. Test echter met kritieke services voordat u dit massaal toepast.

Laatst bijgewerkt

Was dit nuttig?