Поделиться через


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

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

Note

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

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

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

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

Принцип работы

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

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

Note

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

Ниже приведен пример включения функции блокировки Extranet с максимальным количеством попыток ввода неверного пароля (не более 15) и продолжительностью программной блокировки (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 для отслеживания всех состояний.

Warning

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

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

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

Для настройки блокировки экстрасети AD FS в Server 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, если она настроена правильно
  • Reset Account Lockout Counter After: этот параметр определяет, сколько времени должно пройти с момента последнего сбоя входа пользователя в систему, прежде чем badPwdCount будет сброшен до 0. Чтобы функция блокировки экстрасети в AD FS хорошо работала с политикой блокировки AD, необходимо убедиться, что значение ExtranetObservationWindow в AD FS > является значением счетчика блокировки учетной записи After в AD. В приведенных ниже примерах объясняется, почему.

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

Пример 1

Диаграмма, показывающая, как badPwdCount изменяется с течением времени в зависимости от различных параметров и состояний.

Пример 2

Example1

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

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

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

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

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

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