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

Objets obsolètes

S-OldNtlm

Ce que cela signifie

Windows prend en charge plusieurs protocoles d’authentification, des plus anciens et les moins sûrs (LM, NTLMv1) aux plus modernes et sécurisés (NTLMv2, Kerberos). Les anciens protocoles présentent des vulnérabilités connues que des attaquants peuvent exploiter pour capturer et casser des mots de passe sur le réseau.

Le niveau d’authentification de LAN Manager contrôle quels protocoles sont autorisés. Il doit être défini sur le niveau 5, ce qui signifie « n’accepter que NTLMv2, refuser tous les anciens protocoles. »

Ce que l'analyse vérifie

L’analyse AD lit les objets de stratégie de groupe (GPO) pour vérifier que le LmCompatibilityLevel paramètre est défini sur le 5. Si aucune GPO ne définit ce paramètre, Windows utilise la valeur par défaut du niveau 3, qui accepte encore certains protocoles plus faibles.

Niveau
Ce qu’il autorise
Sécurisé ?

0-2

LM et/ou NTLMv1

Non

3

NTLMv2 (mais ne refuse pas les anciens protocoles)

Non

5

NTLMv2 uniquement, refuser LM et NTLMv1

Oui

Pourquoi l’alerte peut persister

  1. Vous avez modifié directement le registre au lieu d’utiliser une GPO. L’analyse AD lit les fichiers GPO, pas les paramètres du registre local. Même si le contrôleur de domaine a la bonne valeur dans le registre, l’alerte persiste si elle n’a pas été définie via la stratégie de groupe.

  2. GPO en conflit : Une GPO définit le niveau 5, mais une autre GPO le remplace avec un niveau inférieur.

  3. Aucune GPO : Sans aucune GPO, la valeur par défaut est le niveau 3 (non sécurisé).

Comment diagnostiquer

# Vérifier le paramètre effectif sur chaque contrôleur de domaine
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"
}

# Vérifier quelles GPO définissent ce paramètre
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)"
  }
}

Comment corriger

Via la console de gestion des stratégies de groupe (recommandé) :

  1. Ouvrir gpmc.msc

  2. Modifiez la GPO liée à OU=Domain Controllers

  3. Accédez à : Configuration ordinateur > Stratégies > Paramètres Windows > Paramètres de sécurité > Stratégies locales > Options de sécurité

  4. Définissez "Sécurité réseau : niveau d’authentification de LAN Manager" sur Envoyer uniquement une réponse NTLMv2. Refuser LM et NTLM

  5. Définissez "Sécurité réseau : ne pas stocker la valeur de hachage LAN Manager lors du prochain changement de mot de passe" sur Activé

  6. Exécutez gpupdate /force sur tous les contrôleurs de domaine

Via PowerShell :

S-AesNotEnabled

Ce que cela signifie

Lorsque vous vous authentifiez dans Active Directory, votre mot de passe est utilisé pour chiffrer les communications à l’aide d’un algorithme spécifique. Les anciens algorithmes (DES, RC4) sont faibles et peuvent être cassés relativement facilement. Les algorithmes modernes (AES-128, AES-256) sont beaucoup plus robustes.

La prise en charge d’AES a été introduite avec Windows Server 2008. Cependant, les comptes qui existaient avant la mise à niveau, ou les comptes avec des configurations spécifiques, peuvent encore utiliser l’ancien chiffrement plus faible.

Ce que l'analyse vérifie

Un compte est signalé dans deux situations :

  1. Le mot de passe du compte a été défini avant la mise à niveau de votre domaine vers Server 2008. Comme les clés de chiffrement AES ne sont générées que lorsqu’un mot de passe est défini sur un contrôleur de domaine moderne, ces anciens mots de passe ne disposent que de clés RC4/DES faibles.

  2. Le compte a un nom de principal de service (SPN) et ses paramètres de chiffrement n’incluent pas AES (l’attribut msDS-SupportedEncryptionTypes est dépourvu des indicateurs AES).

Comment diagnostiquer

Comment corriger

Pour les comptes avec d’anciens mots de passe : Réinitialisez simplement le mot de passe. Cela génère de nouvelles clés AES :

Pour les comptes auxquels il manque les paramètres de chiffrement AES : Activez AES dans les types de chiffrement du compte :

Remarque : L’activation d’AES n’est pas destructive : l’authentification existante continue de fonctionner. Cependant, testez d’abord avec les services critiques avant d’appliquer en masse.

Mis à jour

Ce contenu vous a-t-il été utile ?