Partager via


Configurer la protection de verrouillage d'extranet d'AD FS

Dans AD FS sur Windows Server 2012 R2, nous avons introduit une fonctionnalité de sécurité appelée Verrouillage extranet. Avec cette fonctionnalité, AD FS « arrête » l’authentification d’un compte d’utilisateur « malveillant » de l’extérieur, pendant un certain temps. Cela empêche votre compte d’utilisateur d’être verrouillé dans Active Directory. Outre la protection de vos utilisateurs contre un verrouillage de compte AD, le verrouillage extranet AD FS protège également contre les attaques devinage de mot de passe par force brute.

Note

This feature only works for the extranet scenario where the authentication requests come through the Web Application Proxy and only applies to username and password authentication.

Avantages du verrouillage extranet

Le verrouillage extranet offre les avantages clés suivants :

  • Il protège vos comptes d’utilisateur contre les attaques par force brute où un attaquant tente de deviner le mot de passe d’un utilisateur en envoyant en continu des demandes d’authentification. Dans ce cas, AD FS verrouille le compte d’utilisateur malveillant pour l’accès extranet
  • Il protège vos comptes d’utilisateur contre le verrouillage de compte malveillant où un attaquant souhaite verrouiller un compte d’utilisateur en envoyant des demandes d’authentification avec des mots de passe incorrects. Dans ce cas, bien que le compte d’utilisateur soit verrouillé par AD FS pour l’accès extranet, le compte d’utilisateur réel dans AD n’est pas verrouillé et l’utilisateur peut toujours accéder aux ressources d’entreprise au sein de l’organisation. This is known as a soft lockout.

Fonctionnement

Il existe trois paramètres dans AD FS que vous devez configurer pour activer cette fonctionnalité :

  • EnableExtranetLockout <Boolean définissez cette valeur booléenne> sur True si vous souhaitez activer le verrouillage extranet.
  • ExtranetLockoutThreshold <Entier> qui définit le nombre maximal de tentatives de mot de passe incorrectes. Une fois le seuil atteint, AD FS rejette immédiatement les demandes d’extranet sans tenter de contacter le contrôleur de domaine pour l’authentification, que le mot de passe soit correct ou incorrect, jusqu’à ce que la fenêtre d’observation extranet soit passée. This means the value of badPwdCount attribute of an AD account won't increase while the account is soft-locked out.
  • L’intervalle de temps ExtranetObservationWindow <> détermine pendant combien de temps le compte d’utilisateur sera verrouillé de manière réversible. AD FS recommence à effectuer l’authentification par nom d’utilisateur et mot de passe lorsque la fenêtre s’est écoulée. AD FS utilise l’attribut AD badPasswordTime comme référence pour déterminer si la fenêtre d’observation extranet a passé ou non. La fenêtre est passée si l’heure actuelle >est badPasswordTime + ExtranetObservationWindow.

Note

Les fonctions de verrouillage extranet AD FS fonctionnent indépendamment des stratégies de verrouillage AD. However, we strongly recommend that you set the ExtranetLockoutThreshold parameter value to a value that's less than the AD account lockout threshold. Si vous ne parvenez pas à le faire, AD FS ne peut pas protéger les comptes d’être verrouillés dans Active Directory.

Voici un exemple d’activation de la fonctionnalité de verrouillage extranet avec un nombre maximal de 15 tentatives de mot de passe incorrectes et une durée de verrouillage réversible de 30 minutes :

Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow (new-timespan -Minutes 30)

Ces paramètres s’appliquent à tous les domaines que le service AD FS peut authentifier. The way that it works is that when AD FS receives an authentication request, it'll access the Primary Domain Controller (PDC) through an LDAP call and perform a lookup for the badPwdCount attribute for the user on the PDC. If AD FS finds the value of badPwdCount>= ExtranetLockoutThreshold setting and the time defined in the Extranet Observation Window has not passed yet, AD FS will reject the request immediately, which means no matter whether the user enters a good or bad password from extranet, the logon will fail because AD FS doesn't send the credentials to AD. AD FS doesn't maintain any state with regard to badPwdCount or locked out user accounts. AD FS utilise AD pour tout le suivi d’état.

Warning

Lorsque le verrouillage extranet AD FS sur Server 2012 R2 est activé, toutes les demandes d’authentification via le protocole WAP sont validées par AD FS sur le contrôleur de domaine principal. Lorsque le contrôleur de domaine principal n’est pas disponible, les utilisateurs ne peuvent pas s’authentifier à partir de l’extranet.

Server 2016 offre un paramètre supplémentaire qui permet à AD FS de revenir à un autre contrôleur de domaine lorsque le contrôleur de domaine est indisponible :

  • ExtranetLockoutRequirePDC <Boolean> : lorsqu’il est activé : le verrouillage extranet nécessite un contrôleur de domaine principal (PDC). Lorsqu'il est désactivé : le verrouillage extranet reviendra à un autre contrôleur de domaine si le contrôleur de domaine principal (PDC) n’est pas disponible.

Vous pouvez utiliser la commande Windows PowerShell suivante pour configurer le verrouillage extranet AD FS sur Server 2016 :

Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow (new-timespan -Minutes 30) -ExtranetLockoutRequirePDC $false

Travail avec la stratégie de verrouillage d'Active Directory

La fonctionnalité de verrouillage extranet dans AD FS fonctionne indépendamment de la stratégie de verrouillage AD. Toutefois, vous devez vous assurer que les paramètres du verrouillage Extranet sont correctement configurés afin qu’il puisse servir son objectif de sécurité avec la stratégie de verrouillage AD.

Examinons d'abord la stratégie de verrouillage de l'Active Directory. Il existe trois paramètres concernant la stratégie de verrouillage dans AD :

  • Seuil de verrouillage du compte : ce paramètre est similaire au paramètre ExtranetLockoutThreshold dans AD FS. Il détermine le nombre de tentatives d’ouverture de session ayant échoué qui entraînent le verrouillage d’un compte d’utilisateur. Pour protéger vos comptes d’utilisateur contre une attaque de verrouillage de compte malveillant, vous souhaitez définir la valeur d’ExtranetLockoutThreshold dans AD FS la valeur seuil de verrouillage du compte dans AD FS <
  • Durée de verrouillage du compte : ce paramètre détermine la durée pendant laquelle un compte d’utilisateur est verrouillé. Ce paramètre n’a pas beaucoup d’importance dans cette conversation, car le verrouillage extranet doit toujours se produire avant que le verrouillage AD ne se produise s’il est configuré correctement
  • Réinitialiser le compteur de verrouillage du compte après : ce paramètre détermine le temps nécessaire à partir de la dernière défaillance de connexion de l’utilisateur avant que badPwdCount ne soit réinitialisé à 0. Pour que la fonctionnalité de verrouillage extranet dans AD FS fonctionne correctement avec la stratégie de verrouillage AD, vous devez veiller à ce que la valeur ExtranetObservationWindow dans AD FS soit correcte > la valeur Réinitialiser le compteur de verrouillage de compte après dans AD. Les exemples ci-dessous expliquent pourquoi.

Let's take a look at two examples and see how badPwdCount changes over time based on different settings and states. Supposons que dans les deux exemples, le seuil de verrouillage de compte = 4 et le seuil de verrouillage de l'extranet = 2. The red arrow represents bad password attempt, the green arrow represents a good password attempt. In example #1, ExtranetObservationWindow>Reset Account Lockout Counter After. In example #2, ExtranetObservationWindow<Reset Account Lockout Counter After.

Example 1

Diagramme montrant comment badPwdCount change au fil du temps en fonction de différents paramètres et états.

Example 2

Example1

As you can see from the above, there are two conditions when badPwdCount will be reset to 0. L'un de ces cas est lorsqu'il y a une connexion réussie. L’autre est quand il est temps de réinitialiser ce compteur, comme défini par le paramètre Réinitialiser le compteur de verrouillage de compte après. Dans le cas de Réinitialiser le compteur de verrouillage de compte après<ExtranetObservationWindow, un compte ne risque pas d’être verrouillé par AD. Toutefois, si le compteur de verrouillage du compte est réinitialisé après>ExtranetObservationWindow, il est possible qu’un compte soit verrouillé par AD, mais de manière « différée ». It may take a while to get an account locked out by AD depending on your configuration as AD FS will only allow one bad password attempt during its observation window until badPwdCount reaches Account Lockout Threshold.

Pour plus d’informations, consultez Configuration du verrouillage de compte.

Known issues

There's a known issue where the AD user account can't authenticate with AD FS because the badPwdCount attribute isn't replicated to the domain controller that ADFS is querying. See 2971171 for more details. You can find all AD FS QFEs that have been released so far here.

Points importants à retenir

  • The Extranet Lockout feature only works for the extranet scenario where the authentication requests come through the Web Application Proxy
  • La fonctionnalité de verrouillage Extranet s’applique uniquement à l’authentification par nom d’utilisateur et mot de passe
  • AD FS doesn't keep any track of badPwdCount or users that are soft-locked out. AD FS uses AD for all state tracking
  • AD FS performs a lookup for the badPwdCount attribute through LDAP call for the user on the PDC for every authentication attempt
  • AD FS antérieur à 2016 échoue s’il ne peut pas accéder au contrôleur de domaine principal. AD FS 2016 a introduit des améliorations qui permettront à AD FS de revenir à d'autres contrôleurs de domaine en cas d'indisponibilité du PDC.
  • AD FS autorise les demandes d’authentification de l’extranet avec badPwdCount < ExtranetLockoutThreshold
  • If badPwdCount>= ExtranetLockoutThreshold AND badPasswordTime + ExtranetObservationWindow< Current time, AD FS will reject authentication requests from extranet
  • To avoid malicious account lockout, you should make sure ExtranetLockoutThreshold<Account Lockout Threshold AND ExtranetObservationWindow>Reset Account Lockout Counter