Установка и настройка Active Directory Federation Service (ADFS)

Active Directory Federation Services как установить и настроить


Active Directory Federation Services (AD FS): полное руководство для начинающих и опытных системных администраторов

Active Directory Federation Services (AD FS) — это мощный инструмент, который позволяет организациям обеспечивать единый вход (Single Sign-On, SSO) для пользователей в распределенных средах. С помощью AD FS пользователи могут получать доступ к приложениям и ресурсам, расположенным как внутри организации, так и за ее пределами, без необходимости повторной аутентификации. В этой статье мы подробно разберем, что такое AD FS, как он работает, и как его настроить. Материал будет полезен как начинающим, так и опытным системным администраторам.

Что такое Active Directory Federation Services (AD FS)?

Active Directory Federation Services (AD FS) — это компонент операционной системы Windows Server, который обеспечивает федеративную идентификацию и единый вход (SSO) для пользователей. Федеративная идентификация позволяет организациям делиться цифровыми идентификаторами и правами доступа между доверенными партнерами, что упрощает доступ к ресурсам и повышает безопасность.

AD FS использует стандарты безопасности, такие как Security Assertion Markup Language (SAML), OAuth и OpenID Connect, чтобы обеспечить безопасный обмен информацией между различными системами. Это делает AD FS идеальным решением для организаций, которые используют облачные сервисы, такие как Microsoft 365, или сотрудничают с внешними партнерами.

Основные компоненты AD FS

Чтобы понять, как работает AD FS, важно разобраться в его основных компонентах:

1.    Федеративный сервер (Federation Server). Это основной компонент AD FS, который отвечает за аутентификацию пользователей и выдачу токенов безопасности. Федеративный сервер взаимодействует с Active Directory для проверки учетных данных пользователей.

2.    Федеративный сервер прокси (Federation Server Proxy). Этот компонент используется для обеспечения безопасного доступа к федеративному серверу из внешних сетей. Он действует как посредник между внешними пользователями и федеративным сервером.

3.    База данных конфигурации AD FS. В этой базе данных хранятся все настройки и конфигурации AD FS, включая информацию о доверенных партнерах и правилах авторизации.

4.    Служба веб-приложений (Web Application Proxy). Этот компонент позволяет публиковать внутренние приложения для доступа из внешних сетей, обеспечивая при этом безопасность и контроль доступа.

5.    Доверенные партнеры (Trusted Partners). Это организации или системы, с которыми настроена федеративная идентификация. Доверенные партнеры могут быть как внутренними, так и внешними.

Как работает AD FS?

Процесс работы AD FS можно разделить на несколько этапов:

1.    Аутентификация пользователя. Пользователь пытается получить доступ к защищенному ресурсу, например, облачному приложению. Приложение перенаправляет пользователя на федеративный сервер AD FS для аутентификации.

2.    Проверка учетных данных. Федеративный сервер проверяет учетные данные пользователя в Active Directory. Если аутентификация успешна, сервер выдает токен безопасности.

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

4.    Авторизация доступа. Приложение проверяет токен и предоставляет пользователю доступ к запрошенному ресурсу.

Преимущества использования AD FS

Использование AD FS предоставляет множество преимуществ для организаций:

1.    Единый вход (SSO). Пользователи могут получать доступ к множеству приложений и ресурсов с помощью одного набора учетных данных, что упрощает процесс аутентификации и повышает удобство.

2.    Безопасность. AD FS использует современные стандарты безопасности, такие как SAML и OAuth, чтобы обеспечить безопасный обмен информацией между системами.

3.    Интеграция с облачными сервисами. AD FS легко интегрируется с облачными сервисами, такими как Microsoft 365, что позволяет организациям использовать гибридные среды.

4.    Гибкость. AD FS поддерживает множество сценариев использования, включая федерацию с внешними партнерами и интеграцию с различными приложениями.

5.    Снижение затрат. Использование AD FS позволяет сократить затраты на управление учетными записями и паролями, так как пользователям не нужно запоминать множество учетных данных.

Настройка AD FS: пошаговое руководство

Теперь, когда мы разобрались с основами AD FS, перейдем к практической части — настройке AD FS. В этом разделе мы рассмотрим, как установить и настроить AD FS на сервере под управлением Windows Server.

Шаг 1: Установка роли AD FS

Установка роли AD FS — это первый и важный этап, который требует внимательного подхода. Рассмотрим процесс установки пошагово.

1.1. Подготовка сервера

Перед установкой AD FS убедитесь, что ваш сервер соответствует следующим требованиям:

  • Установлена операционная система Windows Server (рекомендуется последняя версия).
  • Сервер присоединен к домену Active Directory.
  • На сервере настроен статический IP-адрес.
  • Установлены все последние обновления Windows.

1.2. Установка роли AD FS

  1. Откройте Диспетчер серверов (Server Manager).
  2. В меню выберите "Управление" (Manage) → "Добавить роли и компоненты" (Add Roles and Features).
  3. В мастере добавления ролей нажмите "Далее" (Next) до шага выбора ролей.
  4. В списке ролей найдите и выберите "Службы федерации Active Directory" (Active Directory Federation Services).
  5. Нажмите "Добавить компоненты" (Add Features), если появится запрос на установку дополнительных компонентов.
  6. Продолжайте следовать инструкциям мастера, пока не дойдете до шага "Подтверждение" (Confirmation). Нажмите "Установить" (Install).

1.3. Установка сертификата SSL

AD FS требует наличия SSL-сертификата для защиты соединений. Если у вас еще нет сертификата:

  1. Создайте запрос на сертификат (CSR) и получите SSL-сертификат от доверенного центра сертификации (CA).
  2. Установите сертификат на сервер, используя оснастку "Управление сертификатами" (Certificates Manager).

1.4. Завершение установки

После завершения установки роли AD FS сервер будет готов к настройке федеративной службы.


Шаг 2: Настройка AD FS

После установки роли AD FS необходимо настроить федеративную службу. Этот процесс включает создание фермы серверов и настройку базы данных конфигурации.

2.1. Запуск мастера настройки AD FS

  1. Откройте Диспетчер серверов и выберите "AD FS" в меню.
  2. Нажмите "Настроить федеративную службу" (Configure the federation service).

2.2. Создание первой федеративной службы

  1. В мастере настройки выберите "Создать первую федеративную службу в ферме серверов" (Create the first federation server in a federation server farm).
  2. Укажите учетную запись с правами администратора домена для настройки AD FS.

2.3. Настройка сертификата SSL

  1. Выберите установленный SSL-сертификат из списка доступных.
  2. Убедитесь, что сертификат соответствует полному доменному имени (FQDN) вашего сервера AD FS.

2.4. Настройка базы данных конфигурации

  1. Выберите тип базы данных:
    • Windows Internal Database (WID): Подходит для небольших организаций.
    • SQL Server: Рекомендуется для крупных организаций с высокой нагрузкой.
  2. Нажмите "Далее" и завершите настройку.

2.5. Завершение настройки

После завершения настройки AD FS будет готов к использованию. Перезагрузите сервер, если это потребуется.


Шаг 3: Настройка доверенных партнеров

Доверенные партнеры — это организации или системы, с которыми настроена федеративная идентификация. Рассмотрим, как добавить доверенного партнера.

3.1. Добавление доверенного партнера

  1. Откройте консоль управления AD FS.
  2. Перейдите в раздел "Доверенные отношения" (Trust Relationships) → "Доверенные партнеры" (Relying Party Trusts).
  3. Нажмите "Добавить доверенного партнера" (Add Relying Party Trust).

3.2. Выбор источника данных

  1. Выберите способ добавления партнера:
    • Импорт метаданных: Если партнер предоставляет файл метаданных.
    • Ручная настройка: Если метаданные недоступны.
  2. Укажите URL-адрес метаданных или введите параметры вручную.

3.3. Настройка правил авторизации

  1. После добавления партнера настройте правила авторизации:
    • Перейдите в свойства доверенного партнера.
    • Выберите вкладку "Правила выдачи" (Issuance Authorization Rules).
    • Создайте правило, которое определяет, какие пользователи или группы имеют доступ к ресурсам партнера.

3.4. Тестирование доверенного партнера

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

Шаг 4: Публикация приложений через Web Application Proxy

Web Application Proxy (WAP) позволяет публиковать внутренние приложения для доступа из внешних сетей, обеспечивая при этом безопасность и контроль доступа.

4.1. Установка роли Web Application Proxy

  1. Откройте Диспетчер серверов и выберите "Добавить роли и компоненты".
  2. Установите роль "Службы удаленного доступа" (Remote Access).
  3. В мастере настройки выберите "Web Application Proxy".

4.2. Настройка Web Application Proxy

  1. После установки роли откройте "Мастер настройки Web Application Proxy".
  2. Укажите адрес федеративного сервера AD FS и учетные данные администратора.
  3. Настройте сертификат SSL для защиты соединений.

4.3. Публикация приложения

  1. В консоли управления Web Application Proxy выберите "Публикация" (Publish).
  2. Укажите параметры приложения:
    • Внешний URL: Адрес, по которому приложение будет доступно извне.
    • Внутренний URL: Адрес приложения внутри сети.
    • Метод аутентификации: Выберите подходящий метод (например, интеграция с AD FS).
  3. Настройте параметры безопасности, такие как предварительная аутентификация и ограничение доступа по IP-адресам.

4.4. Тестирование публикации

  1. Попробуйте получить доступ к приложению через внешний URL.
  2. Проверьте, корректно ли работает аутентификация и авторизация.

Дополнительные рекомендации по настройке AD FS

  1. Использование нескольких федеративных серверов. Для повышения отказоустойчивости рекомендуется развернуть несколько серверов AD FS и настроить балансировку нагрузки.
  2. Мониторинг и логирование. Включите подробное логирование в AD FS для отслеживания событий и устранения неполадок.
  3. Интеграция с Multi-Factor Authentication (MFA). Для повышения безопасности настройте MFA для доступа к ресурсам через AD FS.
  4. Регулярное обновление. Убедитесь, что серверы AD FS и Web Application Proxy обновлены до последних версий.

Пример использования AD FS в реальной жизни

Рассмотрим пример организации, которая использует AD FS для интеграции с Microsoft 365 и предоставления доступа партнерам к внутренним приложениям.

  1. Настройка AD FS. Организация устанавливает AD FS и настраивает федеративную службу.
  2. Интеграция с Microsoft 365. AD FS интегрируется с Azure AD, что позволяет пользователям входить в Microsoft 365 с использованием корпоративных учетных данных.
  3. Публикация приложений. Организация публикует внутренние приложения через Web Application Proxy, предоставляя доступ партнерам.

Единый вход. Пользователи получают доступ ко всем ресурсам с помощью одного набора учетных данных.

Установка и настройка AD FS с помощью PowerShell

PowerShell — это мощный инструмент для автоматизации задач в Windows Server. С его помощью можно установить и настроить AD FS, что особенно полезно в крупных организациях, где требуется массовая настройка серверов. Рассмотрим, как это сделать.

1. Установка роли AD FS через PowerShell

  1. Откройте PowerShell с правами администратора.

    • Нажмите Win + X и выберите "Windows PowerShell (Admin)".

  2. Установите роль AD FS.
    Используйте команду:

    powershell
    Copy
    Install-WindowsFeature -Name ADFS-Federation -IncludeManagementTools

    Эта команда устанавливает роль AD FS и необходимые инструменты управления.

  3. Проверьте установку.
    После завершения установки убедитесь, что роль установлена корректно:

    powershell
    Copy
    Get-WindowsFeature -Name ADFS-Federation

    В выводе команды должно быть указано, что роль установлена.

2. Настройка AD FS через PowerShell

  1. Импортируйте модуль AD FS.

    powershell
    Copy
    Import-Module ADFS
  2. Создайте ферму серверов AD FS.
    Используйте команду Install-AdfsFarm, чтобы настроить первую федеративную службу:

    powershell
    Copy
    Install-AdfsFarm `
        -CertificateThumbprint "Thumbprint_SSL_Certificate" `
        -FederationServiceName "sts.yourdomain.com" `
        -ServiceAccountCredential (Get-Credential) `
        -OverwriteConfiguration

    Где:

    • CertificateThumbprint — отпечаток SSL-сертификата.

    • FederationServiceName — полное доменное имя (FQDN) сервера AD FS.

    • ServiceAccountCredential — учетные данные учетной записи службы AD FS.

  3. Настройка базы данных конфигурации.
    Если вы используете SQL Server вместо WID, укажите параметр -SQLConnectionString:

    powershell
    Copy
    Install-AdfsFarm `
        -CertificateThumbprint "Thumbprint_SSL_Certificate" `
        -FederationServiceName "sts.yourdomain.com" `
        -ServiceAccountCredential (Get-Credential) `
        -SQLConnectionString "Data Source=SQLServerName;Initial Catalog=ADFSConfiguration;Integrated Security=True" `
        -OverwriteConfiguration
  4. Проверка настройки.
    После завершения настройки проверьте состояние AD FS:

    powershell
    Copy
    Get-AdfsProperties

3. Настройка доверенных партнеров через PowerShell

  1. Добавление доверенного партнера.
    Используйте команду Add-AdfsRelyingPartyTrust:

    powershell
    Copy
    Add-AdfsRelyingPartyTrust `
        -Name "PartnerApp" `
        -Identifier "https://partnerapp.com" `
        -WsFedEndpoint "https://partnerapp.com/wsfed" `
        -IssuanceAuthorizationRules "@RuleTemplate = `"AllowAllAuthZRule`" => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");"

    Где:

    • Name — имя доверенного партнера.

    • Identifier — уникальный идентификатор партнера.

    • WsFedEndpoint — конечная точка WS-Federation партнера.

  2. Настройка правил авторизации.
    Используйте команду Set-AdfsRelyingPartyTrust для настройки правил:

    powershell
    Copy
    Set-AdfsRelyingPartyTrust `
        -TargetName "PartnerApp" `
        -IssuanceAuthorizationRules "@RuleTemplate = `"AllowAllAuthZRule`" => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");"

4. Публикация приложений через Web Application Proxy с помощью PowerShell

  1. Установка роли Web Application Proxy.
    Используйте команду:

    powershell
    Copy
    Install-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools
  2. Настройка Web Application Proxy.
    Используйте команду Install-WebApplicationProxy:

    powershell
    Copy
    Install-WebApplicationProxy `
        -CertificateThumbprint "Thumbprint_SSL_Certificate" `
        -FederationServiceName "sts.yourdomain.com" `
        -FederationServiceTrustCredential (Get-Credential)
  3. Публикация приложения.
    Используйте команду Add-WebApplicationProxyApplication:

    powershell
    Copy
    Add-WebApplicationProxyApplication `
        -Name "InternalApp" `
        -ExternalUrl "https://app.yourdomain.com" `
        -ExternalCertificateThumbprint "Thumbprint_SSL_Certificate" `
        -BackendServerUrl "http://internalapp.local" `
        -ClientCertificatePreference "Ignore" `
        -DisableTranslateUrlInRequestHeaders:$false `
        -DisableTranslateUrlInResponseHeaders:$false

    Где:

    • Name — имя приложения.

    • ExternalUrl — внешний URL приложения.

    • BackendServerUrl — внутренний URL приложения.

  4. Проверка публикации.
    Убедитесь, что приложение опубликовано:

    powershell
    Copy
    Get-WebApplicationProxyApplication

Преимущества использования PowerShell для настройки AD FS

  1. Автоматизация. PowerShell позволяет автоматизировать процесс установки и настройки, что особенно полезно при развертывании AD FS на нескольких серверах.

  2. Гибкость. С помощью PowerShell можно настроить любые параметры AD FS, включая сложные сценарии федерации.

  3. Повторяемость. Скрипты PowerShell можно сохранить и использовать для повторной настройки в других средах.

  4. Интеграция с другими инструментами. PowerShell легко интегрируется с другими системами, такими как Azure, SQL Server и т.д.


Пример скрипта для автоматической установки и настройки AD FS

Вот пример полного скрипта для установки и настройки AD FS с использованием PowerShell:

powershell
Copy
# Установка роли AD FS
Install-WindowsFeature -Name ADFS-Federation -IncludeManagementTools

# Импорт модуля AD FS
Import-Module ADFS

# Настройка фермы серверов AD FS
$credential = Get-Credential
Install-AdfsFarm `
    -CertificateThumbprint "Thumbprint_SSL_Certificate" `
    -FederationServiceName "sts.yourdomain.com" `
    -ServiceAccountCredential $credential `
    -OverwriteConfiguration

# Добавление доверенного партнера
Add-AdfsRelyingPartyTrust `
    -Name "PartnerApp" `
    -Identifier "https://partnerapp.com" `
    -WsFedEndpoint "https://partnerapp.com/wsfed" `
    -IssuanceAuthorizationRules "@RuleTemplate = `"AllowAllAuthZRule`" => issue(Type = `"http://schemas.microsoft.com/authorization/claims/permit`", Value = `"true`");"

# Установка и настройка Web Application Proxy
Install-WindowsFeature -Name Web-Application-Proxy -IncludeManagementTools
Install-WebApplicationProxy `
    -CertificateThumbprint "Thumbprint_SSL_Certificate" `
    -FederationServiceName "sts.yourdomain.com" `
    -FederationServiceTrustCredential $credential

# Публикация приложения
Add-WebApplicationProxyApplication `
    -Name "InternalApp" `
    -ExternalUrl "https://app.yourdomain.com" `
    -ExternalCertificateThumbprint "Thumbprint_SSL_Certificate" `
    -BackendServerUrl "http://internalapp.local" `
    -ClientCertificatePreference "Ignore" `
    -DisableTranslateUrlInRequestHeaders:$false `
    -DisableTranslateUrlInResponseHeaders:$false


Заключение

Настройка Active Directory Federation Services (AD FS) — это многоэтапный процесс, который требует внимания к деталям. Однако правильно настроенная система AD FS обеспечивает безопасный и удобный доступ к ресурсам как для внутренних пользователей, так и для внешних партнеров. Следуя этому руководству, вы сможете успешно развернуть и настроить AD FS в своей организации.

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