Вопрос: Что такое ADFS (службы федерации Active Directory)?


Поэтому мне сказали, что нашему PHP-приложению может потребоваться поддержка аутентификации с помощью ADFS.

  1. Что касается не-Microsoft, что такое ADFS?

  2. Как он отличается от таких вещей, как LDAP?

  3. Как это работает? Какая информация будет включена в типичный запрос на сервер ADFS? Он предназначен для аутентификации и авторизации?

  4. Доступны ли серверы ADFS из Интернета (в то время как корпоративных контроллеров домена AD не было)?


61
2017-07-27 03:04


Источник


я нашел эти  статьи а также это видео полезно предоставить обзор. - Simon East
Правильные ответы дали отличный ответ. Единственная дополнительная информация, которую я бы добавил, это то, что она может заплатить, чтобы понять Протокол WS-Federation а также Язык разметки безопасности (SAML) которые являются стандартами, которые ADFS реализует. Вот несколько видеороликов, которые я нашел полезными для понимания этих (довольно сложных) концепций. К сожалению, они содержат столько материала, что я не могу включить его здесь. ! [Эскиз видео  Понимание SAML и единого входа 101 на ютубе](youtube.com/watch?v=gUmMcecHN9s) [! [Эскиз видео] (http - Simon East
У меня также возникла проблема с пониманием ADFS. Мне было нужно объяснение с самого начала (я не человек AD). Это видео, которое включено в серию, упомянутое в комментариях здесь, было очень полезно для меня. Именно здесь должен начинаться любой новый, нулевой опыт с ADFS, а затем продолжить работу с остальными видеороликами серии. Я надеюсь, что это помогает. youtube.com/... - Mauricio Zaragoza
Извините, ребята, модератор удалил мой ответ с полезными видео и сделал комментарий выше, но теперь он сломан. Разочарование. - Simon East


Ответы:


Что касается не-Microsoft, что такое ADFS?

ADFS - это решение Microsoft для единого входа и веб-аутентификации.

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

Как он отличается от таких вещей, как LDAP?

LDAP:

  • Коммуникация с использованием TCP / UDP на порту 389 (или порт 636 для LDAPS)
  • Содержит команды для поиска / получения / добавления / удаления / изменения пользователей, профилей и других записей каталога
  • Можно не выполняется непосредственно веб-браузером, однако HTTP-аутентификация может быть переведена на LDAP с использованием таких вещей, как Apache mod_authnz_ldap,
  • При использовании для проверки подлинности сторонних сайтов требуется, чтобы имя пользователя и пароль были предоставлены сторонней стороне, что не идеально подходит для обеспечения безопасности.
  • Является более открытым стандартом и имеет множество реализаций Linux.

ADFS:

  • Лучше разработан для Интернета, поскольку он обменивается данными по стандартным HTTPS
  • Выполняет более безопасный процесс, аналогичный (но не точно) для OAuth, где исходное имя пользователя / пароль предоставляется непосредственно на сервере ADFS организации (или прокси, но не сторонняя сторона), которая, если она действительна, возвращает уникальный токен, который можно использовать для доступа к стороннему веб-сайту.
  • Хотя он использует некоторые открытые стандарты (HTTPS, SAML и т. Д.), Он специфичен для Microsoft и требует службы IIS, которая работает только на серверах Windows.

Смотрите также этот ответ на предмет.

Как это работает? Какая информация будет включена в типичный запрос на сервер ADFS? Он предназначен для аутентификации и авторизации?

Он работает, имея один сайт (сайт A), на котором размещаются прокси-серверы ADFS / ADFS, который имеет доступ к учетным данным (обычно путем связи с контроллером домена Active Directory). Затем ему предоставляется доверие между другими сайтами (сайты B & C), которые требуют аутентификации через ADFS.

Когда пользователь пытается получить доступ к сайту B в своем браузере, сайт перенаправляет пользователя на сайт ADFS-прокси (сайт A), который запрашивает имя пользователя и пароль, аутентифицирует их, возвращает набор файлов cookie для их запоминания и перенаправляет их обратно на сайт B вместе с токеном доступа.

Если пользователь затем попытается посетить сайт C, они также будут перенаправлены на сайт A для аутентификации с веб-сайта ADFS-proxy. Если правильные файлы cookie существуют, пользователю не потребуется снова вводить свой пароль, но сразу же перенаправляться обратно на сайт C с помощью токена.

ADFS может быть настроен с конкретными требованиями (или разрешениями) для пользователя в целях авторизации. Таким образом, он может обслуживать обе роли. (Обратите внимание разница между аутентификацией и авторизацией.)

Некоторые люди предпочитают не использовать его для авторизации, а вместо этого сохранить управление разрешениями на стороннем веб-сайте. Очевидным недостатком является то, что оба сайта A & B должны отслеживать учетные записи пользователей, в то время как в сценарии, где ADFS обрабатывает оба, только ADFS должен знать пользователей.

Доступны ли серверы ADFS из Интернета (в то время как корпоративных контроллеров домена AD не было)?

Да, почти всегда. ADFS основан на понятии, что он будет в основном использоваться для аутентификации веб-сайта. И построен вокруг IIS.

Сайт ADFS-прокси - это тот, который обычно доступен из Интернета. Однако сама ADFS - нет. ADFS обычно является отдельным сервером из ADFS-прокси.

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

77
2017-07-27 07:26



Чтобы уточнить: Прокси-сервер ADFS должен работать в IIS (Windows). Тем не менее, клиентские сайты (B & C) могут запускать любую ОС и веб-сервер, включая Linux. - Olli
Очень полезно, просто создал учетную запись для этого. - Juan