Настройка использования HTTPS с SSL для Team Foundation Server
Чтобы повысить безопасность развертывания Visual Studio Team Foundation Server (TFS), можно настроить службы, обеспечивающие использование протокола HTTPS с SSL.Можно настроить развертывание так, чтобы обеспечить его максимальную безопасность, то есть с требованием этого протокола, либо обеспечить поддержку HTTPS с SSL в дополнение к протоколу по умолчанию, HTTP.Перед выбором конфигурации тщательно изучите преимущества и недостатки каждого из этих подходов, описанные в данном разделе.Определив конфигурацию, максимально соответствующую потребностям организации в области безопасности, можно выполнять описанные в данном разделе шаги по настройке развертывания.
Содержание раздела
Концептуальные сведения
Преимущества поддержки HTTPS с SSL в дополнение к HTTP
Преимущества требования HTTPS с SSL для всех подключений
Недостатки поддержки или требования HTTPS с SSL
Предварительные требования
Допущения
Конфигурация сервера
Получение сертификата
Запрос сертификата
Установка и назначение сертификата
Настройка брандмауэра
Настройка службы отчетов SQL Server
Настройка развертывания на поддержку HTTPS с SSL в дополнение к HTTP
Необязательные задачи настройки
Проверка доступа к развертыванию (необязательно)
Настройка развертывания на требование HTTPS с SSL (необязательно)
Конфигурация построения
Установка сертификата на серверах построения
Обновление конфигурации построения
Конфигурация клиента
- Настройка клиентских компьютеров
Преимущества поддержки HTTPS с SSL в дополнение к HTTP
Если развертывание TFS настроено на поддержку обоих протоколов, пользователи, чьи компьютеры настроены на использование HTTPS с SSL, будут подключаться с использованием этого протокола, что делает развернутую систему более безопасной.Кроме того, пользователи, чьи компьютеры настроены на поддержку только протокола HTTP, по-прежнему могут подключаться к развернутой системе.Хотя подобная конфигурация не подходит для общедоступных сетей, продолжая поддерживать HTTP-подключения в контролируемой сетевой среде, вы получаете следующие преимущества:
Со временем можно повысить безопасность развертывания, настраивая клиентские компьютеры на поддержку HTTPS с SSL в удобном темпе.Поэтапный подход устраняет необходимость одновременного обновления всех компьютеров, а пользователи, чьи компьютеры еще не были обновлены, могут по-прежнему подключаться к развернутой системе.
Это облегчает настройку и обслуживание Team Foundation Server.
Вызовы одной веб-службы другой быстрее пересылаются по протоколу HTTP, чем по протоколу HTTPS с SSL.Следовательно, на клиентских компьютерах, на которых производительность важнее безопасности, можно продолжать поддерживать подключения HTTP.
Преимущества требования HTTPS с SSL для всех подключений
Требование протокола HTTPS с SSL для всех подключений обеспечивает следующие преимущества:
Все веб-подключения между уровнем приложений, уровнем данных и клиентским уровнем Team Foundation являются более безопасными, поскольку требуют сертификаты.
Этот подход облегчает контроль доступа, потому что можно настроить истечение срока действия сертификатов в соответствии с ожидаемой датой окончания фазы проекта.
Недостатки поддержки или требования HTTPS с SSL
Перед настройкой TFS на поддержку или запрос HTTPS с SSL необходимо проанализировать и учесть следующие недостатки:
Возможно, усложнятся текущие административные задачи.Например, возможно, придется изменить конфигурацию развернутой системы, прекратив поддержку HTTPS с SSL перед применением пакетов обновлений или других обновлений.
Необходимо не только настраивать центры сертификации и доверия сертификатов, но и управлять ими.Можно использовать службы сертификации в Windows Server 2003 и Windows Server 2008, но может быть нежелательно вкладывать время и ресурсы в развертывание инфраструктуры защищенных открытых ключей (PKI).
Необходимо тратить много времени на настройку и тестирование любой из этих конфигураций, что усложняет устранение неполадок в развертывании.
Если поддерживать оба протокола и далее, внешние подключения могут оставаться нешифрованными, если уровень приложений в Team Foundation не защищен должным образом.
Требование HTTPS с SSL ухудшает производительность развертывания.
Настройка развертывания для поддержки или требования HTTPS с SSL (необязательно)
Процедуры в данном разделе описывают единый процесс запроса, выдачи и назначения сертификатов, необходимых для SSL-подключений в Team Foundation Server.Если используются отличные от описанных в данном разделе решения, возможно, потребуется выполнить другие шаги.Для поддержки внешних подключений к развертыванию TFS необходимо также включить базовую аутентификацию, дайджест-аутентификацию или обе аутентификации в службах IIS.
В данном разделе приводятся инструкции по решению следующих задач:
Получение сертификатов для развертывания Team Foundation Server и используемых сервером веб-сайтов.
Установка и назначение сертификатов.
Настройка Team Foundation Server.
Настройка Team Foundation Build.
Настройка клиентских компьютеров.
Предварительные требования
Для выполнения описанных в этом разделе процедур необходимо удовлетворить следующие требования:
Необходимо установить и обеспечить функционирование логических компонентов на уровне данных и уровне приложений Team Foundation.Если развертывание включает эти компоненты, речь идет о следующих уровнях: IIS, SQL Server, Продукты SharePoint, Team Foundation Build и службы отчетов SQL Server.Процедуры, описанные в данном разделе, относятся к серверу или серверам, выполняющим логические компоненты на уровне приложений для Team Foundation в качестве сервера уровня приложений для Team Foundation.Процедуры, описанные в данном разделе, относятся к серверу или серверам, выполняющим логические компоненты на уровне данных для Team Foundation в качестве сервера уровня данных для Team Foundation.Уровни приложений и данных могут существовать на одном или разных серверах.Дополнительные сведения см. в разделе Установка Team Foundation Server и Visual Studio ALM.
Необходимо наличие центра сертификации, способного выпускать сертификаты.В данном разделе имеется в виду, что в качестве центра сертификации используются службы сертификации, но на практике можно использовать любой центр сертификации, настроенный для имеющегося развертывания.При отсутствии центра сертификации можно установить и настроить службы сертификации.Дополнительные сведения см. в одном из следующих документов на веб-сайте Майкрософт:
Windows Server 2003: Службы сертификации
Windows Server 2008: Active Directory Certificate Services and Public Key Management
Необходимые разрешения
Для выполнения этих процедур необходимо входить в состав группы Администраторы Team Foundation и группы Администраторы на сервере или серверах уровня приложений и уровня данных в Team Foundation.Для настройки сервера построений необходимо входить в состав группы Администраторы на этом сервере.Если в развертывании используется Продукты SharePoint, необходимо входить в состав группы Администраторы на сервере, на котором размещен Центр администрирования SharePoint.Кроме того, необходимо входить в состав группы Администраторы фермы.Дополнительные сведения о разрешениях см. в разделе Разрешения Team Foundation Server.
Допущения
Процедуры в данном разделе описаны исходя из того, что соблюдаются следующие условия:
Сервер или серверы уровня данных и уровня приложений установлены и развернуты в безопасной среде и настроены в соответствии с рекомендациями безопасности.
Пользователь знаком с настройкой инфраструктуры открытого ключа и управлением этой инфраструктурой, а также с процедурами запроса, выпуска и назначения сертификатов.Дополнительные сведения см. на следующей странице веб-сайта Майкрософт: Инфраструктура открытого ключа.
Пользователь понимает принципы функционирования топологии сети в среде разработки и знаком с настройкой параметров сети, IIS и SQL Server.
Получение сертификата
Перед настройкой TFS на использование HTTPS с SSL необходимо получить и установить сертификат сервера для серверов в развертывании.Чтобы получить сертификат сервера, необходимо установить и настроить собственный центр сертификации или использовать центр сертификации из доверенной внешней организации.
Дополнительные сведения об установке центра сертификации см. в следующих разделах на веб-сайте Майкрософт:
Windows Server 2003: Службы сертификации
Windows Server 2008: Active Directory Certificate Services and Public Key Management
Запрос сертификата
После регистрации в списке центра сертификации необходимо либо запросить сертификат с помощью диспетчера служб IIS, либо вручную установить сертификат на каждом из следующих серверов развертывания:
Каждый сервер уровня приложений.
Каждый сервер под управлением прокси-сервера Team Foundation Server, если таковые настроены для развертывания.
Каждый сервер под управлением Служба построения Team Foundation в качестве контроллера построений или агента построения, если таковые настроены для развертывания.
Каждый сервер под управлением Продукты SharePoint, если Продукты SharePoint настроен для развертывания.
Сервер под управлением служб отчетов, если таковой настроен для развертывания.
Запрос сертификата в IIS
Выберите Пуск, выберите пункт Администрирование, а затем — Диспетчер служб IIS.
Разверните узел Веб-сайты или Сайты и перейдите к веб-сайту, для которого требуется запросить сертификат.
Например, чтобы запросить сертификат для сервера уровня приложений, необходимо перейти к серверу Team Foundation Server.Чтобы запросить сертификат для прокси-сервера, необходимо перейти к прокси-серверу Microsoft Team Foundation Server Proxy.
Выполните соответствующие инструкции для используемой версии IIS, чтобы запросить или создать сертификат сервера, соответствующий потребностям безопасности данной организации:
Если используется IIS 7.0, подготовьте сертификат сервера для IIS 7.0, задайте имя запроса, загрузите сертификат и сохраните его в надежном расположении на сервере.
Дополнительные сведения см. в разделе Настройка сертификатов сервера в IIS 7.
Установка и назначение сертификата
Прежде чем использовать SSL с TFS, необходимо установить сертификат сервера на веб-сайтах, используемых сервером TFS, например на веб-сайтах из следующего списка:
Веб-сайт по умолчанию
Team Foundation Server
Прокси-сервер Microsoft Team Foundation Server Proxy
Центр администрирования SharePoint
После установки сертификата необходимо явно привязать или назначить его каждому веб-сайту, включить методы проверки подлинности, которые требуется использовать для каждого веб-сайта, а затем настроить HTTPS для каждого веб-сайта.
В зависимости от конфигурации развертывания, возможно, потребуется установить и настроить сертификат на нескольких компьютерах.Например, развертывание может включать Team Foundation Build и Продукты SharePoint, размещенные на одном компьютере, а сервер уровня приложений — на другом.В таком случае необходимо установить и настроить сертификат сервера не только на сервере, на котором размещены Продукты SharePoint, но и на компьютерах, на которых размещены контроллер построений и агенты построения.
Установка сертификата сервера
Выполнив следующие шаги, можно установить сертификат или сертификаты сервера, которые требуется использовать для развертывания TFS.
Установка сертификата сервера на веб-сайте
На сервере, на котором размещен настраиваемый веб-сайт, выберите Пуск, выберите пункт Администрирование и выберите пункт Диспетчер служб IIS.
Выполните шаги в зависимости от используемой версии IIS:
Если используется IIS 7.0, импортируйте сертификат сервера из области Сертификаты сервера.
Дополнительные сведения см. в разделе Импорт сертификата сервера (IIS 7).
Включение методов проверки подлинности, включение HTTPS и задание сертификата для используемых развертыванием веб-сайтов
Выполнив следующие шаги, можно настроить методы проверки подлинности, которые необходимо использовать, а также включить HTTPS в IIS для используемых развертыванием веб-сайтов.Эти веб-сайты могут размещаться на разных серверах.Необходимо выполнить эти шаги для каждого веб-сайта, настроенного в предыдущей процедуре.
После настройки HTTPS можно обеспечить дополнительную защиту развертывания, удалив HTTP из списка привязок для каждого настраиваемого веб-сайта.
В зависимости от иерархии сертификатов и инфраструктуры открытого ключа необходимо также настроить службы IIS для проверки подлинности с помощью сертификатов клиента.Дополнительные сведения см. в разделе Службы сертификации и Сертификаты.
Для правильного взаимодействия с HTTPS, SSL и сертификатами развертывание Продукты SharePoint может потребовать дополнительной настройки, например альтернативных сопоставлений доступа и проверки подлинности с помощью форм.Дополнительные сведения см. в разделах What Every SharePoint Administrator Needs to Know About Alternate Access Mappings, Forms Authentication in SharePoint Products and Technologies и в разделе с описанием настройки используемой версии Продукты SharePoint:
Настройка HTTPS и задние сертификата
На сервере, на котором размещен настраиваемый веб-сайт, выберите Пуск, выберите пункт Администрирование и выберите пункт Диспетчер служб IIS.
Выполните набор шагов для используемой версии IIS:
Для развертываний с использованием IIS 7.0:
Последовательно разверните узлы имя_компьютераи Веб-сайты, откройте подменю для веб-сайта, который требуется настроить, и выберите Изменить привязки.
В диалоговом окне Привязки сайта выберите Добавить.
Откроется диалоговое окно Добавление привязки сайта.
В списке Тип выберите https.
(Необязательно.) В поле Порт введите другой номер порта.
Важно Номер порта по умолчанию для соединений SSL — 443, но необходимо присвоить уникальный номер порта для каждого из следующих сайтов: веб-сайт по умолчанию, сервер Team Foundation Server, прокси-сервер Microsoft Team Foundation Server Proxy (если используется в развертывании) и Центр администрирования SharePoint.
Необходимо записать номер порта SSL для каждого настроенного веб-сайта, потому что эти номера потребуется указывать в консоли администрирования Team Foundation.
В поле Сертификат SSL выберите импортированный сертификат и выберите ОК.
В диалоговом окне Привязки сайта выберите Закрыть.
На странице Домашняя страница настраиваемого веб-сайта откройте представление Компоненты.
В разделе IIS выберите Аутентификация.
Выберите метод аутентификации, который требуется настроить, откройте его подменю и выберите Включить, Отключить или Изменить, чтобы включить, отключить метод или выполнить его дополнительную настройку.
Настройка брандмауэра
Необходимо настроить брандмауэр так, чтобы разрешить прохождение трафика через только что заданные в IIS порты SSL.Дополнительные сведения см. в документации вашего брандмауэра.
Настройка службы отчетов SQL Server
Если в развертывании используются отчеты, необходимо настроить службы отчетов SQL Server на поддержку HTTPS с SSL и использование заданного в IIS порта для Team Foundation Server.В противном случае сервер отчетов не будет работать в развертывании надлежащим образом.Дополнительные сведения см. в разделе Настройка сервера отчетов для соединений по протоколу SSL.
Совет |
---|
Если отчеты в развертывании не используются, эту процедуру можно пропустить. |
Настройка развертывания
Выполните следующие шаги, чтобы настроить развертывание с портами HTTPS и значениями, настроенными в IIS для веб-сайтов по умолчанию и веб-сайтов Team Foundation Server.
Повторная настройка Team Foundation Server
Откройте консоль администрирования Team Foundation.
Дополнительные сведения см. в разделе Открытие консоли администрирования Team Foundation;
В разделе Team Foundation разверните имя сервера и выберите Уровень приложений.
Выберите Изменение URL-адресов в разделе Сводка уровня приложений.
Откроется окно Изменение URL-адресов.
В поле URL-адрес уведомлений введите URL-адрес HTTPS, настроенного в IIS для веб-сайта Team Foundation Server.
Например, веб-сайт был настроен на использование порта 443.В этом случае нужно ввести https://имя_сервера:443/tfs.Убедитесь, что вместо имени localhost используется полное доменное имя сервера.
Выберите Тест, а затем, если тест пройден, выберите ОК.
Чтобы потребовать HTTPS, выберите Использовать в поле URL-адрес сервера и введите URL-адрес HTTPS, настроенный для веб-сайта Team Foundation Server.
Убедитесь, что вместо имени localhost используется полное доменное имя сервера.
Выберите Тест, а затем, если тест пройден, выберите ОК.
Откройте файл web.config для Team Foundation Server в любом текстовом редакторе, таком как «Блокнот».По умолчанию этот файл расположен в следующем каталоге: %PROGRAMFILES%\Microsoft Team Foundation Server 11.0\Application Tier\Message Queue\web.config.
Удалите из файла следующие конечные точки:
<!-- An empty relative address means the endpoint will pick up the base address of the svc file -->
<endpoint address=""
binding="customBinding"
bindingConfiguration="TfsSoapBinding"
contract="Microsoft.TeamFoundation.Framework.Server.WebServices.MessageQueueWebService" />
<!-- An empty relative address means the endpoint will pick up the base address of the svc file -->
<endpoint address=""
binding="customBinding"
bindingConfiguration="TfsSoapBinding"
contract="Microsoft.TeamFoundation.Framework.Server.WebServices.MessageQueueWebService2" />
Перейдите к разделу <system.serviceModel> и добавьте следующие сопоставления протокола.
<protocolMapping>
<remove scheme="http" />
<add scheme="http" binding="customBinding" bindingConfiguration="TfsSoapBinding"/>
<add scheme="https" binding="customBinding" bindingConfiguration="TfsSoapBindingHttps"/>
</protocolMapping>
В том же разделе <system.serviceModel> добавьте следующую привязку в <customBinding>:
<binding name="TfsSoapBindingHttps">
<textMessageEncoding messageVersion="Soap12WSAddressing10" />
<httpsTransport authenticationScheme="IntegratedWindowsAuthentication" manualAddressing="true" />
</binding>
Сохраните и закройте файл.
Если в развертывании используется Продукты SharePoint, выберите Веб-приложения SharePoint в консоли администрирования.
В списке Имя раздела Веб-приложения SharePoint выберите веб-приложение и выберите Изменить.
Откроется страница Параметры веб-приложения SharePoint.
В поле URL-адрес веб-приложения замените URL-адрес значением HTTPS для данного приложения.
В поле URL-адрес Центра администрирования замените URL-адрес значением HTTPS для веб-сайта Центра администрирования.
(Не обязательно) Измените значение в поле Понятное имя, чтобы оно отражало HTTPS-адрес данного приложения.
Нажмите кнопку ОК.
Повторите предыдущие пять шагов для каждого веб-приложения SharePoint в развертывании.
Если в развертывании используются службы отчетов, выберите Отчеты в консоли администрирования.
В окне Создание отчетов выберите Изменить.
Если открывается диалоговое окно Автономный режим, выберите ОК.
Откроется окно Отчеты.
Выберите вкладку Отчеты.В поле URL-адреса для сервера отчетов введите URL-адреса HTTPS для элементов Веб-служба и Диспетчер отчетов и выберите ОК.
Проверка доступа к развертыванию (необязательно)
Можно проверить, функционируют ли внесенные изменения, как ожидается.Данный шаг не является обязательным, но его рекомендуется выполнить.
Проверка доступа к развертыванию
Откройте веб-браузер на сервере, на котором размещен уровень приложений.
В адресной строке введите URL-адрес, используемый для подключения к развертыванию с помощью Team Web Access.
Примечание Этот URL-адрес можно найти в узле уровня приложений в консоли администрирования Team Foundation.
Проверьте, можно ли получить доступ к коллекциям командных проектов и проектам из Team Web Access.
Если не удается получить доступ к развертыванию с помощью Team Web Access, проанализируйте все только что выполненные шаги и убедитесь, что все изменения конфигурации внесены правильно.
Настройка развертывания на требование HTTPS с SSL (необязательно)
Можно потребовать, чтобы во всех подключениях к развертыванию использовался протокол HTTPS с SSL.Рекомендуется принять эту дополнительную меру обеспечения безопасности, однако она не является обязательной.
Требование подключений SSL
На сервере, на котором размещен настраиваемый веб-сайт, выберите Пуск, выберите пункт Администрирование и выберите пункт Диспетчер служб IIS.
Выполните следующие шаги в зависимости от используемой версии IIS:
Для развертываний с использованием IIS 7.0:
Последовательно разверните узлы имя_компьютераи Веб-сайты и выберите веб-сайт, который требуется настроить.
На домашней странице этого веб-сайта выберите Параметры SSL.
В области Параметры SSL установите флажок Требуется SSL.
(Необязательно) Установите флажок Требуется 128-разрядный SSL.
В поле Сертификаты клиента выберите Игнорировать, Принять или Требовать в зависимости от требований безопасности развертывания.
Выберите Применить в поле Действия.
Повторите эти шаги для каждого веб-сайта, для которого необходимо требовать SSL.
Установка сертификата на серверах построения
Если Служба построения Team Foundation установлена на одном или нескольких серверах, необходимо установить сертификат в хранилище доверенного корневого центра сертификации каждого сервера.Дополнительные сведения см. в подразделах Получение сертификата и Установка и назначение сертификата выше в данном разделе.И контроллер, и агент требуют сертификат с закрытым ключом, с которым они могли бы идентифицироваться в HTTPS-подключениях.
Примечание |
---|
Чтобы выполнять построения с использованием протокола SSL, сертификат должен быть установлен в доверенном корневом хранилище в контроллере построений и агенте построения. |
Обновление конфигураций построения
Для настройки Team Foundation Build на использование SSL-подключений необходимо настроить службу построений на использование URL-адреса HTTPS, заданного для уровня приложений, и коллекцию, поддерживаемую конфигурацией построения.Необходимо настроить данный URL-адрес для каждой конфигурации построения в развертывании.
Изменение конфигурации построения для использования HTTPS
Откройте консоль администрирования Team Foundation на сервере, на котором размещена конфигурация построения, которую требуется настроить.
В разделе Team Foundation разверните имя сервера и выберите Конфигурация построения.
Откроется область Конфигурация построения.
В разделе конфигурации службы выберите Остановить и выберите Свойства.
Открывается диалоговое окно Свойства службы построений.
В разделе Связь проверьте, что в URL-адресе коллекции командных проектов используется правильный HTTPS-адрес и полное имя сервера.
В поле Конечная точка локальной службы построения (входящая) выберите Изменить.
Откроется диалоговое окно Конечная точка службы построения.
В разделе Сведения о конечной точке проверьте, что номер порта соответствует сведениям о конфигурации.
В поле Протокол выберите HTTPS.
В списке Сертификаты SSL выберите сертификат, установленный и настроенный для использования с данным развертыванием, затем выберите ОК.
В диалоговом окне Свойства службы построений выберите Запуск.
Настройка клиентских компьютеров
На каждом клиентском компьютере, с которого пользователи осуществляют доступ к Team Foundation, необходимо установить сертификат локально и удалить из клиентского кэша данные о любом пользователе, осуществлявшем доступ к Team Foundation с этого компьютера.В противном случае пользователи не смогут подключаться к Team Foundation с этого компьютера.Дополнительные сведения см. в разделе Управление доверенными корневыми сертификатами.
Важно |
---|
Не выполняйте эту процедуру для компьютеров под управлением Team Foundation Server и одного или более клиентов Team Foundation. |
Установка сертификата на клиентском компьютере
Войдите на компьютер с учетной записью, принадлежащей группе Администраторы на этом компьютере.
Установите сертификат в папку "Доверенный корневой центр сертификации" на локальном компьютере.
Дополнительные сведения см. в документации операционной системы и центра сертификации.
Очистка кэша на клиентском компьютере
Войдите на компьютер, используя учетные данные пользователя, для которого необходимо выполнить очистку кэша.
Закройте все открытые экземпляры Visual Studio.
В окне браузера откройте следующую папку:
Диск**:\Users\имя_пользователя\AppData\Local\Microsoft\Team Foundation\4.0\Cache**
Удалите содержимое каталога кэша.Убедитесь, что удалены все вложенные папки.
Выберите Пуск, выберите пункт Выполнить, введите команду devenv /resetuserdata, затем выберите ОК.
Повторите эти шаги для учетной записи каждого пользователя, осуществлявшего доступ к Team Foundation с этого компьютера.
Примечание Можно разослать инструкции по очистке кэша для всех пользователей Team Foundation, чтобы они могли выполнять очистку кэша самостоятельно.
Подключение клиентских компьютеров к развертыванию с измененными настройками
В Visual Studio подключитесь к Team Foundation Server с использованием нового URL-адреса HTTPS.
Дополнительные сведения см. в разделе Подключение к командным проектам на сервере Team Foundation Server.
См. также
Другие ресурсы
Securing Team Foundation Server with HTTPS and Secure Sockets Layer (SSL)
Team Foundation Server, HTTPS, and Secure Sockets Layer (SSL)