Team Foundation Server, проверка подлинности и доступ
Чтобы защитить соединения между пользователями и развертыванием Visual Studio Team Foundation Server, развертывание можно соответствующим образом настроить.Team Foundation Server (TFS) поддерживает обычную и дайджест-аутентификацию, а также сертификаты.Поэтому в развертывании TFS можно настроить использование протокола HTTPS с SSL, а также обычную или дайджест-аутентификацию.Если принять этот подход, пользователи смогут более безопасным образом подключаться к развертыванию без необходимости использовать виртуальную частную сеть (VPN).
Конфигурации
Для поддержки более безопасных внешних подключений к развертыванию Team Foundation Server необходимо настроить службы IIS, включив обычную проверку подлинности, дайджест-проверку подлинности или оба этих метода.Кроме того, необходимо настроить все внешние подключения таким образом, чтобы для них требовались сертификаты.
Обычная и дайджест-проверка подлинности
Обычная проверка подлинности является частью спецификации HTTP 1.0, и для нее используются учетные записи пользователей Windows.При обычной проверке подлинности браузер запрашивает имя пользователя и пароль, а затем передает эти сведения по протоколу HTTP, используя кодировку Base64.По умолчанию для обычной проверки подлинности необходимо, чтобы учетная запись пользователя Windows имела локальные права входа на веб-сервере.Обычную проверку подлинности можно использовать как в развертывании в рабочей группе, так и в домене.Несмотря на поддержку основной проверки подлинности большинством браузеров, веб-серверов и прокси серверов, она не является безопасной.Поскольку данные, кодируемые с помощью Base64, легко расшифровать, при обычной проверке подлинности пароль передается в виде открытого текста.Наблюдая за обменом данными по сети, злоумышленник может легко перехватить и расшифровать эти пароли, используя общедоступные средства.Чтобы повысить уровень безопасности, необходимо рассмотреть возможность использования протокола HTTPS с SSL.
Дайджест-проверка подлинности является механизмом запроса-ответа, при котором вместо пароля через сеть передается дайджест (также называемый хэшем).При дайджест-проверке подлинности службы IIS отправляют клиентскому компьютеру запрос на создание дайджеста и отправку этого дайджеста на сервер.В качестве ответа клиентский компьютер отправляет дайджест, основанный на пароле пользователя, а также данные, известные клиентскому компьютеру и серверу.Сервер поступает так же, создавая собственный дайджест с информацией о пользователе из Active Directory.Службы IIS подтверждают подлинность клиента, только если созданный сервером дайджест совпадает с дайджестом, созданным клиентом.Дайджест-проверка подлинности используется только при развертывании с Active Directory.Сама по себе дайджест-проверка подлинности является лишь незначительным усовершенствованием по сравнению с основной проверкой подлинности.Злоумышленник может легко записать обмен информацией между клиентом и сервером и воспроизвести транзакцию на основе этой информации.Кроме того, дайджест-проверка подлинности зависит от протокола HTTP 1.1, которые поддерживается не всеми веб-браузерами.Более этого, попытки обращения к Team Foundation Server будут заканчиваться неудачей, если неверно настроить дайджест-проверку подлинности.Не выбирайте дайджест-проверку подлинности, если только развертывание не соответствует всем требованиям для этого режима.Дополнительные сведения см. на следующей странице веб-сайта Microsoft (Настройка Digest Authentication (IIS 7.0)).
Протоколы аутентификации
По умолчанию Team Foundation Server использует протокол аутентификации Windows вызов-отклик (NTLM).Учетные данные NTLM основаны на данных, полученных во время процесса интерактивного входа, и включают односторонний хэш пароля.
Team Foundation Server также поддерживает протокол аутентификации Microsoft Negotiate.В протоколе согласования выбирается протокол Kerberos, кроме случая, когда этот протокол не может быть использован одной из систем, участвующих в процессе аутентификации.Для этих систем, не настроенных для Kerberos, используется NTLM.Согласование является более безопасным режимом для большинства развертываний, но может потребовать выполнения дополнительных задач настройки.
Ограничения
Помимо требований домена и рабочей группы, упомянутых ранее, оба способа проверки подлинности (основная и дайджест) не могут сами по себе обеспечить достаточный уровень сетевой безопасности для внешних клиентов.Поэтому не следует настраивать в Team Foundation Server поддержку внешних клиентов, если эти подключения не используют HTTPS с SSL.
См. также
Основные понятия
Архитектура Team Foundation Server
Другие ресурсы
Securing Team Foundation Server with HTTPS and Secure Sockets Layer (SSL)