Team Foundation Server, базовая проверка подлинности и дайджест-проверка подлинности
Обновлен: Ноябрь 2007
Visual Studio 2008 поддерживает простую и дайджест-проверки подлинностей. Настроив развертывание Team Foundation Server для использования HTTPS с SSL и базовой или дайджест-проверкой подлинности, можно осуществлять поддержку внешних подключений к Team Foundation Server без необходимости использовать подключение частной виртуальной сети.
Конфигурации
Для поддержки внешних подключений к развертываниям Team Foundation Server необходимо настроить службы IIS, чтобы включить обычную проверку подлинности и/или дайджест-проверку подлинности. Кроме того, необходимо настроить фильтр ISAPI. Фильтры ISAPI представляют собой файлы DLL, которые могут использоваться для модификации и улучшения производительности IIS. Фильтры ISAPI всегда запускаются на сервере, на котором выполняется IIS. Следует настроить фильтр ISAPI, который является частью SP1, используя IP-адреса прокси веб-серверов или/и клиенты, необходимые для обычной и дайджест-проверки подлинности.
Обычная и дайджест-проверки подлинности
Обычная проверка подлинности является частью спецификации HTTP 1.0. Она использует учетные записи пользователей Windows. Во время основной проверки подлинности, обозреватель требует от пользователя ввести имя пользователя и пароль. Имя пользователя и пароль передаются через протокол HTTP с использованием кодировки Base64. По умолчанию, для основной проверки подлинности необходимо, чтобы учетная запись пользователя Windows имела локальное разрешение на сервере на вход в систему. Обычная проверка подлинности может использоваться как в развертывании рабочей группы, так и домена. Несмотря на поддержку основной проверки подлинности большинством веб-обозревателей, веб-серверов и прокси серверов, она остается ненадежной. В основном, при основной проверке подлинности пароль передается как обычный текст, поскольку данные, закодированные в Base64 легко расшифровать. Наблюдая за связями в сети, злоумышленник может легко перехватить и расшифровать эти пароли используя всем доступные средства.
Дайджест-проверка подлинности является механизмом запроса-ответа, в котором вместо пароля через сеть передается дайджест (еще известный как хэш). При дайджест-проверке подлинности, IIS отсылает компьютеру клиента запрос создать дайджест и отослать его на сервер. Клиентский компьютер пересылает дайджест из пользовательского пароля и данных, известных клиентскому компьютеру и серверу в ответ на запрос. Сервер поступает так же, создавая собственный дайджест, с информацией о пользователе из Active Directory. При совпадении дайджестов сервера и клиентского компьютера, IIS авторизует пользователя. Дайджест проверка подлинности используется только в развертывании доменов Active Directory. По сути, дайджест-проверка подлинности является незначительно улучшенной в сравнении с основной. Злоумышленник может легко записать обмен информацией между сервером и клиентским компьютером и повторить процесс. Также дайджест-проверка подлинности зависит от протокола HTTP 1.1. Не все веб-обозреватели поддерживают этот протокол. Кроме этого, следует верно настроить дайждест-проверку подлинности, в противном случае попытки доступа к Team Foundation Server закончатся неудачей. Не выбирайте дайджест-проверку подлинности, если только используемое развертывание не соответствует всем требованиям для дайджест-проверки подлинности. Дополнительные сведения о дайджест-проверке подлинности см. на веб-узле Майкрософт (https://go.microsoft.com/fwlink/?LinkID=89709h).
Ограничения
Помимо требований домена и рабочей группы, упомянутых ранее, обе проверки подлинности не могут предоставить достаточный уровень сетевой безопасности для внешних клиентских компьютеров. Таким образом, не следует настраивать Team Foundation Server для поддержки внешних клиентских компьютеров, если эти соединения не используют HTTPS с SSL.
Конфигурация фильтра ISAPI
Фильтр ISAPI можно настроить для введения правил для любого набора IP-адресов. В то время, как большинство администраторов в первую очередь занимаются настройкой правил фильтров ISAPI для внешних IP–адресов, также можно настроить правила для внутренних адресов. Любой IP-адрес, настроенный в правилах фильтра ISAPI должен следовать правилам, указанным в фильтре. В зависимости от настройки RequireSecurePort, адреса не указанные в фильтре могут не иметь права подключения к Team Foundation Server.
Фильтр ISAPI использует файл AuthenticationFilter.ini для настроек конфигурации. Следует внести в этот файл настройки, соответствующие используемому развертыванию. Файл может использовать следующие ключи и значения:
Ключ |
Поддерживаемые значения |
---|---|
RequireSecurePort |
True False |
ProxyIPList |
IPaddress (может содержать несколько адресов через точку с запятой) |
SubnetList |
IPaddress/subnetmask (может содержать несколько адресов через запятую) |
[config] |
Раздел верхнего колонтитула файла фильтра ISAPI |
Ключи определены так:
RequireSecurePort Если установить RequireSecurePort как True, все подключения должны использовать HTTPS/SSL, а также основную или дайждест-проверку подлинности, кроме тех случаев, когда адреса в подключении указаны в SubnetList. Если установить RequireSecurePort как False, все подключения с адресами, указанными в ProxyIPList должны будут использовать HTTPS/SSL, а также основную или дайждест-проверку подлинности.
ProxyIPList Это IP-адрес или адреса для которых следует задействовать основную или дайджест-проверку подлинности. Самый простой способ понять этот ключ – это воспринимать его как «Запрашивать только основную или дайджест-проверку подлинности для этих адресов.» Адреса, указанные для данного ключа, должны будут использовать основную или дайджест-проверку подлинности и HTTPS/SSL. Этот ключ имеет приоритет над SubnetList; если присутствует ключ ProxyIPList, ключ SubnetList и его значения игнорируются.
SubnetList SubnetList является IP-адресами или парой/парами маски подсети, для которых не следует использовать базовую или дайджест-проверку подлинности. Самый простой способ понять этот ключ – это воспринимать его как «Запрашивать только основную или дайджест-проверку подлинности для всех адресов кроме указанных.» Адреса, указанные для данного ключа, не должны будут использовать основную или дайджест-проверку подлинности и HTTPS/SSL. Любые адреса, не указанные для данного ключа, должны будут использовать основную или дайджест-проверку подлинности. Если ключ ProxyIPList присутствует в фильтре ISAPI, ключ SubnetList и его значения игнорируются.