Руководство по безопасности сквозной аутентификации Microsoft Entra

В этой статье приведено более подробное описание работы сквозной проверки подлинности Microsoft Entra. Она посвящена аспектам безопасности данного компонента. Эта статья посвящена безопасности и ИТ-администраторам, главным сотрудникам по соответствию требованиям и безопасности, а также другим ИТ-специалистам, отвечающим за безопасность ИТ и соответствие требованиям в организациях или предприятиях любого размера.

Здесь рассматривается следующее:

  • Подробные технические сведения об установке и регистрации агентов проверки подлинности.
  • Подробные технические сведения о шифровании паролей во время входа пользователя.
  • Безопасность каналов между локальными агентами проверки подлинности и идентификатором Microsoft Entra.
  • Подробные технические сведения о том, как обеспечить безопасность агентов проверки подлинности.

Возможности безопасности ключа сквозной проверки подлинности

Сквозная проверка подлинности имеет следующие ключевые возможности безопасности:

  • Он был основан на безопасной мультитенантной архитектуре, обеспечивающей изоляцию запросов на вход в между клиентами.
  • Локальные пароли ни в каком виде не хранятся в облаке.
  • Локальные агенты проверки подлинности, которые прослушивают и отвечают на запросы проверки пароля, делают только исходящие подключения из сети. Для установки этих агентов проверки подлинности в сети периметра (также известной как DMZ, демилитаризованная зона и экранированная подсеть). Рекомендуется обрабатывать все серверы, на которых выполняются агенты проверки подлинности, как системы уровня 0 (см . справочник).
  • Только стандартные порты (порт 80 и порт 443) используются для исходящего подключения от агентов проверки подлинности к идентификатору Microsoft Entra. Не требуется открывать входящие порты в брандмауэре.
    • Для всего прошедшего аутентификацию исходящего трафика используется порт 443.
    • Порт 80 используется только для скачивания списков отзыва сертификатов (CRLS), чтобы убедиться, что ни один из сертификатов, используемых этой функцией, не был отменен.
    • Полный список требований к сети см. в кратком руководстве по сквозной проверке подлинности Microsoft Entra.
  • Пароли, предоставляемые пользователями во время входа, шифруются в облаке, прежде чем локальные агенты проверки подлинности принимают их для проверки в Windows Server Active Directory (Windows Server AD).
  • Канал HTTPS между идентификатором Microsoft Entra и локальным агентом проверки подлинности защищен с помощью взаимной проверки подлинности.
  • Сквозная проверка подлинности защищает учетные записи пользователей путем простой работы с политиками условного доступа Microsoft Entra, включая многофакторную проверку подлинности (MFA), блокируя устаревшую проверку подлинности и отфильтровав атаки подбора паролей.

Компоненты, участвующие в сквозной проверке подлинности

Общие сведения об операционной, службе и безопасности данных для идентификатора Microsoft Entra см. в центре управления безопасностью. При использовании сквозной проверки подлинности для входа пользователей используются следующие компоненты:

  • Служба маркеров безопасности Microsoft Entra (Microsoft Entra STS): без отслеживания состояния, которая обрабатывает запросы на вход и выдает маркеры безопасности для браузеров пользователей, клиентов или служб по мере необходимости.
  • Служебная шина Azure. Обеспечивает обмен данными через облако с корпоративными службами обмена сообщениями и ретрансляции. Такая конфигурация позволяет подключаться к локальным решениям с помощью облака.
  • Агент проверки подлинности Microsoft Entra Подключение: локальный компонент, который прослушивает запросы проверки пароля и отвечает на них.
  • База данных SQL Azure. Содержит сведения об агентах проверки подлинности клиента, включая их метаданные и ключи шифрования.
  • Windows Server AD: локальная служба Active Directory, где хранятся учетные записи пользователей и их пароли.

Установка и регистрация агентов проверки подлинности

Агенты проверки подлинности устанавливаются и регистрируются с идентификатором Microsoft Entra при выполнении одного из следующих действий:

Получение рабочего агента проверки подлинности включает три основных этапа:

  • Установка
  • Регистрация
  • Инициализация

В следующих разделах эти этапы рассматриваются подробно.

Установка агента проверки подлинности

Только учетная запись гибридного удостоверения Администратор istrator может установить агент проверки подлинности (с помощью Microsoft Entra Подключение или автономного экземпляра) на локальном сервере.

Установка добавляет две новые записи в список в панель управления> Programs Program and>Features:

  • Само приложение агента проверки подлинности. Это приложение работает с привилегиями NetworkService.
  • Приложение Updater, которое используется для автоматического обновления агента проверки подлинности. Это приложение работает с привилегиями LocalSystem.

Важно!

С точки зрения безопасности администраторы должны рассматривать сервер, на котором запущен агент сквозной проверки подлинности, как если бы он был контроллером домена. Серверы агента агента сквозной проверки подлинности должны быть защищены, как описано в защищенных контроллерах домена для атак.

Регистрация агента проверки подлинности

После установки агента проверки подлинности он регистрируется с помощью идентификатора Microsoft Entra. Идентификатор Microsoft Entra назначает каждому агенту проверки подлинности уникальный цифровой сертификат удостоверения, который он может использовать для безопасного взаимодействия с идентификатором Microsoft Entra.

Процедура регистрации также привязывает агент проверки подлинности к клиенту. Затем идентификатор Microsoft Entra знает, что этот конкретный агент проверки подлинности является единственным, который авторизован для обработки запросов на проверку пароля для вашего клиента. Эта процедура повторяется для каждого нового зарегистрированного агента проверки подлинности.

Агенты проверки подлинности используют следующие действия, чтобы зарегистрировать себя в идентификаторе Microsoft Entra.

Diagram that depicts authentication agent registration with Azure AD.

  1. Microsoft Entra сначала запрашивает, чтобы администратор гибридного удостоверения войдите в идентификатор Microsoft Entra с учетными данными. Во время входа агент проверки подлинности получает маркер доступа, который он может использовать от имени пользователя.
  2. Затем агент проверки подлинности создает пару ключей: открытый ключ и закрытый ключ.
    • Пара ключей создается с помощью стандартного шифрования RSA 2048-разрядного шифрования.
    • Закрытый ключ остается на локальном сервере, где находится агент проверки подлинности.
  3. Агент проверки подлинности отправляет запрос на регистрацию идентификатора Microsoft Entra по протоколу HTTPS, включаемые в запрос, следующими компонентами:
    • Маркер доступа, полученный агентом.
    • Открытый ключ, созданный.
    • Запрос на подпись сертификата (CSR или запрос на сертификат). Этот запрос применяется к цифровому сертификату удостоверения с идентификатором Microsoft Entra в качестве центра сертификации (ЦС).
  4. Идентификатор Microsoft Entra проверяет маркер доступа в запросе на регистрацию и проверяет, был ли запрос получен администратором гибридного удостоверения.
  5. Затем идентификатор Microsoft Entra подписывает цифровой сертификат удостоверения и отправляет его обратно агенту проверки подлинности.
    • Корневой ЦС в идентификаторе Microsoft Entra используется для подписи сертификата.

      Примечание.

      Этот ЦС не расположен в хранилище доверенных корневых центров сертификации Windows.

    • ЦС используется только функцией сквозной проверки подлинности. ЦС используется только для подписывания CSR во время регистрации агента проверки подлинности.

    • Ни другая служба Microsoft Entra не использует этот ЦС.

    • Субъект сертификата (также называемый различающееся имя или DN) имеет идентификатор клиента. Различающееся имя это уникальный GUID, идентифицирующий ваш клиент. Оно позволяет указать, что сертификат используется только для вашего клиента.

  6. Идентификатор Microsoft Entra хранит открытый ключ агента проверки подлинности в базе данных в База данных SQL Azure. Доступ к базе данных может получить только идентификатор Microsoft Entra.
  7. Выданный сертификат хранится на локальном сервере в хранилище сертификатов Windows (в частности, в CERT_SYSTEM_STORE_LOCAL_MACHINE). Сертификат используется агентом проверки подлинности и приложением Updater.

Инициализация агента проверки подлинности

Когда агент проверки подлинности запускается в первый раз после регистрации или после перезапуска сервера, он должен безопасно взаимодействовать со службой Microsoft Entra, чтобы начать принимать запросы на проверку паролей.

Diagram that depicts authentication agent initialization.

Вот как инициализированы агенты проверки подлинности:

  1. Агент проверки подлинности отправляет исходящий запрос начальной загрузки в идентификатор Microsoft Entra.

    Этот запрос выполняется через порт 443 и канал HTTPS с взаимной аутентификацией. Запрос использует тот же сертификат, который был выдан во время регистрации агента проверки подлинности.

  2. Идентификатор Microsoft Entra отвечает на запрос, предоставляя ключ доступа к очереди служебная шина, уникальной для вашего клиента, и которая определяется идентификатором клиента.

  3. Агент проверки подлинности выполняет постоянное исходящее подключение HTTPS (через порт 443) к очереди.

Агент проверки подлинности теперь готов к получению и обработке запросов на проверку пароля.

Если в клиенте зарегистрировано несколько агентов проверки подлинности, процедура инициализации гарантирует, что каждый агент подключается к одной и той же очереди служебная шина.

Как сквозная проверка подлинности обрабатывает запросы на вход

На следующей схеме показано, как сквозная проверка подлинности обрабатывает запросы на вход пользователей.

Diagram that depicts how pass-through authentication processes user sign-in requests.

Как сквозная проверка подлинности обрабатывает запрос на вход пользователя:

  1. Пользователь пытается получить доступ к приложению, например, Outlook Web App.

  2. Если пользователь еще не вошел в систему, приложение перенаправляет браузер на страницу входа Microsoft Entra.

  3. Служба Microsoft Entra STS отвечает на страницу входа пользователя.

  4. Пользователь вводит имя пользователя на странице входа пользователя, а затем нажмите кнопку "Далее ".

  5. Пользователь вводит пароль на странице входа пользователя и нажимает кнопку входа .

  6. Имя пользователя и пароль отправляются в службу STS Microsoft Entra в запросе HTTPS POST.

  7. Microsoft Entra STS извлекает открытые ключи для всех агентов проверки подлинности, зарегистрированных в клиенте из База данных SQL Azure, и шифрует пароль с помощью ключей.

    Он создает одно зашифрованное значение пароля для каждого агента проверки подлинности, зарегистрированного в клиенте.

  8. Служба STS Microsoft Entra помещает запрос на проверку пароля, состоящий из имени пользователя и зашифрованных значений паролей, в очереди служебная шина, относящуюся к вашему клиенту.

  9. Так как инициализированные агенты проверки подлинности постоянно подключены к очереди служебная шина, один из доступных агентов проверки подлинности получает запрос на проверку пароля.

  10. Агент проверки подлинности использует идентификатор для поиска зашифрованного значения пароля, относящегося к открытому ключу. Он расшифровывает открытый ключ с помощью закрытого ключа.

  11. Агент проверки подлинности пытается проверить имя пользователя и пароль для Windows Server AD с помощью API Win32 LogonUser с заданным параметромLOGON32_LOGON_NETWORKdwLogonType.

    • Этот API является тем же API, который используется службы федерации Active Directory (AD FS) (AD FS) для входа пользователей в федеративном сценарии входа.
    • Поиск контроллера домена выполняется в рамках от стандартного процесса разрешения в Windows Server.
  12. Агент проверки подлинности получает результат из Windows Server AD, например успешно, имя пользователя или пароль неверный или срок действия пароля истек.

    Примечание.

    Если агент проверки подлинности завершается ошибкой во время процесса входа, весь запрос на вход удаляется. Запросы на вход не передаются из одного локального агента проверки подлинности в другой локальный агент проверки подлинности. Эти агенты взаимодействуют только с облаком, а не друг с другом.

  13. Агент проверки подлинности перенаправит результат обратно в службу STS Microsoft Entra по исходящему каналу HTTPS через порт 443. Взаимная проверка подлинности использует сертификат, выданный агенту проверки подлинности во время регистрации.

  14. Служба STS Microsoft Entra проверяет, соответствует ли этот результат конкретному запросу на вход в клиент.

  15. Microsoft Entra STS продолжается с процедурой входа, как настроено. Например, если проверка пароля прошла успешно, пользователь может быть оспорлен для MFA или перенаправляться обратно в приложение.

Операционная безопасность агента проверки подлинности

Чтобы обеспечить безопасность сквозной проверки подлинности, идентификатор Microsoft Entra периодически обновляет сертификаты агента проверки подлинности. Идентификатор Microsoft Entra активирует продление. Обновления не управляются самими агентами проверки подлинности.

Diagram that depicts how operational security works with pass-through authentication.

Чтобы продлить доверие агента проверки подлинности с помощью идентификатора Microsoft Entra, выполните следующие действия.

  1. Агент проверки подлинности проверяет связь Microsoft Entra каждые несколько часов, чтобы проверка, если пришло время продлить свой сертификат. Сертификат обновляется через 30 дней до истечения срока его действия.

    Эта проверка выполняется через канал HTTPS со взаимной аутентификацией с помощью сертификата, выданного во время регистрации.

  2. Если служба указывает, что пришло время продлить, агент проверки подлинности создает новую пару ключей: открытый ключ и закрытый ключ.

    • Эти ключи создаются с помощью стандартного шифрования RSA 2048-разрядного шифрования.
    • Закрытый ключ никогда не покидает локальный сервер.
  3. Затем агент проверки подлинности отправляет запрос на продление сертификата в идентификатор Microsoft Entra по протоколу HTTPS. В запрос включаются следующие компоненты:

    • Существующий сертификат, полученный из расположения CERT_SYSTEM_STORE_LOCAL_MACHINE в хранилище сертификатов Windows. Глобальный администратор не участвует в этой процедуре, поэтому для глобального администратора не требуется маркер доступа.
    • Открытый ключ, созданный на шаге 2.
    • A CSR. Этот запрос применяется к новому цифровому сертификату удостоверения с идентификатором Microsoft Entra в качестве своего ЦС.
  4. Идентификатор Microsoft Entra проверяет существующий сертификат в запросе на продление сертификата. Затем он проверяет, поступил ли запрос от агента проверки подлинности, зарегистрированного в клиенте.

  5. Если существующий сертификат по-прежнему действителен, идентификатор Microsoft Entra подписывает новый цифровой сертификат удостоверения и выдает новый сертификат обратно агенту проверки подлинности.

  6. Если срок действия существующего сертификата истек, идентификатор Microsoft Entra удаляет агент проверки подлинности из списка зарегистрированных агентов проверки подлинности клиента. Затем глобальный администратор или администратор гибридного удостоверения должны вручную установить и зарегистрировать новый агент проверки подлинности.

    • Чтобы подписать сертификат, используйте корневой ЦС идентификатора Microsoft Entra ID.
    • Задайте идентификатор DN сертификата идентификатору клиента, идентификатору GUID, который однозначно идентифицирует ваш клиент. То есть сертификат предназначен только для вашего клиента.
  7. Идентификатор Microsoft Entra хранит новый открытый ключ агента проверки подлинности в базе данных в База данных SQL Azure доступ только к нему. Он также делает недействительным старый открытый ключ, связанный с агентом проверки подлинности.

  8. Затем новый сертификат (выданный на шаге 5) хранится на сервере в хранилище сертификатов Windows (в частности, в расположении CERT_SYSTEM_STORE_CURRENT_USER ).

    Поскольку процедура продления доверия выполняется неинтерактивно (без присутствия глобального администратора или администратора гибридного удостоверения), агент проверки подлинности больше не имеет доступа к обновлению существующего сертификата в CERT_SYSTEM_STORE_LOCAL_MACHINE расположении.

    Примечание.

    Эта процедура не удаляет сам сертификат из расположения CERT_SYSTEM_STORE_LOCAL_MACHINE.

  9. С этого момента новый сертификат используется для проверки подлинности. При каждом последующем обновлении сертификат в расположении CERT_SYSTEM_STORE_LOCAL_MACHINE заменяется новым.

Автоматическое обновление агента проверки подлинности

Приложение Updater автоматически обновляет агент проверки подлинности при выпуске новой версии (с исправлениями ошибок или улучшениями производительности). Приложение Updater не обрабатывает запросы на проверку паролей для клиента.

Идентификатор Microsoft Entra id размещает новую версию программного обеспечения в виде подписанного пакета установщика Windows (MSI). MSI подписан с помощью Microsoft Authenticode с SHA-256 в качестве алгоритма дайджеста.

Diagram that shows how an authentication agent is auto updated.

Чтобы автоматически обновить агент проверки подлинности, выполните приведенные далее действия.

  1. Приложение Updater проверяет связь Microsoft Entra каждый час, чтобы проверка, если доступна новая версия агента проверки подлинности.

    Эта проверка выполняется через канал HTTPS со взаимной аутентификацией с помощью сертификата, выданного во время регистрации. Агент проверки подлинности и updater используют сертификат, хранящийся на сервере.

  2. Если доступна новая версия, идентификатор Microsoft Entra возвращает подписанный MSI обратно в updater.

  3. Приложение Updater проверяет, подписан ли этот MSI-файл корпорацией Майкрософт.

  4. Затем Updater выполняет данный MSI-файл. В этом процессе приложение Updater:

    Примечание.

    Updater выполняется с привилегиями локальной системы.

    1. Останавливает службу агента проверки подлинности.
    2. Устанавливает новую версию агента проверки подлинности на сервере.
    3. Перезапуск службы агента проверки подлинности.

Примечание.

Если в клиенте зарегистрировано несколько агентов проверки подлинности, идентификатор Microsoft Entra не обновляет свои сертификаты или не обновляет их одновременно. Вместо этого идентификатор Microsoft Entra обновляет сертификаты по одному за раз, чтобы обеспечить высокий уровень доступности запросов на вход.

Следующие шаги