Когда клиенты запрашивают доступ к опубликованным внутренним веб-серверам, процесс проверки подлинности в Forefront TMG осуществляется в три этапа:

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

Этап 1. Получение учетных данных клиента. Клиент направляет запрос на подключение к корпоративному серверу Outlook Web Access во Внутренней сети. Клиент предоставляет учетные данные в формате HTML.

Этапы 2 и 3. Пересылка учетных данных. Forefront TMG пересылает учетные данные службе проверки подлинности, например контроллеру домена для проверки подлинности Active Directory или RADIUS-серверу, и получает от нее подтверждение, что пользователь прошел проверку.

Этап 4. Делегирование проверки подлинности. Forefront TMG пересылает запрос клиента на сервер Outlook Web Access, который выполняет проверку подлинности, используя учетные данные клиента. Сервер веб-клиента Outlook проводит повторную проверку учетных данных, обычно с помощью той же службы проверки подлинности.

Примечание.
Веб-сервер должен быть настроен на использование схемы проверки подлинности, которая соответствует методу делегирования, используемому Forefront TMG.

Этап 5. Ответ от сервера. Сервер Outlook Web Access отправляет клиенту ответ, который перехватывается Forefront TMG.

Этап 6. Пересылка ответа. Forefront TMG пересылает ответ клиенту.

Примечание.
  • Если доступ разрешен не только прошедшим проверку подлинности пользователям, например, в случае применения правила, разрешающего доступ всем пользователям, Forefront TMG не проверяет учетные данные пользователя. Forefront TMG использует учетные данные пользователя для проверки подлинности на веб-сервере в соответствии с настроенным методом делегирования.

  • Рекомендуется применять каждое правило публикации ко всем прошедшим проверку подлинности пользователям или определенным наборам пользователей вместо использования параметра Требовать проверки подлинности всех пользователей на веб-прослушивателе, в соответствии с которым любой пользователь, подключающийся через данный прослушиватель, должен проходить проверку подлинности.

Методы проверки подлинности клиента для получения его учетных данных

Веб-прослушиватели Forefront TMG позволяют выполнять следующие типы проверки подлинности клиентов:

  • Без проверки.

  • Проверка подлинности на основе форм

  • Проверка подлинности HTTP (данные передаются в заголовке протокола HTTP)

  • Проверка подлинности сертификата клиента

Без проверки

Можно выбрать вариант без проверки подлинности компонентом Forefront TMG. При этом становится невозможной настройка метода делегирования для правил, использующих данный веб-прослушиватель.

Проверка подлинности на основе форм

Для публикации любых веб-серверов в Forefront TMG можно использовать проверку подлинности на основе форм. В Forefront TMG доступны три типа проверки подлинности на основе форм:

  • Форма для ввода пароля. В эту форму вводятся имя пользователя и пароль. Этот тип учетных данных необходим для проверки подлинности с помощью доменных служб Active Directory, LDAP и RADIUS.

  • Форма для ввода секретного кода. В эту форму вводятся имя пользователя и секретный код. Этот тип учетных данных необходим для проверки одноразовых паролей методами SecurID и RADIUS.

  • Форма для ввода секретного кода и пароля. В эту форму вводятся имя пользователя и секретный код, а также имя пользователя и пароль. Имя пользователя и секретный код используются для проверки подлинности на сервере Forefront TMG с помощью методов SecurID или одноразового пароля RADIUS. а имя пользователя и пароль применяются для делегирования.

Откат к обычной проверке подлинности

По умолчанию, если для некоторого клиента нельзя использовать проверку подлинности на основе форм, Forefront TMG требует использовать обычную проверку подлинности. Этот параметр настраивается с помощью COM-объекта Forefront TMG, входящего в коллекцию сопоставлений агента пользователя:

FPCRuleElements.UserAgentMappings

Дополнительные сведения см. в статье Управление сопоставлениями агента пользователя (http://go.microsoft.com/fwlink/?LinkId=106693) (возможно, на английском языке).

Формы для мобильных клиентов

В Forefront TMG имеются формы для различных мобильных клиентов. Эти формы хранятся в папках CHTML и XHTML (формы XHTML-MP), которые расположены в следующей папке:

Каталог установки Forefront TMG\Templates\CookieAuthTemplates

Чтобы определить требуемый тип формы, Forefront TMG использует заголовок агента пользователя, предоставляемый мобильным клиентом.

Управление паролями при проверке подлинности на основе форм

При использовании проверки подлинности на основе форм Forefront TMG позволяет предупреждать пользователей об окончании сроков действия паролей (через настраиваемое число дней), что позволяет пользователям своевременно изменять пароли. Эти функции могут использоваться по отдельности или в сочетании. Например, можно предупреждать пользователей о том, что срок действия паролей истекает, но не позволять им менять пароли. Либо можно разрешить смену паролей, но не выводить предупреждение об истечении срока их действия.

Если пользователям разрешена смена паролей, она производится на форме входа. Если в Forefront TMG настроены предупреждения об окончании сроков действия паролей, выводится отдельная страница с предупреждением, на которой пользователи могут изменить свои пароли. Инструкции по настройке функции смены пароля см. в разделе Настройка функции смены пароля.

Примечание.
  • HTML-формы, используемые для проверки подлинности на основе форм, являются полностью настраиваемыми.

  • Если компонент Forefront TMG настроен на требование проверки подлинности, а правило публикации при этом применяется к определенному набору пользователей или категории Все прошедшие проверку пользователи, либо если в веб-прослушивателе выбран параметр Требовать проверки подлинности всех пользователей, компонент Forefront TMG проверяет учетные данные перед пересылкой запроса.

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

Обратите внимание на следующие проблемы безопасности.
  • При настройке времени ожидания для проверки подлинности на основе форм рекомендуется, чтобы значение этого периода было меньше, чем установлено опубликованным сервером. Если на опубликованном сервере истекло время ожидания работу раньше, чем на компьютере Forefront TMG, пользователь может ошибочно предположить, что сеанс завершен. Злоумышленники могут использовать данный сеанс, поскольку он остается открытым до тех пор, пока пользователь не закроет его либо не истечет время ожидания на компьютере Forefront TMG, заданное в параметре формы.

  • Прежде чем опубликовать веб-приложение с помощью Forefront TMG, следует убедиться, что оно защищено от атак "session riding" (также известных как "cross-site-posting", "cross-site-request-forgery" и "атака с приманкой"). Это особенно важно в случае публикации веб-серверов через Forefront TMG, поскольку для доступа к любым веб-сайтам через публикующий межсетевой экран Forefront TMG клиенты должны использовать одинаковый уровень доверия.

  • В сценарии проверки подлинности на основе форм, если требуется сертификат клиента, а пользователь отказывается его предоставить, он может получить доступ к форме входа. Однако затем Forefront TMG запретит вход из-за отсутствия сертификата клиента.

  • Настройка форм производится путем изменения файла Strings.txt. Если файл Strings.txt предоставляется для изменений третьей стороне, необходимо проверить, что к файлу не были добавлены нетекстовые данные, поскольку они могут послужить средством для проведения атак на сети.

Проверка подлинности HTTP

Forefront TMG поддерживает следующие типы проверки подлинности HTTP:

  • Обычная проверка подлинности. Клиент, направивший запрос, должен ввести учетные данные. Forefront TMG проверяет учетные данные и использует их при передаче запроса веб-серверу для проверки подлинности на нем в соответствии с заданным методом делегирования. Веб-сервер должен быть настроен на использование схемы проверки подлинности, которая соответствует методу делегирования, используемому Forefront TMG. Дополнительные сведения об обычной проверке подлинности см. в разделе Методы проверки подлинности.

  • Дайджест-проверка подлинности и W-дайджест-проверка подлинности . При использовании дайджест-проверки подлинности и W-дайджест-проверки подлинности клиент выполняет запрос. Forefront TMG отклоняет запрос и запрашивает у клиента данные для проверки подлинности. Учетные данные пересылаются контроллеру домена на проверку. Дополнительные сведения см. в разделе Методы проверки подлинности.

  • Встроенная проверка подлинности Windows (NTLM). Использует механизмы проверки подлинности NTLM, Kerberos и Negotiate. Для проверки подлинности используются текущая информация Windows на клиентском компьютере. Если проверку подлинности пройти не удается, веб-обозреватель выдает пользователю запрос до тех пор, пока не будут введены верные учетные данные или не будет закрыто диалоговое окно. Дополнительные сведения об этом методе проверке подлинности см. в разделе Методы проверки подлинности.

Проверка подлинности сертификата клиента

В случае использования сертификата клиента Forefront TMG проводит проверку подлинности клиента на основе предоставленного им сертификата. Это может быть сертификат на смарт-карте или сертификат, используемый мобильным устройством для подключения к Microsoft ActiveSync.

Методы проверки учетных данных клиента

Forefront TMG поддерживает следующие типы серверов для проверки учетных данных клиента.

  • Без проверки (проверка подлинности может производиться внутренними серверами)

  • Служба Windows Active Directory

  • LDAP-сервер

  • RADIUS

  • Одноразовый пароль RADIUS

  • SecurID

Способ получения и проверки учетных данных клиента можно настроить в параметрах веб-прослушивателя, используемого в правиле публикации. Правило публикации с веб-прослушивателем, настроенным на определенный метод проверки учетных данных, должно применяться к набору пользователей, допускающим использование данного метода. Например, правило публикации с веб-прослушивателем, настроенным на проверку учетных данных LDAP, должно применяться к набору пользователей, состоящему из пользователей LDAP. Этот набор не должен включать пользователей доменных служб Active Directory.

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

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

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

  • Без делегирования, клиент не может выполнять проверку подлинности напрямую

  • Без делегирования, но клиент может выполнять проверку подлинности напрямую

  • Обычный

  • NTLM

  • NTLM/Kerberos (Negotiate)

  • SecurID

  • Ограниченное делегирование Kerberos

Настройка делегирования проверки подлинности

Делегирование учетных данных клиента настраивается в правиле публикации. При запуске мастера создания правила публикации настройка производится на странице Делегирование проверки подлинности. В свойствах правила публикации параметры проверки подлинности находятся на вкладке Делегирование проверки подлинности.

Без делегирования, клиент не может выполнять проверку подлинности напрямую

При выборе этого параметра Forefront TMG не делегирует учетные данные. Это делается во избежание непреднамеренного делегирования учетных данных в организацию, где они могут быть перехвачены. Этот параметр является параметром по умолчанию для некоторых мастеров публикации Forefront TMG, поэтому для делегирования учетных данных необходимо изменить настройки по умолчанию.

Без делегирования, но клиент может выполнять проверку подлинности напрямую

При выборе метода делегирования Без делегирования, но клиент может выполнять проверку подлинности напрямую Forefront TMG передает учетные данные пользователя серверу назначения, не выполняя никаких дополнительных действий на Forefront TMG. После этого клиент и сервер назначения обмениваются необходимой для проверки подлинности информацией.

Обычный

При использовании обычного делегирования Forefront TMG передает учетные данные в незашифрованном виде запрашивающему серверу. Если проверка подлинности не пройдена, Forefront TMG просит пользователя пройти проверку подлинности, указанную в веб-прослушивателе. Если серверу требуются учетные данные иного типа, Forefront TMG создает оповещение.

NTLM

В случае делегирования NTLM Forefront TMG делегирует учетные данные с помощью протокола проверки подлинности NTLM с запросом и подтверждением. Если проверка подлинности не пройдена, Forefront TMG вместо делегирования использует тип проверки подлинности, настроенный в веб-прослушивателе. Если серверу требуются учетные данные иного типа, Forefront TMG создает оповещение.

NTLM/Kerberos (Negotiate)

При выборе параметра Negotiate в качестве метода делегирования Forefront TMG сперва пытается получить у контроллера домена билет Kerberos для клиента. Если компоненту Forefront TMG не удается получить билет Kerberos, для делегирования учетных данных с помощью NTLM используется схема согласования. Если Forefront TMG удается получить билет Kerberos, схема согласования используется для делегирования учетных данных с помощью Kerberos. Если проверка подлинности не пройдена, Forefront TMG передает клиенту сообщение об ошибке сервера. Если серверу требуются учетные данные иного типа, Forefront TMG создает оповещение.

Для получения билета по умолчанию используется следующее имя участника-службы: http/внутреннее_имя_сайта. В случае использования фермы серверов имя участника-службы соответствует имени фермы. Имя участника-службы по умолчанию можно изменить с помощью диспетчера Forefront TMG на вкладке Делегирование проверки подлинности правила.

Примечание.
В Microsoft Exchange Server 2003 службы IIS используют учетную запись "Сетевая служба". Forefront TMG использует шаблон SPN HTTP\* и заменяет подстановочный знак (*) именем опубликованного веб-сайта.

SecurID

Если клиент предоставляет учетные данные SecurID, можно использовать делегирование проверки подлинности SecurID. Forefront TMG передает на опубликованный сервер особый файл Cookie SecurID. Обратите внимание, что у Forefront TMG и опубликованного сервера должен совпадать секрет домена и имя файла Cookie.

Ограниченное делегирование Kerberos

Ограниченное делегирование Kerberos поддерживается, начиная с версии ISA Server 2006. Дополнительные сведения об ограниченном делегировании Kerberos см. в статье Преобразование протокола Kerberos и ограниченное делегирование (http://go.microsoft.com/fwlink/?LinkID=56785&clcid=0x409) (возможно, на английском языке).

При использовании других типов делегирования Forefront TMG может делегировать учетные данные только в том случае, если учетные данные клиента получены с помощью обычной проверки подлинности или проверки подлинности на основе форм. Благодаря ограниченному делегированию Kerberos Forefront TMG может принимать от клиентов другие типы учетных данных, например сертификаты клиентов. Для использования ограниченного делегирования Kerberos (ограниченного в отношении использования определенного имени участника-службы) Forefront TMG должен быть включен на контроллере домена.

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

Примечание.
  • Для использования ограниченного делегирования Kerberos необходимо настроить доменные службы Active Directory, чтобы Forefront TMG считался доверенным сервером делегирования.

  • По умолчанию имя участника-службы для получения билета - http/internalsitename. В случае использования фермы серверов имя участника-службы соответствует имени фермы. Имя участника-службы по умолчанию можно изменить с помощью консоли управления Forefront TMG на вкладке Делегирование проверки подлинности правила.

  • Для использования ограниченного делегирования Kerberos необходим режим работы домена Windows Server 2003 или более высокий режим.

  • Проверка подлинности Kerberos выполняется с помощью UDP-пакетов. Они часто фрагментируются. Если Forefront TMG находится в домене и включено блокирование IP-фрагментов, проверка подлинности Kerberos будет завершаться с ошибкой. Например, если компьютер использует протокол Kerberos для проверки подлинности при выполнении входа пользователя в систему, вход выполнить не удастся. При использовании проверки подлинности Kerberos не рекомендуется включать блокирование пакетов, содержащих IP-фрагменты.

  • SharePoint Portal Server 2003 по умолчанию отключает протокол Kerberos, поэтому при публикации SharePoint использование ограниченного делегирования Kerberos и NTLM/Kerberos (Negotiate) невозможно. Чтобы включить протокол Kerberos, следуйте инструкциям, приведенным в статье Как настроить виртуальный сервер Windows SharePoint Services на использование проверки подлинности Kerberos и как переключить проверку подлинности Kerberos обратно на NTLM (http://go.microsoft.com/fwlink/?LinkId=160327) (возможно, на английском языке).

  • В Microsoft Exchange Server 2003 службы IIS используют учетную запись "Сетевая служба". Forefront TMG использует шаблон SPN HTTP\* и заменяет подстановочный символ (*) именем опубликованного веб-сайта.

Допустимые сочетания учетных данных клиента и методов делегирования

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

Получение учетных данных клиента Служба проверки подлинности Делегирование

Проверка подлинности на основе форм (только пароль)

Обычный

Доменные службы Active Directory (Windows)

Доменные службы Active Directory

LDAP

RADIUS

Без делегирования, но клиент может выполнять проверку подлинности напрямую

Без делегирования, клиент не может выполнять проверку подлинности напрямую

Обычный

NTLM

Согласование

Ограниченное делегирование Kerberos

Дайджест

Встроенная

Доменные службы Active Directory (Windows)

Без делегирования, но клиент может выполнять проверку подлинности напрямую

Без делегирования, клиент не может выполнять проверку подлинности напрямую

Ограниченное делегирование Kerberos

Проверка подлинности на основе форм с секретным кодом

SecurID

Одноразовый пароль RADIUS

Без делегирования, но клиент может выполнять проверку подлинности напрямую

Без делегирования, клиент не может выполнять проверку подлинности напрямую

SecurID

Ограниченное делегирование Kerberos

Проверка подлинности на основе форм (секретный код и пароль)

SecurID

Одноразовый пароль RADIUS

Без делегирования, но клиент может выполнять проверку подлинности напрямую

Без делегирования, клиент не может выполнять проверку подлинности напрямую

Обычный

NTLM

Согласование

SecurID (без одноразового пароля протокола RADIUS)

Сертификат клиента

Доменные службы Active Directory (Windows)

Без делегирования, но клиент может выполнять проверку подлинности напрямую

Без делегирования, клиент не может выполнять проверку подлинности напрямую

Ограниченное делегирование Kerberos

См. также