Комбинированная аутентификация и утверждения AD DS в AD FS
Windows Server 2012 улучшает проверку подлинности Kerberos, внедряя составную проверку подлинности. Составная проверка подлинности позволяет запросу Kerberos Ticket-Granting Service (TGS) включать два удостоверения:
- личность пользователя
- идентификатор устройства пользователя.
Windows выполняет составную проверку подлинности, расширяя гибкий туннель проверки подлинности Kerberos (FAST) или защиту Kerberos.
Ad FS 2012 и более поздних версий позволяет использовать утверждения, выданные пользователем или устройством AD DS, которые находятся в билете проверки подлинности Kerberos. В предыдущих версиях AD FS обработчик утверждений может читать только идентификаторы пользователей и групп безопасности (SID) из Kerberos, но не смог прочитать какие-либо сведения о утверждениях, содержащиеся в билете Kerberos.
Вы можете обеспечить более богатый контроль доступа для федеративных приложений, используя утверждения пользователей и устройств, выдаваемые доменными службами Active Directory (AD DS), вместе со службами федерации Active Directory (AD FS).
Требования
Компьютеры, обращающиеся к федеративным приложениям, должны проходить проверку подлинности в AD FS с помощью Windows встроенной проверки подлинности.
- Встроенная проверка подлинности Windows доступна только при подключении к серверным серверам AD FS.
- Компьютеры должны иметь доступ к серверным серверам AD FS для имени службы федерации
- Серверы AD FS должны предлагать встроенную проверку подлинности Windows в качестве основного метода проверки подлинности в параметрах интрасети.
Политика поддержке клиентов Kerberos для комплексной проверки подлинности утверждений и защиты Kerberos должны применяться ко всем компьютерам, обращаюющимся к федеративным приложениям, защищенным составной проверкой подлинности. Это применимо в случае сценариев в одном лесу или между лесными массивами.
Домен, в котором имеются серверы AD FS, должен иметь поддержку KDC для составной проверки подлинности утверждений и применения настройки политики Kerberos к контроллерам домена.
Действия по настройке AD FS в Windows Server 2012 R2
Чтобы настроить составную проверку подлинности и утверждения, выполните следующие действия.
Шаг 1. Включение поддержки KDC для утверждений, составной проверки подлинности и защиты Kerberos в политике контроллера домена по умолчанию
- В Диспетчере серверов выберите "Инструменты", Управление групповыми политиками.
- Перейдите вниз к политике контроллера домена по умолчанию, щелкните правой кнопкой мыши и выберите изменить.
- В редакторе управления групповыми политиками в разделе конфигурации компьютера разверните политики , разверните административные шаблоны , разверните систему и выберите KDC .
- В правой области дважды щелкните на поддержку KDC для утверждений, составной проверки подлинности и защиты Kerberos.
- В новом диалоговом окне установите поддержку KDC для заявок на Включено.
- В разделе "Параметры" выберите Поддерживаемые в раскрывающемся меню, а затем нажмите Применить и ОК.
Шаг 2. Включение поддержки клиентов Kerberos для утверждений, составной проверки подлинности и защиты Kerberos на компьютерах, обращаюющихся к федеративным приложениям
- В Групповой политике, применяемой к компьютерам, обращающимся к федеративным приложениям, в Редакторе управления групповыми политикамив разделе конфигурации компьютера, разверните Политики, разверните Административные шаблоны, разверните Системуи выберите Kerberos.
- В правой области окна редактора управления групповыми политиками дважды щелкните поддержку клиентов Kerberos для утверждений, составной проверки подлинности и защиты Kerberos.
- В новом диалоговом окне задайте для поддержки клиентов Kerberos значение Включено и нажмите кнопку Применить и ОК.
- Закройте редактор управления групповыми политиками.
Шаг 3. Убедитесь, что серверы AD FS обновлены.
Необходимо убедиться, что на серверах AD FS установлены следующие обновления.
Обновление | Описание |
---|---|
KB2919355 | Накопительное обновление системы безопасности(включает KB2919355,KB2932046,KB2934018,KB2937592;KB2938439) |
KB2959977 | Обновление для Server 2012 R2 |
Хотфикс 3052122 | Это обновление добавляет поддержку составных идентификаторов в службе федерации Active Directory. |
Шаг 4. Настройка основного поставщика проверки подлинности
Установите основного поставщика проверки подлинности на проверку подлинности Windows для настроек интрасети AD FS.
В разделе политики проверки подлинности AD FSвыберите основную проверку подлинности и в разделе Глобальные параметры выберите изменить.
В изменить глобальную политику проверки подлинности в разделе Интрасети выберите проверки подлинности Windows.
Нажмите кнопку Применить и ОК.
С помощью PowerShell можно использовать командлет Set-AdfsGlobalAuthenticationPolicy.
Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'
Примечание.
В ферме на основе WID команда PowerShell должна выполняться на основном сервере AD FS. В ферме на основе SQL команда PowerShell может выполняться на любом сервере AD FS, который является членом фермы.
Шаг 5. Добавление описания утверждения в AD FS
Добавьте в ферму следующее описание требования. Это описание утверждения отсутствует по умолчанию в AD FS 2012 R2 и должно быть добавлено вручную.
В консоли управления AD FS, под службами, щелкните правой кнопкой мыши на описании утверждений и выберите Добавить описание утверждений.
Введите следующие сведения в описании утверждения
- Отображаемое имя: "Группа устройств Windows"
- Описание утверждения:
'<https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup>'
`
Установите флажок в обоих полях.
Щелкните OK.
С помощью PowerShell можно использовать командлет Add-AdfsClaimDescription.
Add-AdfsClaimDescription -Name 'Windows device group' -ClaimType 'https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup' ` -ShortName 'windowsdevicegroup' -IsAccepted $true -IsOffered $true -IsRequired $false -Notes 'The windows group SID of the device'
Примечание.
В ферме на основе WID команда PowerShell должна выполняться на основном сервере AD FS. В ферме на основе SQL команда PowerShell может выполняться на любом сервере AD FS, который является членом фермы.
Шаг 6. Включение бита комплексной проверки подлинности в атрибуте msDS-SupportedEncryptionTypes
- Включите составную проверку подлинности в атрибуте msDS-SupportedEncryptionTypes в учетной записи, назначенной для запуска службы AD FS, с помощью командлета Set-ADServiceAccount Set-ADServiceAccount PowerShell.
Примечание.
При изменении учетной записи службы необходимо вручную активировать составную аутентификацию, выполнив командлеты Set-ADUser -compoundIdentitySupported:$true в Windows PowerShell.
Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
- Перезапустите службу AD FS.
Примечание.
После того как параметру CompoundIdentitySupported задано значение true, установка той же gMSA на новых серверах (2012R2/2016) завершается ошибкой ниже— Install-ADServiceAccount: не удается установить учетную запись службы. Сообщение об ошибке: "Предоставленный контекст не соответствовал целевому объекту"..
Решение: временно установите CompoundIdentitySupported на $false. Этот шаг приводит к прекращению выдачи утверждений WindowsDeviceGroup в AD FS. Set-ADServiceAccount -Identity "Учетная запись службы ADFS" -CompoundIdentitySupported:$false установите gMSA на новом сервере, а затем включите CompoundIdentitySupported обратно в $True. Отключение CompoundIdentitySupported, а затем повторное развертывание не требует перезапуска службы AD FS.
Шаг 7. Обновление доверия поставщика утверждений AD FS для Active Directory
- Обновите доверие поставщика утверждений AD FS для Active Directory, чтобы включить следующее правило утверждения сквозной передачи для утверждения WindowsDeviceGroup.
- В управление AD FSщелкните Доверительные отношения поставщиков утверждений, и в правой области правой кнопкой щелкните на Active Directory и выберите Изменить правила утверждений.
- На странице Правила запроса для Active Directory нажмите Добавить правило.
- В мастере добавления правила утверждения преобразования выберите пропустить или отфильтровать входящие утверждения и нажмите Далее.
- Добавьте отображаемое имя и выберите группу устройств Windows из раскрывающегося списка типа входящего утверждения.
- Нажмите кнопку Готово. Нажмите кнопку Применить и ОК.
Шаг 8. В проверяющей стороне, где ожидается утверждение WindowsDeviceGroup, добавьте аналогичное правило утверждения Pass-through или Transform.
- В управления AD FS щелкните отношения доверия проверяющей стороны и в правой области щелкните правой кнопкой мыши свою RP и выберите Изменить правила утверждений.
- В правилах преобразования выдачи нажмите Добавить правило.
- В мастере добавления правила утверждения преобразования выберите пропустить или отфильтровать входящее утверждение и нажмите Далее.
- Добавьте отображаемое имя и выберите группу устройств Windows из раскрывающегося списка типа входящего утверждения.
- Нажмите кнопку Готово. Нажмите кнопку Применить и ОК.
Действия по настройке AD FS в Windows Server 2016
Ниже приведены инструкции по настройке составной проверки подлинности в AD FS для Windows Server 2016.
Шаг 1. Включение поддержки KDC для утверждений, составной проверки подлинности и защиты Kerberos в политике контроллера домена по умолчанию
- В диспетчере серверов выберите "Средства", управление групповыми политиками.
- Перейдите к политике контроллера домена по умолчанию, щелкните правой кнопкой мыши и выберите изменить.
- В редакторе управления групповыми политиками в разделе конфигурации компьютера разверните политики , административные шаблоны , разверните Систему и выберите KDC .
- В правой области дважды щелкните на поддержку заявок KDC, составную аутентификацию и защиту Kerberos.
- В новом диалоговом окне установите поддержку утверждений для KDC в положение Включено.
- В разделе "Параметры" выберите Поддержка в раскрывающемся меню, а затем щелкните Применить и ОК.
Шаг 2. Включение поддержки клиентов Kerberos для утверждений, составной проверки подлинности и защиты Kerberos на компьютерах, обращаюющихся к федеративным приложениям
- В Групповой политике, применяемой к компьютерам, обращающимся к федеративным приложениям, в Редакторе управления групповыми политиками, в разделе Конфигурация компьютераразверните Политики, разверните Административные шаблоны, разверните Системаи выберите Kerberos.
- В правой области окна редактора управления групповыми политиками дважды щелкните поддержку клиентов Kerberos для утверждений, составной проверки подлинности и защиты Kerberos.
- В новом диалоговом окне установите клиентскую поддержку Kerberos в положение Включено и нажмите Применить и ОК.
- Закройте редактор управления групповыми политиками.
Шаг 3. Настройка основного поставщика проверки подлинности
- Установите основного поставщика проверки подлинности на проверку подлинности Windows для настроек интрасети AD FS.
- В Управлении AD FS в разделеПолитики проверки подлинности выберите Основная проверка подлинности, и в разделе Глобальные параметры щелкните Изменить.
- В изменить глобальную политику аутентификации в разделе Интрасеть выберите аутентификацию Windows.
- Нажмите кнопку Применить и ОК.
- С помощью PowerShell вы можете использовать командлет Set-AdfsGlobalAuthenticationPolicy.
Set-AdfsGlobalAuthenticationPolicy -PrimaryIntranetAuthenticationProvider 'WindowsAuthentication'
Примечание.
В ферме на основе WID команда PowerShell должна выполняться на основном сервере AD FS. В ферме на основе SQL команда PowerShell может выполняться на любом сервере AD FS, который является членом фермы.
Шаг 4. Включение бита комплексной проверки подлинности в атрибуте msDS-SupportedEncryptionTypes
- Включите составную проверку подлинности в атрибуте msDS-SupportedEncryptionTypes в учетной записи, назначенной для запуска службы AD FS, с помощью командлета Set-ADServiceAccount Set-ADServiceAccount PowerShell.
Примечание.
При изменении учетной записи службы необходимо вручную включить составную проверку подлинности, выполнив командлеты Set-ADUser -compoundIdentitySupported:$true Windows PowerShell.
Set-ADServiceAccount -Identity “ADFS Service Account” -CompoundIdentitySupported:$true
- Перезапустите службу AD FS.
Примечание.
После того как параметру CompoundIdentitySupported задано значение true, установка той же gMSA на новых серверах (2012R2/2016) завершается ошибкой ниже— Install-ADServiceAccount: не удается установить учетную запись службы. Сообщение об ошибке: "Предоставленный контекст не соответствовал целевому объекту"..
Решение: временно установите параметр CompoundIdentitySupported на $false. Этот шаг приводит к остановке выдачи утверждений WindowsDeviceGroup AD FS. Set-ADServiceAccount -Identity "Учетная запись службы ADFS" -CompoundIdentitySupported:$false установите gMSA на новом сервере, а затем включите CompoundIdentitySupported обратно в $True. Отключение CompoundIdentitySupported, а затем повторное развертывание не требует перезапуска службы AD FS.
Шаг 5. Обновление доверия поставщика утверждений AD FS для Active Directory
- Обновите доверие поставщика утверждений AD FS для Active Directory, чтобы включить следующее правило утверждений «сквозной передачи» для утверждения WindowsDeviceGroup.
- В AD FS управлениящелкните Доверенные отношения поставщиков утверждений, и в правой области щелкните правой кнопкой мыши Active Directory и выберите Редактировать правила утверждений.
- На странице Изменить правила заявок для Active Directory щелкните Добавить правило.
- В мастере добавления правила утверждения преобразования выберите Пропустить или отфильтровать входящее утверждение и нажмите Далее.
- Добавьте отображаемое имя и выберите группу устройств Windows из раскрывающегося списка типа входящего утверждения.
- Нажмите кнопку Готово. Нажмите кнопку Применить и ОК.
Шаг 6. На доверяющей стороне, где ожидаются утверждения 'WindowsDeviceGroup', добавьте аналогичное правило утверждения типа 'Pass-through' или 'Transform'.
- В диспетчере AD FSщелкните Доверительные отношения проверяющей стороны и в области справа щелкните правой кнопкой мыши RP и выберите Изменить правила утверждений.
- В Правила Преобразования Выдачи щелкните Добавить Правило.
- В мастере добавления правила утверждения преобразования выберите пропустить или отфильтровать входящее утверждение и нажмите Далее.
- Добавьте отображаемое имя и выберите группу устройств Windows из раскрывающегося списка типа входящего требования.
- Нажмите кнопку Готово. Нажмите кнопку Применить и Ok.
Ратификация
Чтобы проверить выпуск утверждений 'WindowsDeviceGroup', создайте тестовое приложение с поддержкой утверждений на платформе .NET 4.6. С SDK WIF 4.0.
Настройте приложение как проверяющую сторону в AD FS и обновите его с помощью правила утверждения, как указано в шагах выше.
При проверке подлинности в приложении с помощью поставщика встроенной проверки подлинности Windows AD FS создаются следующие утверждения.
Права доступа для компьютера или устройства теперь могут использоваться для более продвинутого управления доступом.
Например, следующие AdditionalAuthenticationRules сообщают, что AD FS вызывает MFA, если пользователь, выполняющий проверку подлинности, не является членом группы безопасности "-1-5-21-2134745077-1211275016-3050530490-1117" и компьютер (с которого пользователь выполняет проверку подлинности) не входит в группу безопасности "S-1-5-21-2134745077-1211275016-3050530490-1115 (WindowsDeviceGroup)".
Однако если выполняются какие-либо из указанных выше условий, не используйте многофакторную аутентификацию (MFA).
'NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsdevicegroup", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1115"])
&& NOT EXISTS([Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value =~ "S-1-5-21-2134745077-1211275016-3050530490-1117"])
=> issue(Type = "https://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod", Value = "https://schemas.microsoft.com/claims/multipleauthn");'