Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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
Cette fonctionnalité fonctionne uniquement pour le scénario extranet où les demandes d’authentification passent par le proxy d’application web et s’appliquent uniquement à l’authentification par nom d’utilisateur et mot de passe.
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. Il s’agit d’un verrouillage logiciel.
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. Cela signifie que la valeur de l’attribut badPwdCount d’un compte AD n’augmente pas pendant que le compte est verrouillé de manière réversible.
- 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. Toutefois, nous vous recommandons vivement de définir la valeur du paramètre ExtranetLockoutThreshold sur une valeur inférieure au seuil de verrouillage du compte AD. 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. La façon dont il fonctionne est que lorsque AD FS reçoit une demande d’authentification, il accède au contrôleur de domaine principal (PDC) via un appel LDAP et effectue une recherche de l’attribut badPwdCount pour l’utilisateur sur le contrôleur de domaine principal. Si AD FS trouve la valeur du paramètre BadPwdCount>= ExtranetLockoutThreshold et que l’heure définie dans la fenêtre d’observation extranet n’a pas encore été passée, AD FS rejette la demande immédiatement, ce qui signifie que l’utilisateur entre un mot de passe correct ou incorrect à partir d’un extranet, l’ouverture de session échoue car AD FS n’envoie pas les informations d’identification à AD. AD FS ne conserve aucun état en ce qui concerne badPwdCount ou les comptes d’utilisateur verrouillés. 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.
Examinons deux exemples et voyons comment badPwdCount change au fil du temps en fonction de différents paramètres et états. Supposons que dans les deux exemples, le seuil de verrouillage de compte = 4 et le seuil de verrouillage de l'extranet = 2. La flèche rouge représente une tentative de mot de passe incorrecte, la flèche verte représente une bonne tentative de mot de passe. Dans l’exemple #1, ExtranetObservationWindow>Reset Account Lockout Counter After. Dans l’exemple #2, ExtranetObservationWindow<Reset Account Lockout Counter After.
Exemple 1
Exemple 2
Comme vous pouvez le voir dans ce qui précède, il existe deux conditions lorsque badPwdCount sera réinitialisé à 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 ». L’obtention d’un compte verrouillé par AD peut prendre un certain temps en fonction de votre configuration, car AD FS n’autorise qu’une tentative de mot de passe incorrecte pendant sa fenêtre d’observation jusqu’à ce que badPwdCount atteigne le seuil de verrouillage du compte.
Pour plus d’informations, consultez Configuration du verrouillage de compte.
Problèmes connus
Il existe un problème connu où le compte d’utilisateur AD ne peut pas s’authentifier auprès d’AD FS, car l’attribut badPwdCount n’est pas répliqué sur le contrôleur de domaine interrogé par ADFS. Pour plus d’informations, consultez 2971171 . Vous trouverez tous les QFE AD FS qui ont été publiés jusqu’ici.
Points importants à retenir
- La fonctionnalité de verrouillage Extranet fonctionne uniquement pour le scénario extranet où les demandes d’authentification sont envoyées par le proxy d’application web
- La fonctionnalité de verrouillage Extranet s’applique uniquement à l’authentification par nom d’utilisateur et mot de passe
- AD FS ne suit pas badPwdCount ou les utilisateurs qui sont verrouillés de manière réversible. AD FS utilise AD pour tous les suivis d’état
- AD FS effectue une recherche de l’attribut badPwdCount par le biais d’un appel LDAP pour l’utilisateur sur le contrôleur de domaine principal pour chaque tentative d’authentification
- 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
- Si badPwdCount>= ExtranetLockoutThreshold AND badPasswordTimeExtranetObservationWindow< Current time + , AD FS rejette les demandes d’authentification provenant d’extranet
- Pour éviter le verrouillage de compte malveillant, vous devez vous assurer que extranetLockoutThreshold<Account Lockout Threshold AND ExtranetObservationWindow>Reset Account Lockout Counter