Настройка закрытого доступа Microsoft Entra для контроллеров домена Active Directory

Обзор

В этом руководстве описывается, как настроить частный доступ Microsoft Entra для контроллеров домена Active Directory (DCS). Эта возможность помогает укрепить безопасный доступ для локальных пользователей, применяя условный доступ/MFA к локальным приложениям, используюющим проверку подлинности Kerberos с контроллерами домена.

Предпосылки

Чтобы настроить частный доступ Microsoft Entra для контроллеров домена Active Directory, необходимо иметь следующее:

  • Роль глобального администратора безопасного доступа в идентификаторе Microsoft Entra.
  • Продукту требуется лицензирование. Дополнительные сведения см. в разделе лицензирования "Что такое глобальный безопасный доступ". При необходимости вы можете приобрести лицензии или получить пробные лицензии.
  • Клиентский компьютер, работающий по крайней мере под управлением Windows 10 и представляющий собой присоединенное или гибридное устройство Microsoft Entra. Клиентский компьютер также должен иметь прямой доступ к внутренним ресурсам и контроллеру домена (DC) (пользователь находится в корпоративной сети и обращается к локальным ресурсам). Удостоверение пользователя, используемое для присоединения к устройству и доступ к этим ресурсам, должно быть создано в Active Directory (AD) и синхронизировано с идентификатором Microsoft Entra Connect с помощью Microsoft Entra Connect.
  • Установлен последняя версия соединителя Microsoft Entra для частной сети, который имеет прямую видимость до контроллера домена.
  • Откройте входящий порт TCP 1337 в брандмауэре Windows на контроллерах домена.
  • Убедитесь, что брандмауэр или прокси-сервер разрешает исходящие подключения к домену с подстановочным знаком *.msappproxy.net:443. Датчик частного доступа использует этот безопасный канал для регистрации и получения политик из облачной службы Microsoft Entra.
  • Служебные имена (SPN) частных приложений, которые необходимо защитить. Вы добавляете эти имена SPN в политику для датчиков частного доступа, установленных на контроллерах домена.

Замечание

СПН являются нечувствительными к регистру и должны быть точным совпадением или подстановочным знаком в формате <serviceclass>/*, например cifs/*.

  • Установите последний датчик частного доступа в ЦОД. Узнайте, что на контроллере домена можно установить один датчик частного доступа. Поддерживается тихая установка с помощью датчика Private Access версии 2.2.0 или более поздней версии и PowerShell версии 5.x.
  • Чтобы протестировать эту функцию, можно установить датчики на нескольких контроллерах домена в месте, где выдаются билеты Kerberos для SPN, которые требуется защитить. Датчик устанавливается в Audit режиме по умолчанию, и его необходимо изменить в enforce режиме.
  • Сначала протестируйте эту функцию с помощью частных приложений. Вы можете применить MFA непосредственно контроллеру домена, используя его SPN. Однако рассмотрите возможность тестирования на более позднем этапе, чтобы избежать проблем с блокировкой администратора.
  • Если в вашей среде используется NT LAN Manager версии 1/v2, возможно, потребуется ограничить NTLM и использовать проверку подлинности Kerberos в домене.

Замечание

Политика Ограничения NTLM: использование NTLM-аутентификации в этом домене без проведения оценки влияния предварительно может привести к перебоям в работе сервисов для приложений и пользователей, которые все еще используют NTLM-аутентификацию.

Руководство по аудиту и ограничению использования NTLM | Microsoft LearnИспользование политик безопасности для ограничения трафика NTLM | Microsoft Learn

Действия по настройке

Выполните следующие действия, чтобы настроить частный доступ Microsoft Entra для контроллеров домена Active Directory.

1. Скачивание и установка соединителя частной сети Microsoft Entra

  1. Войдите в центр администрирования Microsoft Entra.
  2. Перейдите к Global Secure Access>Connect>соединителям и датчикам>частной сети.
  3. Скачайте последнюю версию соединителя частной сети.
  4. Установите коннектор на Windows Server с прямой видимостью к вашему контроллеру домена.
  5. После установки убедитесь, что состояние соединителя активно в Центре администрирования Microsoft Entra.

Подсказка

Обратите внимание на частные IP-адреса соединителей (например, 10.5.0.7). При настройке политики датчика частного доступа требуются IP-адреса.

2. Создание приложения глобального безопасного доступа

Создайте новое корпоративное приложение или используйте быстрый доступ для публикации контроллеров домена с помощью ip-адресов или полного доменного имени (FQDN). Публикация контроллеров домена позволяет клиентам безопаного глобального доступа получать Kerberos токены. Кроме того, используйте Quick Access для настройки SPN (имен главных служб). В этом примере для настройки обоих типов используется быстрый доступ.

  1. Войдите в центр администрирования Microsoft Entra.
  2. Перейдите в Global Secure Access>Приложения>Быстрый доступ>Сегмент приложения, а затем выберите Добавить сегмент приложения быстрого доступа. Используйте порт 88 и выберите TCP.
  3. Затем перейдите к имени субъекта-службы , а затем выберите "Добавить имя субъекта-службы ", чтобы добавить имена субъектов-служб для ресурсов, которые требуется защитить. Система автоматически доставляет эти служебные имена в датчики частного доступа, установленные на ваших контроллерах домена.

Схема с параметрами быстрого доступа при настройке интеграции Microsoft Entra Private Access с контроллерами домена Active Directory.

3. Назначение пользователей и настройка условного доступа

  1. На странице параметров приложения, в данном случае «Быстрый доступ», выберите Пользователи и группы.
  2. Выберите "Добавить пользователя или группу ", чтобы назначить пользователей, синхронизированных из Active Directory, в приложении Microsoft Entra, где настроены контроллеры домена.
  3. Создайте политику условного доступа, требующую фишинговую проверку подлинности для этих пользователей.

4. Включение профиля частного доступа

  1. Войдите в центр администрирования Microsoft Entra.
  2. Перейдите к Global Secure Access>Connect>Перенаправление трафика>Профиль частного доступа.
  3. Включите профиль закрытого доступа.

Снимок экрана: профиль пересылки трафика приватного доступа, активированный в Центре администрирования Microsoft Entra.

5. Установка клиента глобального безопасного доступа

  1. Скачайте последнюю версию Windows-клиента Global Secure Access из Global Secure Access>Connect>клиент загрузка>Windows 10/11.
  2. Установите клиент на устройстве с Windows 10/11, которое присоединено к Microsoft Entra или гибридно присоединено.
  3. Убедитесь, что клиентское устройство имеет видимость частных приложений и контроллера домена.
  4. После установки приостановите (отключите) клиент.

6. Установите датчик частного доступа на контроллере домена

  1. Скачайте датчик частного доступа для ЦОД из центра администрирования Microsoft Entra в разделе Global Secure Access>Connect>Подключения и датчики>Датчики частного доступа>Скачать датчик частного доступа.
  2. Установите датчик, выбрав установщик датчика приватного доступа и выполнив действия.
  3. Во время установки при появлении запроса войдите, используя учетную запись пользователя Microsoft Entra ID.
  4. После установки в Центре администрирования Microsoft Entra перейдите к Global Secure Access>Connect>Соединители и датчики>приватного доступа и убедитесь, что датчик имеет статус Активный.

Снимок экрана, на котором показан датчик приватного доступа, активированный в Центре администрирования Microsoft Entra.

Это важно

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

7. Автоматическая установка датчика (без интерактивной проверки подлинности)

Для корпоративных сред, в которых датчики развертываются на нескольких контроллерах домена, тихая установка обеспечивает автоматическое развертывание без необходимости интерактивного входа в каждый контроллер домена. Этот подход полезен при развертывании на серверах, которые не имеют графического интерфейса пользователя, находятся в удаленных расположениях или при использовании таких средств автоматизации развертывания, как групповая политика, Microsoft Endpoint Configuration Manager или скрипты. Создав автономный маркер на рабочей станции с доступом к браузеру, можно зарегистрировать датчики на нескольких контроллерах домена без необходимости выполнять интерактивную проверку подлинности на каждом сервере. Поддерживается тихая установка с помощью датчика Private Access версии 2.2.0 или более поздней версии и PowerShell версии 5.x.

  1. Скачайте датчик на сервер контроллера домена (DC) и выполните эту команду в окне PowerShell или командной строки с правами администратора для тихой установки.
.\PrivateAccessSensor.exe /quiet SKIPREGISTRATION="true"
  1. Регистрация датчика

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

    # Microsoft Private Access / Global Secure Access – Token acquisition script
    # Works silently on any Windows machine with PowerShell 5.x (GUI + browser required)
    
    if (-not (Get-PSRepository -Name PSGallery -ErrorAction SilentlyContinue)) { Register-PSRepository -Default }
    Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
    
    if (-not (Get-PackageProvider -Name NuGet -ErrorAction SilentlyContinue)) {
         Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Scope CurrentUser
    }
    
    if (-not (Get-PackageSource -Name "nuget.org" -ProviderName NuGet -ErrorAction SilentlyContinue)) {
         Register-PackageSource -Name "nuget.org" -Location "https://www.nuget.org/api/v2" -ProviderName NuGet -Trusted -Force
    }
    
    $abstractionsVersion = "6.22.0"
    if (-not (Get-Package Microsoft.IdentityModel.Abstractions -ProviderName NuGet -RequiredVersion $abstractionsVersion -ErrorAction SilentlyContinue)) {
         Install-Package Microsoft.IdentityModel.Abstractions -ProviderName NuGet -RequiredVersion $abstractionsVersion -Force -Scope CurrentUser
    }
    
    $msalVersion = "4.53.0"
    if (-not (Get-Module -ListAvailable Microsoft.Identity.Client | Where-Object Version -eq $msalVersion)) {
         Install-Module Microsoft.Identity.Client -RequiredVersion $msalVersion -Force -Scope CurrentUser -AllowClobber
    }
    
    # Load Abstractions DLL
    $pkg = Get-Package Microsoft.IdentityModel.Abstractions -ProviderName NuGet -RequiredVersion $abstractionsVersion
    $folder = if ($pkg.Source -like "*.nupkg") { Split-Path $pkg.Source -Parent } else { $pkg.Source }
    Add-Type -Path (Join-Path $folder "lib\net461\Microsoft.IdentityModel.Abstractions.dll")
    
    # Load MSAL DLL
    $msal = Get-Module -ListAvailable Microsoft.Identity.Client | Where-Object Version -eq $msalVersion | Select-Object -First 1
    Add-Type -Path (Join-Path $msal.ModuleBase "Microsoft.Identity.Client.dll")
    
    # -------------------------- Authentication --------------------------
    $connectorAppId             = "55747057-9b5d-4bd4-b387-abf52a8bd489" # This is the standard Application (Principal) ID for Azure AD Application Proxy in Microsoft Entra ID
    $registrationServiceAppIdUri = "https://proxy.cloudwebappproxy.net/registerapp/user_impersonation"
    
    $scopes = [System.Collections.ObjectModel.Collection[string]]::new()
    $scopes.Add($registrationServiceAppIdUri)
    
    $app = [Microsoft.Identity.Client.PublicClientApplicationBuilder]::Create($connectorAppId).WithAuthority("https://login.microsoftonline.com/common/oauth2/v2.0/authorize").WithDefaultRedirectUri().Build()
    
    $authResult = $app.AcquireTokenInteractive($scopes).ExecuteAsync().GetAwaiter().GetResult()
    
    if ($authResult.AccessToken) {
         $token    = $authResult.AccessToken   
         $tenantId = $authResult.TenantId   
         Write-Host "`nSuccess: Token acquired successfully. You can access the value by typing $token in your PowerShell" -ForegroundColor Green
    }
    else {
         Write-Warning "Authentication failed or no token was returned"
    }
    

    Доступ к значению можно получить, введя $token и $tenantId соответственно в PowerShell. Скопируйте значение этих значений в виде обычного текста и задайте его вручную как $token и $tenantId соответственно на компьютере сервера контроллера домена.

    б. На серверном компьютере преобразуйте $token, который вы скопировали, в безопасную строку.

    $SecureToken = $Token | ConvertTo-SecureString -AsPlainText -Force
    

    c. Зарегистрируйте датчик, используя $SecureToken, созданный на последнем шаге, и $tenantId. Скрипт RegisterConnector.ps1 должен находиться в C:\Program Files\Private Access Sensor\bin.

    .\RegisterConnector.ps1 -modulePath "C:\Program Files\Private Access Sensor\bin" -moduleName "MicrosoftEntraPrivateNetworkConnectorPSModule" -Authenticationmode Token -Token $SecureToken -TenantId $tenantId -Feature PrivateAccess
    

Если у вас уже зарегистрирован другой датчик, может потребоваться сначала выполнить .\CleanRegistrationCmd.bat.

8. Настройка файлов политик датчика частного доступа

Установка датчика создает два файла политики JSON (cloudpolicy и localpolicy) по пути установки датчика. Не изменяйте cloudpolicy файл.

  1. Убедитесь, что настроенные ранее имена субъектов-служб (SPN) присутствуют в файле cloudpolicy.
  2. В файле localpolicy, добавьте IP-адреса частного соединителя в SourceIPAllowList и сохраните. Разрешены только запросы Kerberos из этих IP-адресов подключения; другие блокируются.
  3. Если вы добавляете или обновляете SPN или IP-адреса соединителей, изменения вступают в силу через несколько минут. Не нужно перезапускать датчики.

Это важно

По умолчанию датчик закрытого доступа устанавливается в режиме аудита (только для отчетов). Чтобы применить многофакторную проверку подлинности, установите SensorMode значение PrivateAccessSensorEnforceMode в Global Secure Access>Connect и > и сенсорах приватного доступа. Для обновления режима датчика может потребоваться несколько минут. Для Датчика частного доступа версии 2.1.31 и более поздних версий обновление этого режима возможно только в Центре администрирования Microsoft Entra и не из реестра.

Исключения и включения для SPN

При настройке Service Principal Names (SPN) в политике датчика закрытого доступа в вашей среде могут быть пользователи или компьютеры без установленного клиента для глобального безопасного доступа. Чтобы разрешить этим пользователям или компьютерам доступ к указанным SPN (служебные имена) после развертывания датчика частного доступа, можно настроить исключения или включения для каждого SPN из Центра администрирования Microsoft Entra или в файле localpolicy. Все исключения или включения, настроенные в Центре администрирования Microsoft Entra, присутствуют в cloudpolicy файле.

Замечание

Как cloudpolicy, так и localpolicy проверяются на доступ.

Если вы не определяете исключение для заданного SPN, поведение по умолчанию блокирует весь прямой доступ к этому SPN, кроме устройств с установленным клиентом Глобального Безопасного Доступа.

Исключения

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

  • IP-адрес клиента
  • Диапазоны IP-адресов
  • Локальное имя пользователя (UPN), например username@domain. UPN поддерживается в Датчике частного доступа версии 2.1.31 или выше и нечувствителен к регистру. Имя пользователя, являющееся первой частью UPN, поддерживается более ранними версиями датчиков и может быть добавлено только в localpolicy файл. Используйте UPN вместо имен пользователей. Имена главных пользователей (UPN) для пользователей локальной инфраструктуры можно добавить через админцентр Microsoft Entra. Это могут быть UPN для локальных пользователей, которые синхронизируются с Microsoft Entra ID, или для пользователей только в локальном домене Active Directory и не синхронизируются с Microsoft Entra ID.

Замечание

UPN (имена участников) для локальных пользователей, которые являются локальными для Active Directory и не синхронизированы с Microsoft Entra ID, можно добавить только в localpolicy файл в версиях датчиков частного доступа ниже 2.2.0.

Вы можете настроить несколько IP-адресов, несколько диапазонов IP-адресов или оба варианта для одного имени основного службы (SPN). Аналогичным образом можно исключить несколько имен пользователей для служебного имени (SPN).

Включения

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

Это важно

SPN может содержать либо список включений UPNs, либо список исключений UPNs, но не оба одновременно.

Объединение исключений и включений

  • Вы можете настроить включение UPN и исключение IP-адреса для заданного служебного имени участника.
  • Вы можете настроить исключение UPN и исключение IP-адресов для заданного SPN.
  • Если совпадение политики происходит как для включения UPN, так и для исключения IP-адресов, доступ к SPN разрешен.
  • Если политика соответствует более чем одному правилу (например, подстановочному знаку), доступ к SPN разрешается, если она совпадает хотя бы с одним правилом исключения.

Подсказка

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

Пример настройки исключений и включений имени объекта службы в Центре администрирования Microsoft Entra:

Снимок экрана: файл localpolicy, показывающий, как настроить файл для включений и исключений имени пользователя SPN.

Режим разбиения стекла

  • Датчик частного доступа поддерживает режим аварийного доступа для разрешения всего сетевого трафика в чрезвычайных ситуациях.
  • Чтобы включить режим аварийного доступа из Центра администрирования Microsoft Entra.
    1. Перейдите к Global Secure Access>Подключить>соединители и датчики.
    2. На вкладке "Датчики частного доступа" выберите имя из списка датчиков частного доступа.
    3. В разделе "Параметры" выберите "Включить режим аварийного доступа". Для распространения изменений может потребоваться несколько минут.
  • Вы также можете включить режим аварийного доступа, изменив ключ реестра TmpBreakglass (DWORD) в разделе HKLM\SOFTWARE\Microsoft\PrivateAccessSensor с 0 на 1 на контроллере домена, где установлен датчик частного доступа. Необходимо перезапустить датчики, чтобы обновления были применены к ключу реестра.

9. Проверка закрытого доступа Microsoft Entra для контроллеров домена

  1. Держите как клиента Global Secure Access, так и сенсоры Private Access выключенными.
  2. Убедитесь, что полные доменные имена и IP-адреса контроллера домена, настроенные в приложении быстрого доступа, присутствуют в политике клиента глобального безопасного доступа. Проверьте значок системного трея Global Secure Access: Расширенная диагностика>Профиль переадресации трафика.
  3. (Необязательно) Запустите nltest с клиентского компьютера, чтобы перечислить контроллеры домена.
  4. Выполните klist purge, чтобы очистить все тикеты Kerberos.
  5. Используйте klist tgt get cifs/SPN или перейдите к общей папке "Блок сообщений сервера" (SMB), чтобы проверить доступ к целевому ресурсу.
  6. Включите службу датчика частного доступа (оставьте клиент глобального безопасного доступа отключенным).
  7. Попытайтесь получить доступ к общей папке SMB; Датчик должен заблокировать запрос.
  8. Включите клиент Global Secure Access и повторите попытку доступа к SPN. Вы должны получать токены Kerberos, и MFA может потребоваться, если политика условного доступа применяет это.
  9. Чтобы проверить, что трафик Kerberos туннелируется через глобальный безопасный доступ, используйте расширенную диагностику в клиенте глобального безопасного доступа.

10. Исследование и устранение неполадок

  • Используйте средство просмотра событий из журналов приложений и служб>>> для просмотра журналов датчика приватного доступа. Снимок экрана: страница просмотра событий.
  • Чтобы собрать журналы датчика частного доступа, запустите PrivateAccessSensorLogsCollector с пути установки датчика и поделитесь созданным ZIP-файлом с поддержкой Майкрософт.
  • Для журналов клиента Global Secure Access:
    1. Щелкните правой кнопкой мыши значок в трее «Глобальный безопасный доступ».
    2. Выберите Расширенные диагностики>Расширенную коллекцию журналов>Сбор расширенных журналов.
    3. Воспроизводите проблему, а затем остановите сбор журналов и отправьте журналы в службу поддержки Майкрософт.

Подсказка

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