Freigeben über


Übersicht: Extranetsperre und intelligente Extranetsperre in AD FS

Extranet Smart Lockout (ESL) schützt Ihre Benutzer davor, dass ihre Extranetkonten durch böswillige Aktivitäten gesperrt werden.

ESL ermöglicht AD FS, zwischen Anmeldeversuchen von einem vertrauten Ort für einen Benutzer und Anmeldeversuchen zu unterscheiden, die von einem potenziellen Angreifer stammen könnten. AD FS kann Angreifer sperren, während gültige Benutzer weiterhin ihre Konten verwenden können. Diese Unterscheidung verhindert und schützt vor Denial-of-Service- und bestimmten Klassen von Kennwortsprühangriffen auf den Benutzer. ESL ist für AD FS in Windows Server 2016 verfügbar und ist in AD FS in Windows Server 2019 integriert.

ESL ist nur für Benutzernamen- und Kennwortauthentifizierungsanforderungen verfügbar, die über das Extranet mit dem Webanwendungsproxy oder einem Drittanbieterproxy stammen. Jeder Drittanbieterproxy muss das MS-ADFSPIP Protokoll unterstützen, das anstelle des Webanwendungsproxys verwendet werden soll, z. B. F5 BIG-IP Zugriffsrichtlinien-Manager. Wenden Sie sich an die Proxydokumentation eines Drittanbieters, um zu ermitteln, ob der Proxy das MS-ADFSPIP-Protokoll unterstützt.

Funktionen von AD FS 2019

Extranet Smart Lockout in AD FS 2019 bietet im Vergleich zu AD FS 2016 die folgenden Vorteile:

  • Unabhängige Sperrschwellen für vertraute und unbekannte Orte. Benutzer an bekannten guten Standorten können mehr Platz für Fehler haben als Anfragen von verdächtigen Standorten.
  • Überwachungsmodus für intelligente Sperren, während Sie weiterhin das frühere Verhalten der weichen Sperrung erzwingen. Mit dieser Unterscheidung erfahren Sie mehr über vertraute Speicherorte und werden weiterhin durch das Extranetsperrfeature geschützt, das über AD FS 2012 R2 verfügbar ist.

Konfigurationsinformationen

Wenn ESL aktiviert ist, wird eine neue Tabelle in der Artefaktdatenbank AdfsArtifactStore.AccountActivityerstellt. Ein Knoten wird in der AD FS-Farm auch als primärer Knoten für "User Activity" ausgewählt. In einer Windows Internal Database (WID)-Konfiguration ist dieser Knoten immer der primäre Knoten. In einer SQL-Konfiguration wird ein Knoten als primärer Knoten "Benutzeraktivität" ausgewählt.

Um den Knoten anzuzeigen, der als primärer Knoten "Benutzeraktivität" ausgewählt wurde, verwenden Sie (Get-AdfsFarmInformation).FarmRoles.

Alle sekundären Knoten wenden sich an den primären Knoten bei jeder neuen Anmeldung über Port 80, um den neuesten Wert der ungültigen Kennwortanzahl und neue vertraute Standortwerte zu erfahren. Sekundäre Knoten aktualisieren auch den primären Knoten, nachdem die Anmeldung verarbeitet wurde.

Diagramm, das den Anmeldevorgang zwischen primären Knoten, sekundären Knoten und dem Client zeigt.

Wenn der sekundäre Knoten keinen Kontakt mit dem primären Knoten aufnehmen kann, schreibt der sekundäre Knoten Fehlerereignisse in das AD FS-Administratorprotokoll. Authentifizierungen werden weiterhin verarbeitet, ad FS schreibt jedoch nur den aktualisierten Zustand lokal. AD FS versucht alle zehn Minuten erneut, den primären Knoten zu kontaktieren. AD FS wechselt zurück zum primären Knoten, sobald der primäre Knoten verfügbar ist.

Terminologie

  • FamiliarLocation: Während einer Authentifizierungsanforderung überprüft ESL alle präsentierten Internetprotokolle (IPs). Bei diesen IP-Adressen handelt es sich um eine Kombination aus Netzwerk-IP-Adresse, weitergeleiteter IP-Adresse und optionaler „x-forwarded-for“-IP-Adresse. Wenn die Anforderung erfolgreich ist, werden alle IPs der Tabelle "Kontoaktivität" als "vertraute IPs" hinzugefügt. Wenn die Anforderung alle IP-Adressen in den „vertrauten IPs“ enthält, wird die Anforderung als „vertrauter“ Standort behandelt.
  • UnknownLocation: Wenn eine anforderung, die eingeht, mindestens eine IP-Adresse enthält, die in der vorhandenen FamiliarLocation-Liste nicht vorhanden ist, wird die Anforderung als "Unbekannter" Speicherort behandelt. Diese Aktion behandelt Proxyszenarien wie die Exchange Online-Legacyauthentifizierung, bei der Exchange Online-Adressen sowohl erfolgreiche als auch fehlgeschlagene Anfragen abwickeln.
  • badPwdCount: Ein Wert, der angibt, wie oft ein falsches Kennwort übermittelt wurde, und die Authentifizierung nicht erfolgreich war. Für jeden Benutzer werden separate Zähler für vertraute Orte und unbekannte Orte aufbewahrt.
  • UnknownLockout: Ein boolescher Wert für jeden Benutzer, ob der Benutzer vom Zugriff von unbekannten Standorten gesperrt ist. Dieser Wert wird basierend auf den Werten badPwdCountUnfamiliar und ExtranetLockoutThreshold berechnet.
  • ExtranetLockoutThreshold: Dieser Wert bestimmt die maximale Anzahl ungültiger Kennwortversuche. Wenn der Schwellenwert erreicht ist, lehnt AD FS Anforderungen vom Extranet ab, bis das Beobachtungsfenster abgelaufen ist.
  • ExtranetObservationWindow: Dieser Wert bestimmt die Dauer, für die Benutzernamen- und Passwortanforderungen von unbekannten Standorten gesperrt sind. Wenn das Zeitfenster abgelaufen ist, beginnt AD FS erneut mit der Authentifizierung von Benutzernamen und Passwörtern von unbekannten Standorten.
  • ExtranetLockoutRequirePDC: Bei aktivierter Extranetsperrung ist ein primärer Domänencontroller (PDC) erforderlich. Wenn diese Option deaktiviert ist, greift die Extranetsperrung auf einen anderen Domänencontroller zurück, falls die PDC nicht verfügbar ist.
  • ExtranetLockoutMode: Legt fest, ob der Modus Nur protokollieren oder der Modus Erzwingen der intelligenten Extranetsperre (ESL) verwendet wird.
    • ADFSSmartLockoutLogOnly: ESL ist aktiviert. AD FS schreibt Administrator- und Überwachungsereignisse, lehnt jedoch keine Authentifizierungsanforderungen ab. Dieser Modus soll aktiviert werden, damit FamiliarLocation aufgefüllt wird, bevor ADFSSmartLockoutEnforce aktiviert ist.
    • ADFSSmartLockoutEnforce: Vollständige Unterstützung für das Blockieren unbekannter Authentifizierungsanforderungen, wenn Schwellenwerte erreicht werden.

IPv4- und IPv6-Adressen werden unterstützt.

Anatomie einer Transaktion

  • Authentifizierungsprüfung: Während einer Authentifizierungsanforderung überprüft ESL alle angezeigten IPs. Bei diesen IP-Adressen handelt es sich um eine Kombination aus Netzwerk-IP-Adresse, weitergeleiteter IP-Adresse und optionaler „x-forwarded-for“-IP-Adresse. In den Überwachungsprotokollen werden diese IPs im <IpAddress> Feld in der Reihenfolge von x-ms-forwarded-client-ip, x-forwarded-for, x-ms-proxy-client-ip aufgelistet.

    Basierend auf diesen IPs ermittelt AD FS, ob die Anforderung von einem vertrauten Speicherort stammt, und überprüft dann, ob der entsprechende badPwdCount kleiner als der festgelegte Schwellenwert ist oder wenn der letzte fehlgeschlagene Versuch länger als der Zeitrahmen des Beobachtungsfensters aufgetreten ist. Wenn eine dieser Bedingungen zutrifft, ermöglicht AD FS diese Transaktion zur weiteren Verarbeitung und Überprüfung von Anmeldeinformationen. Wenn beide Bedingungen FALSE sind, ist das Konto bereits gesperrt, bis das Beobachtungsfenster abgelaufen ist. Nachdem das Beobachtungsfenster abgelaufen ist, darf der Benutzer einen Versuch unternehmen, sich zu authentifizieren. Unter Windows 2019 überprüft AD FS anhand des entsprechenden Schwellenwerts, ob die IP-Adresse einem vertrauenswürdigen Standort entspricht.

  • Erfolgreiche Anmeldung: Wenn die Anmeldung erfolgreich ist, werden die IPs aus der Anforderung zur ip-Liste des vertrauten Standorts des Benutzers hinzugefügt.

  • Fehlgeschlagene Anmeldung: Wenn die Anmeldung fehlschlägt, wird der badPwdCount erhöht. Der Benutzer wechselt in einen Sperrzustand, wenn der Angreifer mehr schlechte Kennwörter an das System sendet, als der Schwellenwert zulässt. (badPwdCount > ExtranetLockoutThreshold)

Diagramm, das den Prozess der erfolgreichen und erfolglosen Authentifizierung zeigt.

Der Wert "UnknownLockout" entspricht "True ", wenn das Konto gesperrt ist. Diese Sperrung bedeutet, dass der badPwdCount des Benutzers den Schwellenwert überschreitet. Beispielsweise hat jemand versucht, mehr Kennwörter zu verwenden, als das System zulässt. In diesem Zustand gibt es zwei Möglichkeiten, wie sich ein gültiger Benutzer anmelden kann:

  • Warten Sie, bis die ObservationWindow-Zeit verstrichen ist.
  • Um den Sperrzustand zurückzusetzen, setzen Sie den badPwdCount mit Reset-ADFSAccountLockout auf Null zurück.

Wenn keine Zurücksetzung erfolgt, wird dem Konto für jedes Beobachtungsfenster eine einzelne Kennworteingabe für AD gewährt. Nach diesem Versuch kehrt das Konto zum gesperrten Zustand zurück, und das Beobachtungsfenster wird neu gestartet. Der badPwdCount-Wert wird erst nach einer erfolgreichen Kennwortanmeldung automatisch zurückgesetzt.

Modus „Nur protokollieren“ oder Modus „Erzwingen“

Die AccountActivity-Tabelle wird sowohl im Modus Nur protokollieren als auch im Modus Erzwingen aufgefüllt. Wenn der Modus Nur protokollieren umgangen wird und ESL ohne die empfohlene Wartezeit direkt in den Modus Erzwingen geschaltet wird, sind die vertrauenswürdigen IP-Adressen der benutzenden Personen in AD FS nicht bekannt. ESL verhält sich dann wie ADBadPasswordCounter und blockiert möglicherweise legitimen Benutzerdatenverkehr, wenn sich das Benutzerkonto unter einem aktiven Brute-Force-Angriff befindet. Wird der Modus Nur protokollieren umgangen und die benutzende Person mit UnknownLockout = True gesperrt, schlägt eine Anmeldung mit einem gültigen Kennwort über eine IP-Adresse, die nicht in der Liste „vertrauenswürdiger“ IP-Adressen enthalten ist, fehl. Um dieses Szenario zu vermeiden, wird der Modus Nur protokollieren für 3–7 Tage empfohlen. Wenn Konten aktiv angegriffen werden, muss der Modus Nur protokollieren mindestens 24 Stunden aufrechterhalten werden, um zu verhindern, dass legitime benutzende Personen gesperrt werden.

Smart Lockout-Konfiguration für Extranet

In den folgenden Abschnitten werden die Voraussetzungen und Konfigurationen zum Aktivieren von ESL für AD FS 2016 beschrieben.

Voraussetzungen für AD FS 2016

  1. Installieren Sie Updates auf allen Knoten in der Farm.

    Stellen Sie zunächst sicher, dass alle Windows Server 2016 AD FS-Server mit den Windows-Updates bis Juni 2018 auf dem neuesten Stand sind und dass die AD FS 2016-Farm auf dem Farmverhaltenslevel von 2016 läuft.

  2. Berechtigungen überprüfen.

    ESL erfordert, dass die Windows-Remoteverwaltung auf jedem AD FS-Server aktiviert ist.

  3. Aktualisieren der Artefaktdatenbankberechtigungen.

    ESL erfordert, dass das AD FS-Dienstkonto über Berechtigungen zum Erstellen einer neuen Tabelle in der AD FS-Artefaktdatenbank verfügt. Melden Sie sich bei jedem AD FS-Server als AD FS-Administrator an. Erteilen Sie dann diese Berechtigung in einem PowerShell-Eingabeaufforderungsfenster, indem Sie die folgenden Befehle ausführen:

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

    Hinweis

    Der $cred-Platzhalter steht für ein Konto mit AD FS-Administratorberechtigungen. Dadurch sollten Sie eine Schreibberechtigung zum Erstellen der Tabelle erhalten.

    Die vorherigen Befehle können aufgrund unzureichender Berechtigung fehlschlagen, da Ihre AD FS-Farm SQL Server verwendet, und die zuvor bereitgestellten Anmeldeinformationen verfügen nicht über Administratorberechtigungen auf Ihrem SQL-Server. In diesem Fall können Sie Datenbankberechtigungen manuell in der SQL Server-Datenbank konfigurieren, wenn Sie mit der AdfsArtifactStore-Datenbank verbunden sind, indem Sie den folgenden Befehl ausführen:

    # 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()
    }
    }
    

Sicherstellen, dass die AD FS-Sicherheitsüberwachungsprotokollierung aktiviert ist

Dieses Feature verwendet Sicherheitsüberwachungsprotokolle, sodass die Überwachung in AD FS und der lokalen Richtlinie auf allen AD FS-Servern aktiviert werden muss.

Konfigurationsanweisungen

ESL verwendet die AD FS-Eigenschaft ExtranetLockoutEnabled. Diese Eigenschaft wurde zuvor verwendet, um extranet soft lockout in Server 2012 R2 zu steuern. Wenn ESL aktiviert ist und Sie die aktuelle Eigenschaftskonfiguration anzeigen möchten, führen Sie die Ausführung aus Get-AdfsProperties.

Konfigurationsempfehlungen

Befolgen Sie beim Konfigurieren von ESL bewährte Methoden zum Festlegen von Schwellenwerten:

ExtranetObservationWindow (new-timespan -Minutes 30)

ExtranetLockoutThreshold: Half of AD Threshold Value

AD value: 20, ExtranetLockoutThreshold: 10

Active Directory-Sperrung funktioniert unabhängig von ESL. Wenn die Active Directory-Sperre aktiviert ist, wählen Sie "ExtranetLockoutThreshold " in AD FS und " Kontosperrungsschwellenwert " in AD aus.

ExtranetLockoutRequirePDC - $false

Wenn diese Option aktiviert ist, erfordert extranet-Lockout einen primären Domänencontroller (PDC). Wenn sie als "false" deaktiviert und konfiguriert ist, greift die Extranetsperrung auf einen anderen Domänencontroller zurück, falls der PDC nicht verfügbar ist.

Um diese Eigenschaft festzulegen, führen Sie Folgendes aus:

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

Log-Only Modus aktivieren

Im Modus Nur protokollieren füllt AD FS die Informationen zu vertrauenswürdigen Standorten von benutzenden Personen auf und zeichnet Sicherheitsüberwachungsereignisse auf, blockiert aber keine Anforderungen. Dieser Modus wird verwendet, um zu überprüfen, ob die intelligente Sperre ausgeführt wird, und um AD FS die Möglichkeit zu geben, vertrauenswürdige Standorte von benutzenden Personen zu „lernen“, bevor der Modus Erzwingen aktiviert wird. Wie AD FS lernt, speichert es Anmeldeaktivitäten pro Benutzer (ob im Modus "Nur anmelden " oder im Erzwingungsmodus ). Legen Sie das Sperrverhalten auf "Nur protokollieren " fest, indem Sie das folgende Cmdlet ausführen:

Set-AdfsProperties -ExtranetLockoutMode AdfsSmartlockoutLogOnly

Der Modus Nur protokollieren ist als vorübergehender Zustand gedacht, damit das System das Anmeldeverhalten erlernen kann, bevor die intelligente Sperrung erzwungen wird. Die empfohlene Dauer für den Modus Nur protokollieren beträgt 3–7 Tage. Wenn Konten aktiv angegriffen werden, muss der Modus Nur protokollieren mindestens 24 Stunden ausgeführt werden.

Wenn in AD FS 2016 die weiche Extranetsperre von 2012 R2 aktiviert ist, bevor die intelligente Extranetsperre aktiviert wird, wird die weiche Extranetsperre durch den Modus Nur protokollieren deaktiviert. Im Modus Nur protokollieren werden benutzende Personen durch die intelligente AD FS-Sperre nicht gesperrt. Lokale AD-Einstellungen können den Benutzer jedoch basierend auf der AD-Konfiguration sperren. Überprüfen Sie AD-Sperrrichtlinien, um zu erfahren, wie lokale AD Benutzer sperren kann.

AD FS 2019 bietet den zusätzlichen Vorteil, dass der Modus Nur protokollieren für die intelligente Sperre aktiviert und weiterhin das frühere Verhalten der weichen Sperre mithilfe des folgenden PowerShell-Befehls erzwungen werden kann:

Set-AdfsProperties -ExtranetLockoutMode 3

Damit der neue Modus wirksam wird, starten Sie den AD FS-Dienst auf allen Knoten in der Farm neu, indem Sie Folgendes verwenden:

Restart-service adfssrv

Nachdem der Modus konfiguriert wurde, können Sie die intelligente Sperrung mithilfe des Parameters EnableExtranetLockout aktivieren:

Set-AdfsProperties -EnableExtranetLockout $true

Erzwingungsmodus aktivieren

Nachdem Sie sich mit dem Sperrschwellen- und Beobachtungsfenster vertraut machen, kann ESL mithilfe des folgenden PSH-Cmdlets in den Erzwingungsmodus verschoben werden:

Set-AdfsProperties -ExtranetLockoutMode AdfsSmartLockoutEnforce

Damit der neue Modus wirksam wird, starten Sie den AD FS-Dienst auf allen Knoten in der Farm neu, indem Sie den folgenden Befehl verwenden.

Restart-service adfssrv

Verwalten von Benutzerkontoaktivitäten

AD FS bietet drei Cmdlets zum Verwalten von Kontoaktivitätsdaten. Diese Cmdlets stellen automatisch eine Verbindung mit dem Knoten in der Farm her, der über die primäre Rolle verfügt.

Hinweis

Sie können just Enough Administration (JEA) verwenden, um AD FS-Befehlsblöcke zum Zurücksetzen von Kontosperrungen zu delegieren. Sie können z. B. Berechtigungen an Helpdeskmitarbeiter delegieren, um ESL-Commandlets zu verwenden. Weitere Informationen finden Sie unter Zuweisung des AD FS Powershell-Cmdlet-Zugriffs an nicht-admin Benutzer.

Sie können dieses Verhalten überschreiben, indem Sie den -Server Parameter übergeben.

Get-ADFSAccountActivity -UserPrincipalName

Das Cmdlet stellt über den AccountActivity-REST-Endpunkt automatisch eine Verbindung mit dem primären Knoten her. Daher sollten alle Daten immer konsistent sein. Lesen Sie die aktuelle Kontoaktivität für ein Benutzerkonto mithilfe von:

Get-ADFSAccountActivity user@contoso.com

Eigenschaften:

  • BadPwdCountFamiliar: Erhöht, wenn eine Authentifizierung von einem bekannten Ort nicht erfolgreich ist.
  • BadPwdCountUnknown: Wird erhöht, wenn eine Authentifizierung an einem unbekannten Ort nicht erfolgreich ist.
  • LastFailedAuthFamiliar: Wenn die Authentifizierung von einem vertrauten Speicherort nicht erfolgreich war, wird LastFailedAuthFamiliar auf den Zeitpunkt der nicht erfolgreichen Authentifizierung festgelegt.
  • LastFailedAuthUnknown: Wenn die Authentifizierung von einem unbekannten Speicherort nicht erfolgreich war, wird LastFailedAuthUnknown auf den Zeitpunkt der erfolglosen Authentifizierung festgelegt.
  • FamiliarLockout: Boolescher Wert, der True lautet, wenn BadPwdCountFamiliar>ExtranetLockoutThreshold ist.
  • UnknownLockout: Boolescher Wert, der True lautet, wenn BadPwdCountUnknown>ExtranetLockoutThreshold ist.
  • Vertraute IPs: maximal 20 IPs, die dem Benutzer vertraut sind. Wenn 20 IPs überschritten werden, wird die älteste IP in der Liste entfernt.

Set-ADFSAccountActivity

Set-ADFSAccountActivity fügt neue vertraute Speicherorte hinzu. Die vertraute IP-Liste enthält maximal 20 Einträge. Wenn 20 Einträge überschritten werden, wird die älteste IP in der Liste entfernt.

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

Reset-ADFSAccountLockout

Setzt den Sperrungszähler für ein Benutzerkonto für jeden vertrauenswürdigen Standort (badPwdCountFamiliar) oder für jeden nicht vertrauenswürdigen Standort (badPwdCountUnfamiliar) zurück. Durch das Zurücksetzen eines Zählers wird der FamiliarLockout- oder UnfamiliarLockout-Wert aktualisiert, da der Zurücksetzungszähler unter dem Schwellenwert liegt.

Reset-ADFSAccountLockout user@contoso.com -Location Familiar

Reset-ADFSAccountLockout user@contoso.com -Location Unknown

Ereignisprotokollierungs- und Benutzeraktivitätsinformationen für AD FS-Extranetsperrung

In den folgenden Abschnitten wird beschrieben, wie Ereignisprotokollierung, Benutzerkontoaktivität und Sperrungen überwacht werden.

Gesundheit verbinden

Die empfohlene Methode zum Überwachen der Benutzerkontoaktivität ist über connect Health. Connect Health generiert herunterladbare Berichte zu riskanten IPs und fehlerhaften Kennwortversuchen. Jedes Element im Risky IP-Bericht zeigt aggregierte Informationen zu fehlgeschlagenen AD FS-Anmeldeaktivitäten an, die den festgelegten Schwellenwert überschreiten. E-Mail-Benachrichtigungen können so eingestellt werden, dass sie Administratoren mit konfigurierbaren E-Mail-Einstellungen benachrichtigen, wenn fehlgeschlagene AD FS-Anmeldeaktivitäten auftreten. Weitere Informationen und Einrichtungsanweisungen finden Sie unter Überwachen von AD FS mithilfe von Microsoft Entra Connect Health.

Ereignisse für intelligente Extranetsperren in AD FS

Hinweis

Informationen zur Problembehandlung bei ESL finden Sie unter "Verminderung von Passwort-Spray-Angriffen und Kontosperrungen".

Damit Ereignisse für intelligente Extranetsperren geschrieben werden können, müssen ESL im Modus Nur protokollieren oder Erzwingen und die AD FS-Sicherheitsüberwachung aktiviert sein. AD FS schreibt Extranetsperrungsereignisse in das Sicherheitsüberwachungsprotokoll, wenn:

  • Ein Benutzer ist gesperrt, was bedeutet, dass der Benutzer den Sperrschwellenwert für erfolglose Anmeldeversuche erreicht.
  • AD FS empfängt einen Anmeldeversuch für einen Benutzer, der sich bereits in einem Sperrzustand befindet.

Im Modus "Nur Anmelden " können Sie das Sicherheitsüberwachungsprotokoll auf Sperrereignisse überprüfen. Bei gefundenen Ereignissen können Sie den Benutzerstatus mithilfe des Get-ADFSAccountActivity Cmdlets überprüfen, um zu ermitteln, ob die Sperrung von vertrauten oder unbekannten IP-Adressen aufgetreten ist. Sie können das Get-ADFSAccountActivity Cmdlet auch verwenden, um die Liste der vertrauten IP-Adressen für diesen Benutzer zu überprüfen.

Ereignis-ID BESCHREIBUNG
1203 Dieses Ereignis wird für jeden ungültigen Kennwortversuch geschrieben. Sobald der badPwdCount den in ExtranetLockoutThreshold angegebenen Wert erreicht, wird das Konto für die in ExtranetObservationWindow angegebene Dauer für AD FS gesperrt.
Aktivitäts-ID: %1
XML: %2
1210 Dieses Ereignis wird jedes Mal geschrieben, wenn ein Benutzer gesperrt ist.
Aktivitäts-ID: %1
XML: %2
557 (AD FS 2019) Beim Versuch, mit dem Kontospeicher-REST-Dienst auf Knoten %1 zu kommunizieren, ist ein Fehler aufgetreten. Wenn Sie eine WID-Farm verwenden, ist der primäre Knoten möglicherweise offline. Wenn Sie eine SQL-Farm verwenden, wählt AD FS automatisch einen neuen Knoten aus, um die primäre Rolle des Benutzerspeichers zu hosten.
562 (AD FS 2019) Fehler beim Kommunizieren mit dem Kontospeicherendpunkt auf dem Server %1.
Ausnahmemeldung: %2
563 (AD FS 2019) Fehler beim Berechnen des Extranetsperrstatus. Aufgrund des Werts der %1ist das Einrichten der Authentifizierung für diesen Benutzer zulässig, und die Ausgabe von Tokens wird fortgesetzt. Wenn Sie eine WID-Farm verwenden, ist der primäre Knoten möglicherweise offline. Wenn Sie eine SQL-Farm verwenden, wählt AD FS automatisch einen neuen Knoten aus, um die primäre Rolle des Benutzerspeichers zu hosten.
Kontospeicherservername: %2
Benutzer-ID: %3
Ausnahmemeldung: %4
512 Das Konto für den folgenden Benutzer ist gesperrt. Ein Anmeldeversuch ist aufgrund der Systemkonfiguration zulässig.
Aktivitäts-ID: %1
Benutzer: %2
Client-IP: %3
Anzahl ungültiger Kennwörter: %4
Letzter ungültiger Kennwortversuch: %5
515 Das folgende Benutzerkonto befand sich im Zustand "Gesperrt", und das richtige Kennwort wurde bereitgestellt. Dieses Konto kann kompromittiert werden.
Mehr Daten
Aktivitäts-ID: %1
Benutzer: %2
Client-IP: %3
516 Das folgende Benutzerkonto wurde aufgrund zu vieler ungültiger Kennwortversuche gesperrt.
Aktivitäts-ID: %1
Benutzer: %2
Client-IP: %3
Anzahl ungültiger Kennwörter: %4
Letzter ungültiger Kennwortversuch: %5

ESL häufig gestellte Fragen

Wird eine AD FS-Farm, die Extranet Smart Lockout im Erzwingungsmodus verwendet, jemals böswillige Benutzersperrungen erleben?

Wenn ad FS Smart Lockout auf den Erzwingungsmodus festgelegt ist, wird das Konto des berechtigten Benutzers nie durch Brute Force oder Denial of Service gesperrt. Die einzige Möglichkeit, wie eine bösartige Kontosperrung eine Benutzeranmeldung verhindern kann, besteht darin, dass der Angreifer über das Benutzerkennwort verfügt oder Zugriffsanfragen von einer bekannten (vertrauten) IP-Adresse für diesen Benutzer senden kann.

Was geschieht, wenn ESL aktiviert ist und der ungültige Akteur über das Kennwort eines Benutzers verfügt?

Das typische Ziel des Brute-Force-Angriffsszenarios besteht darin, ein Kennwort zu erraten und sich erfolgreich anzumelden. Wenn ein Benutzer phished ist oder ein Kennwort erraten wird, blockiert das ESL-Feature den Zugriff nicht, da die Anmeldung die erfolgreichen Kriterien eines korrekten Kennworts plus neuer IP erfüllt. In diesem Fall würde die IP-Adresse des Angreifers bzw. der Angreiferin als vertrauenswürdige IP-Adresse interpretiert. Die beste Entschärfung in diesem Szenario besteht darin, die Aktivität des Benutzers in AD FS zu löschen und die mehrstufige Authentifizierung für die Benutzer zu erfordern. Sie sollten Microsoft Entra Password Protection installieren, um sicherzustellen, dass erratende Kennwörter nicht in das System gelangen.

Wenn sich mein Benutzer noch nie erfolgreich von einer IP angemeldet hat und dann ein falsches Kennwort ein paar Mal versucht, kann er sich anmelden, sobald er das Kennwort endlich richtig einzugeben hat?

Wenn ein Benutzer mehrere ungültige Kennwörter übermittelt (z. B. durch Fehleingabe), und beim folgenden Versuch wird das Kennwort korrekt abgerufen, meldet sich der Benutzer sofort erfolgreich an. Diese erfolgreiche Anmeldung löscht die Anzahl der ungültigen Kennwörter und fügt diese IP der Liste "FamiliarIPs " hinzu.This successful sign-in clears the bad password count and adds that IP to the FamiliarIPs list. Wenn sie jedoch den Schwellenwert für fehlgeschlagene Anmeldungen von einem unbekannten Ort überschreiten, gelangen sie in den Sperrstatus. Er oder sie muss warten, bis das Beobachtungsfenster abläuft, und sich anschließend mit einem gültigen Kennwort anmelden. Möglicherweise ist ein Administratoreingriff erforderlich, um sein Konto zurückzusetzen.

Funktioniert ESL auch im Intranet?

Wenn die Clients eine direkte Verbindung mit den AD FS-Servern herstellen und nicht über Webanwendungsproxyserver, gilt das ESL-Verhalten nicht.

Ich sehe Microsoft-IP-Adressen im Feld "Client-IP". Blockiert ESL durch EXO weitergeleitete Brute-Force-Angriffe?  

ESL eignet sich gut, um Exchange Online oder andere älteren Authentifizierungs-Brute-Force-Angriffsszenarien zu verhindern. Eine Legacy-Authentifizierung weist eine "Aktivitäts-ID" von 00000000-0000-0000-0000-000000000000 auf. Bei diesen Angriffen nutzt der schlechte Akteur die Exchange Online-Standardauthentifizierung (auch als Legacyauthentifizierung bezeichnet), sodass die Client-IP-Adresse als Microsoft angezeigt wird. Die Exchange Online-Server in der Cloud fungieren als Proxy für die Authentifizierungsüberprüfung im Auftrag des Outlook-Clients. In diesen Szenarien befindet sich die IP-Adresse des bösartigen Absenders in der x-ms-forwarded-client-ip, und die Microsoft Exchange Online-Server-IP befindet sich im x-ms-client-ip-Wert. Die intelligente Extranetsperre überprüft Netzwerk-IP-Adressen, weitergeleitete IP-Adressen sowie den „x-forwarded-client-ip“- und „x-ms-client-ip“-Wert. Wenn die Anforderung erfolgreich ist, werden alle IPs der vertrauten Liste hinzugefügt. Wenn eine Anforderung eingeht und eine der präsentierten IPs nicht in der vertrauten Liste enthalten ist, wird die Anforderung als unbekannt markiert. Der vertraute Benutzer kann sich erfolgreich anmelden, während Anfragen aus unbekannten Standorten blockiert werden.

Kann ich die Größe des ADFSArtifactStore vor dem Aktivieren von ESL schätzen?

Mit aktivierter ESL verfolgt AD FS die Kontoaktivität und bekannte Standorte der Benutzer in der ADFSArtifactStore-Datenbank. Diese Datenbank passt ihre Größe an die Anzahl der Benutzer und bekannten Standorte an, die verfolgt werden. Wenn Sie planen, ESL zu aktivieren, können Sie die Größe der ADFSArtifactStore-Datenbank schätzen, die mit einer Rate von bis zu 1 GB pro 100.000 Benutzer wächst. Wenn die AD FS-Farm die interne Windows-Datenbank (WID) verwendet, lautet der Standardspeicherort für die Datenbankdateien C:\Windows\WID\Data. Um das Ausfüllen dieses Laufwerks zu verhindern, stellen Sie sicher, dass Sie mindestens 5 GB freien Speicher haben, bevor Sie ESL aktivieren. Planen Sie zusätzlich zum Datenträgerspeicher, dass der gesamte Prozessspeicher nach der Aktivierung von ESL für eine Benutzerpopulation von 500.000 oder weniger um bis zu 1 GB RAM zunimmt.

Siehe auch