Настройка защиты блокировки экстрасети AD FS

В AD FS в Windows Server 2012 R2 мы представили функцию безопасности с именем Экстрасети Lockout. С помощью этой функции AD FS будет "остановить" проверку подлинности "вредоносной" учетной записи пользователя извне в течение определенного периода времени. Это предотвращает блокировку учетных записей пользователей в Active Directory. Блокировка экстрасети AD FS защищает пользователей не только от блокировки учетных записей AD, но и от атак методом подбора паролей.

Примечание.

Эта функция работает только для сценария экстрасети, в котором запросы проверки подлинности приходят через прокси веб-приложения и применяются только к проверке подлинности имени пользователя и пароля.

Преимущества блокировки экстрасети

Блокировка экстрасети обеспечивает следующие ключевые преимущества:

  • Он защищает учетные записи пользователей от атак методом подбора, когда злоумышленник пытается угадать пароль пользователя путем непрерывной отправки запросов проверки подлинности. В этом случае AD FS заблокирует учетную запись вредоносного пользователя для доступа к экстрасети.
  • Он защищает учетные записи пользователей от блокировки вредоносных учетных записей, где злоумышленник хочет заблокировать учетную запись пользователя, отправив запросы проверки подлинности с неправильными паролями. В этом случае, хотя учетная запись пользователя будет заблокирована AD FS для доступа к экстрасети, фактическая учетная запись пользователя в AD не заблокирована, и пользователь по-прежнему может получить доступ к корпоративным ресурсам в организации. Это называется обратимой блокировкой.

Как это работает

Существует три параметра в AD FS, которые необходимо настроить для включения этой функции:

  • EnableExtranetLockout <Boolean задайте для этого логического> значения значение True, если требуется включить блокировку экстрасети.
  • Целое число> ExtranetLockoutThreshold <определяет максимальное количество неудачных попыток пароля. После достижения порогового значения AD FS немедленно отклоняет запросы из экстрасети, не пытаясь связаться с контроллером домена для проверки подлинности, независимо от того, является ли пароль хорошим или плохим, пока не будет передано окно наблюдения экстрасети. Это означает, что значение атрибута badPwdCount учетной записи AD не увеличится, пока учетная запись не заблокирована.
  • ExtranetObservationWindow <TimeSpan> определяет, сколько времени учетная запись пользователя будет заблокирована. AD FS снова начнет выполнять проверку подлинности имени пользователя и пароля при передаче окна. AD FS использует атрибут AD badPasswordTime в качестве ссылки для определения того, прошло ли окно наблюдения экстрасети. Окно прошло, если текущее время > badPasswordTime + ExtranetObservationWindow.

Примечание.

Функции блокировки экстрасети AD FS независимо от политик блокировки AD. Однако настоятельно рекомендуется задать значение параметра ExtranetLockoutThreshold значением, которое меньше порога блокировки учетной записи AD. Это приведет к тому, что AD FS не сможет защитить учетные записи от блокировки в Active Directory.

Пример включения функции блокировки экстрасети с максимальным числом неудачных попыток пароля и длительностью 30 минут обратимой блокировки выглядит следующим образом:

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

Эти параметры будут применяться ко всем доменам, которые служба AD FS может пройти проверку подлинности. Таким образом, когда AD FS получает запрос проверки подлинности, он будет обращаться к основному контроллеру домена (PDC) через вызов LDAP и выполнять поиск атрибута badPwdCount для пользователя в PDC. Если AD FS находит значение badPwdCount>= ExtranetLockoutThreshold и время, определенное в окне наблюдения экстрасети еще не прошло, AD FS отклонит запрос немедленно, что означает, независимо от того, вводит ли пользователь хороший или неправильный пароль из экстрасети, вход завершится ошибкой, так как AD FS не отправляет учетные данные в AD. AD FS не поддерживает какое-либо состояние относительно badPwdCount или заблокированных учетных записей пользователей. AD FS использует AD для отслеживания всех состояний.

Предупреждение

Если блокировка экстрасети AD FS на сервере 2012 R2 включена, все запросы проверки подлинности через WAP проверяются AD FS в PDC. Если PDC недоступен, пользователи не смогут пройти проверку подлинности из экстрасети.

Server 2016 предлагает дополнительный параметр, позволяющий AD FS вернуться к другому контроллеру домена, если PDC недоступен:

  • Boolean> ExtranetLockoutRequirePDC <— если включена блокировка экстрасети, требует основного контроллера домена (PDC). При отключении: блокировка экстрасети откатится к другому контроллеру домена, если PDC недоступен.

Для настройки блокировки экстрасети AD FS на Сервере 2016 можно использовать следующую команду Windows PowerShell:

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

Работа с политикой блокировки Active Directory

Функция блокировки экстрасети в AD FS работает независимо от политики блокировки AD. Однако необходимо убедиться, что параметры блокировки экстрасети настроены правильно, чтобы она служила своей целью безопасности с помощью политики блокировки AD.

Сначала рассмотрим политику блокировки AD. Существует три параметра политики блокировки в AD:

  • Порог блокировки учетной записи: этот параметр аналогичен параметру ExtranetLockoutThreshold в AD FS. Он определяет количество неудачных попыток входа, что приведет к блокировке учетной записи пользователя. Чтобы защитить учетные записи пользователей от атаки блокировки вредоносных учетных записей, необходимо задать значение ExtranetLockoutThreshold в AD FS < значение порогового значения блокировки учетной записи в AD
  • Длительность блокировки учетной записи: этот параметр определяет, сколько времени учетная запись пользователя заблокирована. Этот параметр не имеет большого значения в этой беседе, так как блокировка экстрасети всегда должна происходить перед блокировкой AD при правильной настройке
  • Сброс счетчика блокировки учетной записи после: этот параметр определяет, сколько времени должно пройти от последнего сбоя входа пользователя до сброса badPwdCount до 0. Чтобы функция блокировки экстрасети в AD FS хорошо работала с политикой блокировки AD, необходимо убедиться, что значение ExtranetObservationWindow в AD FS > счетчик блокировки учетной записи сброса после значения в AD. В приведенных ниже примерах объясняется, почему.

Давайте рассмотрим два примера и посмотрим, как с течением времени изменения badPwdCount изменяется на основе различных параметров и состояний. Предположим, что в обоих примерах порог блокировки учетной записи = 4 и ExtranetLockoutThreshold = 2. Красная стрелка представляет неудачную попытку пароля, зеленая стрелка представляет хорошую попытку пароля. В примере #1 счетчик блокировки учетной записи экстрасетиObservationWindow>Сброс учетной записи после. В примере #2 счетчик блокировки учетной записи экстрасетиObservationWindow<Сброс учетной записи после.

Пример 1

Diagram that shows how badPwdCount changes over time based on different settings and states.

Пример 2

Example1

Как видно из приведенного выше, существует два условия, когда badPwdCount будет сброшен на 0. Один из них, когда есть успешный вход. Другой — это время сброса этого счетчика, как определено в счетчике блокировки учетной записи сброса после параметра. При сбросе счетчика блокировки учетной записи после<экстрасетиObservationWindow учетная запись не может быть заблокирована AD. Тем не менее, если счетчик блокировки учетной записи сброса после>экстрасетиObservationWindow, есть вероятность, что учетная запись может быть заблокирована AD, но в "отложенном режиме". Может потребоваться некоторое время, чтобы получить учетную запись, заблокированную AD в зависимости от конфигурации, так как AD FS разрешает только одну плохую попытку пароля во время его наблюдения, пока badPwdCount не достигнет порогового значения блокировки учетной записи.

Дополнительные сведения см. в разделе "Настройка блокировки учетной записи".

Известные проблемы

Существует известная проблема, из-за которой учетная запись пользователя AD не может пройти проверку подлинности с помощью AD FS, так как атрибут badPwdCount не реплика от контроллера домена, запрашивающего ADFS. Дополнительные сведения см . в 2971171 . Вы можете найти все QFES AD FS, которые были выпущены до сих пор здесь.

О чем нужно помнить

  • Функция блокировки экстрасети работает только для сценария экстрасети, в котором запросы проверки подлинности приходят через прокси веб-приложения.
  • Функция блокировки экстрасети применяется только к имени пользователя и проверке подлинности паролей
  • AD FS не отслеживает badPwdCount или пользователей, которые заблокированы обратимо. AD FS использует AD для отслеживания всех состояний
  • AD FS выполняет поиск атрибута badPwdCount через вызов LDAP для пользователя в PDC для каждой попытки проверки подлинности.
  • Ad FS старше 2016 года завершится ошибкой, если он не может получить доступ к PDC. В AD FS 2016 появились улучшения, позволяющие AD FS вернуться к другим контроллерам домена в случае недоступности PDC.
  • AD FS разрешает запросы проверки подлинности из экстрасети, если badPwdCount < ExtranetLockoutThreshold
  • Если badPwdCount>= ExtranetLockoutThreshold AND badPasswordTime + ExtranetObservationWindow< Current time, AD FS отклонит запросы проверки подлинности из экстрасети
  • Чтобы избежать блокировки вредоносных учетных записей, необходимо убедиться, что порог блокировки учетной записи ExtranetLockoutThreshold< и счетчик блокировки учетной записи ExtranetObservationWindow>Reset Account Lockout