При запросе клиентами доступа к опубликованным внутренним ресурсам проверка подлинности в Шлюз Microsoft Forefront Threat Management осуществляется в три этапа.
- Получение учетных данных клиента.
- Проверка учетных данных клиента с помощью службы проверки
подлинности, например Active Directory, RADIUS или диспетчера
проверки подлинности SecurID.
- Делегирование проверки подлинности веб-серверам, расположенным
за Forefront TMG, например серверам под управлением SharePoint
Portal Server 2003.
Примечание. Первые два этапа настраиваются в параметрах веб-прослушивателя, принимающего запросы клиентов. Третий настраивается с помощью правила публикации. Это означает возможность использования одного прослушивателя для разных правил и применения различных типов делегирования.
На следующем рисунке показана процедура проверки подлинности на основе форм. Обратите внимание, что это упрощенная схема процедуры, на которой представлены только основные ее этапы.
Этап 1. Получение учетных данных клиента. Клиент направляет запрос на подключение к корпоративному серверу веб-клиента Outlook во Внутренней сети. Клиент предоставляет учетные данные в формате HTML.
Этапы 2 и 3. Пересылка учетных данных. Forefront TMG пересылает учетные данные службе проверки подлинности, например контроллеру домена для проверки подлинности Active Directory или серверу RADIUS, и получает от нее подтверждение, что пользователь прошел проверку.
Этап 4. Делегирование проверки подлинности. Forefront TMG пересылает запрос клиента на сервер веб-клиента Outlook и проходит на нем проверку подлинности с помощью учетных данных клиента. Сервер веб-клиента Outlook проводит повторную проверку учетных данных, обычно с помощью той же службы проверки подлинности.
Примечание. |
---|
Веб-сервер должен быть настроен на использование схемы проверки подлинности, соответствующей методу делегирования, который используется Forefront TMG. |
Этап 5. Ответ от веб-сервера. Сервер веб-клиента Outlook посылает клиенту ответ, который перехватывается Forefront TMG.
Этап 6. Пересылка ответа. Forefront TMG пересылает ответ клиенту.
Примечания
- Если доступ разрешен не только прошедшим проверку подлинности
пользователям, например в случае применения правила, разрешающего
доступ всем пользователям, Forefront TMG не проверяет учетные
данные пользователя. Forefront TMG использует учетные данные
пользователя для проверки подлинности на веб-сервере в соответствии
с настроенным методом делегирования.
- Рекомендуется применять каждое правило публикации ко всем
прошедшим проверку подлинности пользователям или определенным
наборам пользователей вместо использования параметра Требовать
проверки подлинности всех пользователей на веб-прослушивателе,
в соответствии с которым любой пользователь, подключающийся через
данный прослушиватель, должен проходить проверку подлинности.
Методы проверки подлинности клиента для получения его учетных данных
Веб-прослушиватели Шлюз Microsoft Forefront Threat Management позволяют производить проверку подлинности клиента следующих типов.
- Без проверки.
- Проверка подлинности на основе форм
- Проверка подлинности 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
Дополнительные сведения см. в статье «Managing User-Agent Mappings» на веб-узле Microsoft TechNet.
Формы для мобильных клиентов
В Forefront TMG имеются формы для различных мобильных клиентов. Эти формы хранятся в папках CHTML и XHTML (формы XHTML-MP), которые расположены в следующем месте:
Forefront TMG Installation Directory\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. Дополнительные сведения об
обычной проверке подлинности см. в разделе Методы проверки
подлинности.
- Проверка подлинности Digest и WDigest - пользователь
производит запрос. 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 не делегирует учетные данные. Это делается во избежание непреднамеренного делегирования учетных данных в организацию, где они могут быть перехвачены. Этот параметр является параметром по умолчанию для некоторых мастеров публикации Шлюз Microsoft Forefront Threat Management, поэтому для делегирования учетных данных необходимо изменить настройки по умолчанию.
Без делегирования, но клиент может выполнять проверку подлинности напрямую
При выборе метода делегирования Без делегирования, но клиент может выполнять проверку подлинности напрямую 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.
По умолчанию имя участника-службы (SPN) для получения билета - http/internalsitename. В случае использования фермы серверов имя участника-службы соответствует имени фермы. Имя участника-службы по умолчанию можно изменить с помощью диспетчера Forefront TMG на вкладке Делегирование проверки подлинности правила.
Примечание. |
---|
В Microsoft Exchange Server 2003 службы IIS используют учетную запись «Сетевая служба». Forefront TMG использует шаблон SPN HTTP\* и заменяет подстановочный символ (*) именем опубликованного веб-узла. |
SecurID
Если клиент предоставляет учетные данные SecurID, можно использовать делегирование проверки подлинности SecurID. Forefront TMG передает специальный файл cookie SecurID опубликованному серверу. Обратите внимание, что секрет домена и имя файла cookie для сервера Forefront TMG и опубликованного сервера должны совпадать.
Ограниченное делегирование Kerberos
Ограниченное делегирование Kerberos поддерживается, начиная с версии ISA Server 2006. Дополнительные сведения об ограниченном делегировании Kerberos см. в разделе Смена протокола и ограниченное делегирование Kerberos.
При использовании других типов делегирования 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, следуйте инструкциям
на веб-узле Майкрософт .
- В 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 |