Partager via


Vue d’ensemble Verrouillage extranet et verrouillage intelligent extranet AD FS

Extranet Smart Lockout (ESL) protège vos utilisateurs contre le verrouillage de compte extranet contre les activités malveillantes.

ESL permet à AD FS de différencier les tentatives de connexion à partir d’un emplacement familier pour un utilisateur et les tentatives de connexion à partir de ce qui peut être un attaquant. AD FS peut verrouiller les attaquants tout en permettant aux utilisateurs valides de continuer à utiliser leurs comptes. Cette distinction empêche et protège contre le déni de service et certaines classes d’attaques par pulvérisation de mots de passe sur l’utilisateur. ESL est disponible pour AD FS dans Windows Server 2016 et est intégré à AD FS dans Windows Server 2019.

ESL est disponible uniquement pour les demandes d’authentification par nom d’utilisateur et mot de passe qui transitent par l’extranet avec le proxy d’application web ou un proxy tiers. Tout proxy tiers doit prendre en charge le protocole MS-ADFSPIP à utiliser à la place du proxy d’application web, tel que F5 BIG-IP Access Policy Manager. Consultez la documentation du proxy tiers pour déterminer si le proxy prend en charge le protocole MS-ADFSPIP.

Fonctionnalités dans AD FS 2019

Le verrouillage intelligent extranet dans AD FS 2019 ajoute les avantages suivants par rapport à AD FS 2016 :

  • Seuils de verrouillage indépendants pour les emplacements familiers et inconnus. Les utilisateurs dans des emplacements connus peuvent avoir plus de marge d'erreur que les demandes en provenance d'emplacements suspects.
  • Mode d’audit pour le verrouillage intelligent tout en continuant à appliquer le comportement de verrouillage souple précédent. Cette distinction vous permet d’en savoir plus sur les emplacements familiers de l’utilisateur et d’être toujours protégé par la fonctionnalité de verrouillage extranet disponible à partir d’AD FS 2012 R2.

Informations de configuration

Lorsque ESL est activé, une nouvelle table dans la base de données Artifact est AdfsArtifactStore.AccountActivitycréée. Un nœud est également sélectionné dans la batterie de serveurs AD FS comme nœud principal « Activité utilisateur ». Dans une configuration de base de données interne Windows (WID), ce nœud est toujours le nœud principal. Dans une configuration SQL, un nœud est sélectionné pour être le nœud principal de l’activité utilisateur.

Pour afficher le nœud sélectionné comme nœud principal « Activité utilisateur », utilisez (Get-AdfsFarmInformation).FarmRoles.

Tous les nœuds secondaires contactent le nœud principal sur chaque nouvelle connexion via le port 80 pour découvrir la dernière valeur du nombre de mots de passe incorrects et les nouvelles valeurs d’emplacement familières. Les nœuds secondaires mettent également à jour le nœud principal une fois la connexion traitée.

Diagramme montrant le processus de connexion entre les nœuds principaux, les nœuds secondaires et le client.

Si le nœud secondaire ne peut pas contacter le nœud principal, le nœud secondaire écrit des événements d’erreur dans le journal d’administration AD FS. Les authentifications continuent d’être traitées, mais AD FS écrit uniquement l’état mis à jour localement. AD FS retente de contacter le nœud principal toutes les 10 minutes. AD FS revient au nœud principal une fois le nœud principal disponible.

Terminologie

  • FamiliarLocation : lors d’une demande d’authentification, ESL vérifie tous les protocoles Internet (IP) présentés. Ces adresses IP sont une combinaison d’adresses IP réseau, d’adresses IP transférées et de l’adresse IP x-forwarded-for facultative. Si la demande réussit, toutes les adresses IP sont ajoutées à la table Activité du compte comme « adresses IP familières ». Si la demande comporte toutes les adresses IP présentes dans les « adresses IP familières », la demande est traitée comme un emplacement « familier ».
  • UnknownLocation : si une requête qui vient a au moins une adresse IP non présente dans la liste FamiliarLocation existante, la requête est traitée comme un emplacement « Inconnu ». Cette action gère les scénarios de proxy tels que l’authentification héritée Exchange Online où les adresses Exchange Online gèrent les demandes réussies et ayant échoué.
  • badPwdCount : valeur représentant le nombre de fois où un mot de passe incorrect a été envoyé et l’authentification a échoué. Pour chaque utilisateur, des compteurs distincts sont conservés pour les emplacements familiers et les emplacements inconnus.
  • UnknownLockout : une valeur booléenne pour indiquer si un utilisateur donné est empêché d’accéder depuis des emplacements inconnus. Cette valeur est calculée en fonction des valeurs badPwdCountUnfamiliar et ExtranetLockoutThreshold .
  • ExtranetLockoutThreshold : cette valeur détermine le nombre maximal de tentatives de mot de passe incorrectes. Lorsque le seuil est atteint, AD FS rejette les demandes de l’extranet jusqu’à ce que la fenêtre d’observation soit passée.
  • ExtranetObservationWindow : cette valeur détermine la durée pendant laquelle les demandes de nom d’utilisateur et de mot de passe provenant d’emplacements inconnus sont verrouillées. Une fois la fenêtre passée, AD FS commence à effectuer à nouveau l’authentification par nom d’utilisateur et mot de passe à partir d’emplacements inconnus.
  • ExtranetLockoutRequirePDC : lorsqu’il est activé, le verrouillage extranet nécessite un contrôleur de domaine principal (PDC). Lorsque désactivé, le verrouillage extranet revient à un autre contrôleur de domaine au cas où le contrôleur de domaine principal (PDC) serait indisponible.
  • ExtranetLockoutMode : contrôle le mode log-only et le mode appliqué d’ESL.
    • ADFSSmartLockoutLogOnly : ESL est activé. AD FS écrit des événements d’administration et d’audit, mais ne rejette pas les demandes d’authentification. Ce mode est destiné à être activé afin que FamiliarLocation soit renseigné avant que ADFSSmartLockoutEnforce ne soit activé.
    • ADFSSmartLockoutEnforce : prise en charge complète du blocage des demandes d’authentification inconnues lorsque des seuils sont atteints.

Les adresses IPv4 et IPv6 sont prises en charge.

Anatomie d’une transaction

  • Vérification préalable de l’authentification : lors d’une demande d’authentification, ESL vérifie toutes les adresses IP présentées. Ces adresses IP sont une combinaison d’adresses IP réseau, d’adresses IP transférées et de l’adresse IP x-forwarded-for facultative. Dans les journaux d’audit, ces adresses IP sont répertoriées dans le champ <IpAddress> dans l’ordre x-ms-forwarded-client-ip, x-forwarded-for, x-ms-proxy-client-ip.

    En fonction de ces adresses IP, AD FS détermine si la demande provient d’un emplacement familier, puis vérifie si le badPwdCount respectif est inférieur à la limite de seuil définie ou si la dernière tentative ayant échoué s’est produite plus longtemps que le délai de temps de la fenêtre d’observation. Si l’une de ces conditions est vraie, AD FS autorise cette transaction pour un traitement et une validation d’informations d’identification supplémentaires. Si les deux conditions sont fausses, le compte est déjà dans un état verrouillé jusqu’à la fin de la fenêtre d’observation. Une fois la fenêtre d’observation passée, l’utilisateur est autorisé à s’authentifier. Dans Windows Server 2019, AD FS vérifie la limite de seuil appropriée en fonction de l’adresse IP correspondant à un emplacement familier.

  • Connexion réussie : si la connexion réussit, les adresses IP de la demande sont ajoutées à la liste d’adresses IP d’emplacement familière de l’utilisateur.

  • Échec de la connexion : si la connexion échoue, le badPwdCount est augmenté. L’utilisateur passe à un état de verrouillage si l’attaquant envoie plus de mots de passe incorrects au système que le seuil l’autorise. (badPwdCount > ExtranetLockoutThreshold)

Diagramme montrant le processus d’authentification réussie et infructueuse.

La valeur UnknownLockout est égale à True lorsque le compte est verrouillé. Ce verrouillage signifie que le badPwdCount de l’utilisateur dépasse le seuil. Par exemple, une personne a tenté plus de mots de passe que le système l’autorise. Dans cet état, il existe deux façons pour un utilisateur valide de se connecter :

  • Attendre que le temps ObservationWindow s’écoule
  • Pour réinitialiser l’état de verrouillage, réinitialisez le badPwdCount sur zéro avec Reset-ADFSAccountLockout.

Si aucune réinitialisation ne se produit, le compte est autorisé à effectuer une seule tentative de mot de passe contre AD pour chaque fenêtre d’observation. Après cette tentative, le compte retourne à l’état verrouillé et la fenêtre d’observation redémarre. La valeur badPwdCount est réinitialisée automatiquement après une connexion de mot de passe réussie.

Mode Journal uniquement et mode Appliquer

La table AccountActivity est remplie à la fois en mode Log-Only et en mode Appliquer . Si le mode Journal uniquement est contourné et que l’ESL est déplacé directement en mode Appliquer sans la période d’attente recommandée, les adresses IP familières des utilisateurs ne sont pas connues d’AD FS. ESL se comporte ensuite comme ADBadPasswordCounter, ce qui bloque potentiellement le trafic utilisateur légitime si le compte d’utilisateur est sous une attaque par force brute active. Si le mode Journal uniquement est contourné et que l’utilisateur entre dans un état verrouillé oùUnknownLockout est égal à True et tente de se connecter avec un mot de passe correct à partir d’une adresse IP qui ne figure pas dans la liste d’adresses IP « familières », il ne peut pas se connecter. Le mode Journal uniquement est recommandé pendant trois à sept jours pour éviter ce scénario. Si des comptes sont activement attaqués, un minimum de 24 heures de mode Journal uniquement est nécessaire afin d’empêcher les verrouillages pour les utilisateurs légitimes.

Configuration du verrouillage intelligent de l'extranet

Les sections suivantes décrivent les prérequis et les configurations pour activer ESL pour AD FS 2016.

Conditions préalables pour AD FS 2016

  1. Installez les mises à jour sur tous les nœuds de la ferme de serveurs.

    Tout d’abord, vérifiez que tous les serveurs AD FS Windows Server 2016 sont à jour à compter des mises à jour Windows de juin 2018 et que la batterie de serveurs AD FS 2016 s’exécute au niveau de comportement 2016 de la batterie de serveurs.

  2. Vérifiez les autorisations.

    ESL nécessite que la gestion à distance de Windows soit activée sur chaque serveur AD FS.

  3. Mettez à jour les autorisations de la base de données d’artefacts.

    ESL nécessite que le compte de service AD FS dispose des autorisations nécessaires pour créer une table dans la base de données d’artefact AD FS. Connectez-vous à n’importe quel serveur AD FS en tant qu’administrateur AD FS. Accordez ensuite cette autorisation dans une fenêtre d’invite de commandes PowerShell en exécutant les commandes suivantes :

    PS C:\>$cred = Get-Credential
    PS C:\>Update-AdfsArtifactDatabasePermission -Credential $cred
    

    Remarque

    L’espace réservé $cred est un compte disposant d’autorisations d’administrateur AD FS. Cela doit fournir les autorisations d’écriture pour créer la table.

    Les commandes précédentes peuvent échouer en raison d’un manque d’autorisation, car votre batterie de serveurs AD FS utilise SQL Server et les informations d’identification fournies précédemment ne disposent pas d’autorisations d’administrateur sur votre serveur SQL Server. Dans ce cas, vous pouvez configurer manuellement les autorisations de base de données dans SQL Server Database lorsque vous êtes connecté à la base de données AdfsArtifactStore en exécutant la commande suivante :

    # when prompted with “Are you sure you want to perform this action?”, enter Y.
    
    [CmdletBinding(SupportsShouldProcess=$true,ConfirmImpact = 'High')]
    Param()
    
    $fileLocation = "$env:windir\ADFS\Microsoft.IdentityServer.Servicehost.exe.config"
    
    if (-not [System.IO.File]::Exists($fileLocation))
    {
    write-error "Unable to open AD FS configuration file."
    return
    }
    
    $doc = new-object Xml
    $doc.Load($fileLocation)
    $connString = $doc.configuration.'microsoft.identityServer.service'.policystore.connectionString
    $connString = $connString -replace "Initial Catalog=AdfsConfigurationV[0-9]*", "Initial Catalog=AdfsArtifactStore"
    
    if ($PSCmdlet.ShouldProcess($connString, "Executing SQL command sp_addrolemember 'db_owner', 'db_genevaservice' "))
    {
    $cli = new-object System.Data.SqlClient.SqlConnection
    $cli.ConnectionString = $connString
    $cli.Open()
    
    try
    {
    
    $cmd = new-object System.Data.SqlClient.SqlCommand
    $cmd.CommandText = "sp_addrolemember 'db_owner', 'db_genevaservice'"
    $cmd.Connection = $cli
    $rowsAffected = $cmd.ExecuteNonQuery()
    if ( -1 -eq $rowsAffected )
    {
    write-host "Success"
    }
    }
    finally
    {
    $cli.CLose()
    }
    }
    

Vérifier que la journalisation d’audit de sécurité AD FS est activée

Cette fonctionnalité utilise les journaux d’audit de sécurité. L’audit doit donc être activé dans AD FS et la stratégie locale sur tous les serveurs AD FS.

Instructions relatives à la configuration

ESL utilise la propriété AD FS ExtranetLockoutEnabled. Cette propriété a été utilisée précédemment pour contrôler le verrouillage logiciel Extranet dans Server 2012 R2. Si ESL est activé et que vous souhaitez afficher la configuration de propriété actuelle, exécutez Get-AdfsProperties.

Recommandations de configuration

Lors de la configuration d’ESL, suivez les bonnes pratiques pour définir des seuils :

ExtranetObservationWindow (new-timespan -Minutes 30)

ExtranetLockoutThreshold: Half of AD Threshold Value

AD value: 20, ExtranetLockoutThreshold: 10

Le verrouillage Active Directory fonctionne indépendamment de ESL. Toutefois, si le verrouillage Active Directory est activé, sélectionnez ExtranetLockoutThreshold dans AD FS et Seuil de verrouillage de compte dans AD.

ExtranetLockoutRequirePDC - $false

Lorsqu’il est activé, le verrouillage extranet nécessite un contrôleur de domaine principal (PDC). Lorsqu’il est désactivé et configuré comme faux, le verrouillage extranet revient à un autre contrôleur de domaine si le PDC n’est pas disponible.

Pour définir cette propriété, exécutez :

Set-AdfsProperties -EnableExtranetLockout $true -ExtranetLockoutThreshold 15 -ExtranetObservationWindow (New-TimeSpan -Minutes 30) -ExtranetLockoutRequirePDC $false

Activer le mode Log-Only

En mode Journal uniquement, AD FS renseigne les informations de localisations familières des utilisateurs et écrit des événements d’audit de sécurité, mais ne bloque aucune requête. Ce mode permet de vérifier que le verrouillage intelligent est en cours d’exécution et d’activer AD FS pour « apprendre » les emplacements familiers des utilisateurs avant d’activer le mode Appliquer . À mesure qu’AD FS apprend, il stocke l’activité de connexion par utilisateur (que ce soit en mode Journal uniquement ou en mode Appliquer). Définissez le comportement de verrouillage sur Log-Only en exécutant l’applet de commande suivante :

Set-AdfsProperties -ExtranetLockoutMode AdfsSmartlockoutLogOnly

Le mode Log-Only est destiné à être un état temporaire afin que le système puisse apprendre le comportement de connexion utilisateur avant d’introduire l’application du verrouillage avec le comportement de verrouillage intelligent. La durée recommandée pour le mode Log-Only est de 3 à 7 jours. Si les comptes sont activement attaqués, le mode Log-Only doit s’exécuter pendant au moins 24 heures.

Sur AD FS 2016, si le comportement Verrouillage logiciel Extranet 2012 R2 est activé avant l’activation du verrouillage intelligent Extranet, le mode Journal uniquement désactive le comportement Verrouillage logiciel Extranet. Le verrouillage intelligent AD FS ne verrouille pas les utilisateurs en mode Journal uniquement. Toutefois, l'AD local peut verrouiller l’utilisateur en fonction de la configuration AD. Examiner les politiques de verrouillage AD pour découvrir comment AD local peut verrouiller les utilisateurs.

Sur AD FS 2019, un autre avantage est de pouvoir activer le mode Journal uniquement pour le verrouillage intelligent tout en continuant à appliquer le comportement de verrouillage logiciel précédent à l’aide de la commande PowerShell ci-dessous :

Set-AdfsProperties -ExtranetLockoutMode 3

Pour que le nouveau mode prenne effet, redémarrez le service AD FS sur tous les nœuds de la batterie de serveurs à l’aide de :

Restart-service adfssrv

Une fois le mode configuré, vous pouvez activer le verrouillage intelligent à l’aide du paramètre EnableExtranetLockout :

Set-AdfsProperties -EnableExtranetLockout $true

Activer le mode d’application

Une fois que vous êtes à l’aise avec le seuil de verrouillage et la fenêtre d’observation, ESL peut être déplacé vers le mode «Appliquer à l’aide de l’applet de commande PSH suivante :

Set-AdfsProperties -ExtranetLockoutMode AdfsSmartLockoutEnforce

Pour que le nouveau mode prenne effet, redémarrez le service AD FS sur tous les nœuds de la batterie de serveurs à l’aide de la commande suivante.

Restart-service adfssrv

Gérer l’activité du compte d’utilisateur

AD FS fournit trois applets de commande pour gérer les données d’activité de compte. Ces cmdlets se connectent automatiquement au nœud de la ferme de serveurs qui détient le rôle principal.

Remarque

Vous pouvez utiliser Just Enough Administration (JEA) pour déléguer des commandes AD FS pour réinitialiser les verrous de compte. Par exemple, vous pouvez déléguer des autorisations au personnel du support technique pour utiliser des commandes ESL. Pour plus d’informations, consultez Déléguer l’accès PowerShell aux commandlets AD FS pour les utilisateurs non administrateurs.

Vous pouvez remplacer ce comportement en transmettant le -Server paramètre.

Get-ADFSAccountActivity -UserPrincipalName

L’applet de commande se connecte automatiquement au nœud principal de la batterie à l’aide du point de terminaison REST d’activité de compte. Par conséquent, toutes les données doivent toujours être cohérentes. Lisez l’activité du compte courant d'un compte utilisateur à l’aide de :

Get-ADFSAccountActivity user@contoso.com

Propriétés :

  • BadPwdCountFamiliar : incrémenté lorsqu’une authentification échoue à partir d’un emplacement connu.
  • BadPwdCountUnknown : incrémenté lorsqu’une authentification échoue à partir d’un emplacement inconnu.
  • LastFailedAuthFamiliar : si l’authentification a échoué à partir d’un emplacement familier, LastFailedAuthFamiliar est défini sur la durée de l’authentification infructueuse.
  • LastFailedAuthUnknown : si l’authentification a échoué à partir d’un emplacement inconnu, LastFailedAuthUnknown est défini sur l’heure d’échec de l’authentification.
  • FamiliarLockout : valeur booléenne qui est True si BadPwdCountFamiliar>ExtranetLockoutThreshold.
  • UnknownLockout : valeur booléenne qui est True si BadPwdCountUnknown>ExtranetLockoutThreshold.
  • Adresses IP familières : maximum de 20 adresses IP familières à l’utilisateur. Lorsque 20 adresses IP sont dépassées, l’adresse IP la plus ancienne de la liste est supprimée.

Set-ADFSAccountActivity

Set-ADFSAccountActivity ajoute de nouveaux emplacements familiers. La liste d’adresses IP familières comporte un maximum de 20 entrées. Si 20 entrées sont dépassées, l’adresse IP la plus ancienne de la liste est supprimée.

Set-ADFSAccountActivity user@contoso.com -AdditionalFamiliarIps “1.2.3.4”

Reset-ADFSAccountLockout

Réinitialise le compteur de verrouillage d’un compte d’utilisateur pour chaque localisation familière (badPwdCountFamiliar) ou le compteur de localisations inconnues (badPwdCountUnfamiliar). Lorsque vous réinitialisez un compteur, la valeur FamiliarLockout ou UnfamiliarLockout est mise à jour, car le compteur de réinitialisation est inférieur au seuil.

Reset-ADFSAccountLockout user@contoso.com -Location Familiar

Reset-ADFSAccountLockout user@contoso.com -Location Unknown

Journalisation des événements et informations d'activité utilisateur pour le verrouillage de l'extranet AD FS

Les sections suivantes décrivent comment surveiller la journalisation des événements, l’activité de compte d’utilisateur et les verrouillages.

Connecter la Santé

La méthode recommandée pour surveiller l’activité du compte d’utilisateur est via Connect Health. Connect Health génère des rapports téléchargeables sur les adresses IP risquées et les tentatives de mot de passe incorrectes. Chaque élément du rapport d’adresse IP risquée affiche des informations agrégées sur les activités de connexion AD FS ayant échoué qui dépassent le seuil désigné. Les notifications par e-mail peuvent être définies pour alerter les administrateurs avec des paramètres de messagerie personnalisables lors de l’échec des activités de connexion AD FS. Pour plus d’informations et des instructions de configuration, consultez Surveiller AD FS à l’aide de Microsoft Entra Connect Health.

Événements Verrouillage intelligent extranet AD FS

Remarque

Pour résoudre les problèmes liés à ESL, consultez Atténuation des attaques par pulvérisation de mots de passe et des verrouillages de compte.

Pour que les événements de verrouillage intelligent extranet soient écrits, ESL doit être activé en mode Journal uniquement ou Appliquer, et l’audit de sécurité AD FS doit être activé. AD FS écrit des événements de verrouillage extranet dans le journal d’audit de sécurité quand :

  • Un utilisateur est verrouillé, ce qui signifie que l’utilisateur atteint le seuil de verrouillage pour les tentatives de connexion infructueuses.
  • AD FS reçoit une tentative de connexion pour un utilisateur qui est déjà dans un état de verrouillage.

En mode Journal uniquement, vous pouvez consulter le journal d’audit de sécurité pour vérifier les événements de verrouillage. Pour tous les événements trouvés, vous pouvez vérifier l’état utilisateur à l’aide de l’applet Get-ADFSAccountActivity de commande pour déterminer si le verrouillage s’est produit à partir d’adresses IP familières ou inconnues. Vous pouvez également utiliser l’applet Get-ADFSAccountActivity de commande pour vérifier la liste des adresses IP familières pour cet utilisateur.

ID de l’événement Descriptif
1203 Cet événement est écrit pour chaque tentative de mot de passe incorrecte. Dès que le badPwdCount atteint la valeur spécifiée dans ExtranetLockoutThreshold, le compte est verrouillé sur AD FS pendant la durée spécifiée dans ExtranetObservationWindow.
ID d’activité
: %1XML : %2
1 210 Cet événement est écrit chaque fois qu’un utilisateur est verrouillé.
ID d’activité : %1
XML : %2
557 (AD FS 2019) Une erreur s’est produite lors de la tentative de communication avec le service rest du magasin de comptes sur le nœud %1. Si vous utilisez une batterie de serveurs WID, le nœud principal peut être hors connexion. Si vous utilisez une batterie de serveurs SQL, AD FS sélectionne automatiquement un nouveau nœud pour héberger le rôle principal du magasin d’utilisateurs.
562 (AD FS 2019) Une erreur s’est produite lors de la communication avec le point de terminaison du magasin de comptes sur le serveur %1.
Message d’exception : %2
563 (AD FS 2019) Une erreur s’est produite lors du calcul de l’état du verrouillage extranet. En raison de la valeur du %1, la configuration de l'authentification est autorisée pour cet utilisateur, et l'émission de jetons continue. Si vous utilisez une batterie de serveurs WID, le nœud principal peut être hors connexion. Si vous utilisez une batterie de serveurs SQL, AD FS sélectionne automatiquement un nouveau nœud pour héberger le rôle principal du magasin d’utilisateurs.
Nom du serveur du magasin de comptes : %2
ID d’utilisateur : %3
Message d’exception : %4
512 Le compte de l’utilisateur suivant est verrouillé. Une tentative de connexion est autorisée en raison de la configuration du système.
ID d’activité : utilisateur %1
: adresse IP du client %2
: nombre de mots de passe incorrects %3
: %4
dernière tentative de mot de passe incorrecte : %5
515 Le compte d’utilisateur suivant était dans un état verrouillé et le mot de passe correct a été fourni. Ce compte peut être compromis.
Données supplémentaires
ID d’activité : %1
Utilisateur : %2
Client IP : %3
516 Le compte d’utilisateur suivant a été verrouillé en raison d’un trop grand nombre de tentatives de mot de passe incorrectes.
ID d’activité : utilisateur %1
: adresse IP du client %2
: nombre de mots de passe incorrects %3
: %4
dernière tentative de mot de passe incorrecte : %5

Forum aux questions à propos d’ESL

Une batterie de serveurs AD FS qui utilise le verrouillage intelligent extranet en mode Appliquer verra-t-elle jamais des verrous d’utilisateur malveillants ?

Si le mode Appliquer est activé pour le verrouillage intelligent AD FS, vous ne verrez jamais le compte de l'utilisateur légitime verrouillé par force brute ou par déni de service. La seule façon dont un verrouillage de compte malveillant peut empêcher une connexion utilisateur est si l’acteur malveillant a le mot de passe de l’utilisateur ou peut envoyer des demandes d’une adresse IP connue (familière) pour cet utilisateur.

Que se passe-t-il si ESL est activé et que l’acteur malveillant a le mot de passe d’un utilisateur ?

L’objectif typique du scénario d’attaque par force brute consiste à deviner un mot de passe et à se connecter avec succès. Si un utilisateur est hameçonné ou si un mot de passe est deviné, la fonctionnalité ESL ne bloque pas l’accès, car la connexion répond aux critères de réussite d’un mot de passe correct et d’une nouvelle adresse IP. L'adresse IP des acteurs malveillants semblerait être familière. La meilleure atténuation dans ce scénario consiste à effacer l’activité de l’utilisateur dans AD FS et à exiger l’authentification multifacteur pour les utilisateurs. Vous devez installer La protection par mot de passe Microsoft Entra pour vous assurer que les mots de passe devinables ne se connectent pas au système.

Si mon utilisateur n’a jamais réussi à se connecter à partir d’une adresse IP, puis tente avec un mot de passe incorrect quelques fois, sera-t-il en mesure de se connecter une fois qu’il a enfin tapé son mot de passe correctement ?

Si un utilisateur envoie plusieurs mots de passe incorrects (par exemple, en tapant mal) et que la tentative suivante obtient le mot de passe correct, l’utilisateur se connecte immédiatement avec succès. Cette connexion réussie efface le nombre de mots de passe incorrects et ajoute cette adresse IP à la liste FamiliarIPs . Toutefois, s’ils dépassent un nombre de tentatives de connexion échouées à partir de l’emplacement inconnu, ils entrent dans un état de blocage. Ils doivent ensuite attendre au-delà de la fenêtre d’observation et se connecter avec un mot de passe valide. Ils peuvent nécessiter une intervention de l’administrateur pour réinitialiser leur compte.

ESL fonctionne-t-il également sur l’intranet ?

Si les clients se connectent directement aux serveurs AD FS et non via les serveurs proxy d’application web, le comportement ESL ne s’applique pas.

Je vois les adresses IP Microsoft dans le champ IP du client. ESL bloque-t-il les attaques par force brute par proxies EXO ?  

ESL fonctionne bien pour empêcher Exchange Online ou d’autres scénarios d’attaque par force brute d’authentification héritée. Une authentification héritée a un « ID d’activité » de 0000000-0000-0000-0000-0000000000000000000. Dans ces attaques, l’acteur malveillant tire parti de l’authentification de base Exchange Online (également appelée authentification héritée) afin que l’adresse IP du client apparaisse en tant que Microsoft. Les serveurs Exchange Online dans le proxy cloud vérifient l’authentification pour le compte du client Outlook. Dans ces scénarios, l’adresse IP du submitter malveillant se trouve dans x-ms-forwarded-client-ip, et l’adresse IP du serveur Microsoft Exchange Online se trouve dans la valeur x-ms-client-ip. Extranet Smart Lockout vérifie les adresses IP réseau, les adresses IP transférées, l’adresse IP du client transféré x et la valeur x-ms-client-ip. Si la demande réussit, toutes les adresses IP sont ajoutées à la liste familière. Si une demande arrive et que l’une des adresses IP présentées ne figure pas dans la liste familière, la demande est marquée comme inconnue. L’utilisateur familier est en mesure de se connecter correctement pendant que les demandes provenant des emplacements inconnus sont bloquées.

Puis-je estimer la taille du ADFSArtifactStore avant d’activer ESL ?

Avec ESL activé, AD FS effectue le suivi de l’activité du compte et des emplacements connus pour les utilisateurs dans la base de données ADFSArtifactStore . Cette base de données s'adapte en taille par rapport au nombre d'utilisateurs et d'emplacements connus suivis. Lorsque vous envisagez d’activer ESL, vous pouvez estimer la taille de la base de données ADFSArtifactStore pour augmenter à un taux allant jusqu’à 1 Go par 100 000 utilisateurs. Si la batterie AD FS utilise la base de données interne Windows (WID, Windows Internal Database), la localisation par défaut des fichiers de base de données est C:\Windows\WID\Data. Pour empêcher le remplissage de ce lecteur, vérifiez que vous disposez d’un minimum de 5 Go de stockage gratuit avant d’activer ESL. En plus du stockage sur disque, planifiez la croissance de la mémoire de processus totale après avoir activé ESL de jusqu’à 1 Go de RAM pour une population utilisateur de 500 000 ou moins.

Voir aussi