Поделиться через


Настройка использования 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 (необязательно)

  • Конфигурация построения

    • Установка сертификата на серверах построения

    • Обновление конфигурации построения

  • Конфигурация клиента

    1. Настройка клиентских компьютеров

Преимущества поддержки 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.

В данном разделе приводятся инструкции по решению следующих задач:

  1. Получение сертификатов для развертывания Team Foundation Server и используемых сервером веб-сайтов.

  2. Установка и назначение сертификатов.

  3. Настройка Team Foundation Server.

  4. Настройка Team Foundation Build.

  5. Настройка клиентских компьютеров.

Предварительные требования

Для выполнения описанных в этом разделе процедур необходимо удовлетворить следующие требования:

  • Необходимо установить и обеспечить функционирование логических компонентов на уровне данных и уровне приложений 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.

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

Необходимые разрешения

Для выполнения этих процедур необходимо входить в состав группы Администраторы Team Foundation и группы Администраторы на сервере или серверах уровня приложений и уровня данных в Team Foundation.Для настройки сервера построений необходимо входить в состав группы Администраторы на этом сервере.Если в развертывании используется Продукты SharePoint, необходимо входить в состав группы Администраторы на сервере, на котором размещен Центр администрирования SharePoint.Кроме того, необходимо входить в состав группы Администраторы фермы.Дополнительные сведения о разрешениях см. в разделе Разрешения Team Foundation Server.

Допущения

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

  • Сервер или серверы уровня данных и уровня приложений установлены и развернуты в безопасной среде и настроены в соответствии с рекомендациями безопасности.

  • Пользователь знаком с настройкой инфраструктуры открытого ключа и управлением этой инфраструктурой, а также с процедурами запроса, выпуска и назначения сертификатов.Дополнительные сведения см. на следующей странице веб-сайта Майкрософт: Инфраструктура открытого ключа.

  • Пользователь понимает принципы функционирования топологии сети в среде разработки и знаком с настройкой параметров сети, IIS и SQL Server.

Получение сертификата

Перед настройкой TFS на использование HTTPS с SSL необходимо получить и установить сертификат сервера для серверов в развертывании.Чтобы получить сертификат сервера, необходимо установить и настроить собственный центр сертификации или использовать центр сертификации из доверенной внешней организации.

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

Запрос сертификата

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

  • Каждый сервер уровня приложений.

  • Каждый сервер под управлением прокси-сервера Team Foundation Server, если таковые настроены для развертывания.

  • Каждый сервер под управлением Служба построения Team Foundation в качестве контроллера построений или агента построения, если таковые настроены для развертывания.

  • Каждый сервер под управлением Продукты SharePoint, если Продукты SharePoint настроен для развертывания.

  • Сервер под управлением служб отчетов, если таковой настроен для развертывания.

Запрос сертификата в IIS

  1. Выберите Пуск, выберите пункт Администрирование, а затем — Диспетчер служб IIS.

  2. Разверните узел Веб-сайты или Сайты и перейдите к веб-сайту, для которого требуется запросить сертификат.

    Например, чтобы запросить сертификат для сервера уровня приложений, необходимо перейти к серверу Team Foundation Server.Чтобы запросить сертификат для прокси-сервера, необходимо перейти к прокси-серверу Microsoft Team Foundation Server Proxy.

  3. Выполните соответствующие инструкции для используемой версии 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, но и на компьютерах, на которых размещены контроллер построений и агенты построения.

Aa833872.collapse_all(ru-ru,VS.110).gifУстановка сертификата сервера

Выполнив следующие шаги, можно установить сертификат или сертификаты сервера, которые требуется использовать для развертывания TFS.

Установка сертификата сервера на веб-сайте

  1. На сервере, на котором размещен настраиваемый веб-сайт, выберите Пуск, выберите пункт Администрирование и выберите пункт Диспетчер служб IIS.

  2. Выполните шаги в зависимости от используемой версии IIS:

    • Если используется IIS 7.0, импортируйте сертификат сервера из области Сертификаты сервера.

      Дополнительные сведения см. в разделе Импорт сертификата сервера (IIS 7).

Aa833872.collapse_all(ru-ru,VS.110).gifВключение методов проверки подлинности, включение 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 и задние сертификата

  1. На сервере, на котором размещен настраиваемый веб-сайт, выберите Пуск, выберите пункт Администрирование и выберите пункт Диспетчер служб IIS.

  2. Выполните набор шагов для используемой версии IIS:

    Для развертываний с использованием IIS 7.0:

    1. Последовательно разверните узлы имя_компьютераи Веб-сайты, откройте подменю для веб-сайта, который требуется настроить, и выберите Изменить привязки.

    2. В диалоговом окне Привязки сайта выберите Добавить.

      Откроется диалоговое окно Добавление привязки сайта.

    3. В списке Тип выберите https.

      (Необязательно.) В поле Порт введите другой номер порта.

      Важное примечаниеВажно

      Номер порта по умолчанию для соединений SSL — 443, но необходимо присвоить уникальный номер порта для каждого из следующих сайтов: веб-сайт по умолчанию, сервер Team Foundation Server, прокси-сервер Microsoft Team Foundation Server Proxy (если используется в развертывании) и Центр администрирования SharePoint.

      Необходимо записать номер порта SSL для каждого настроенного веб-сайта, потому что эти номера потребуется указывать в консоли администрирования Team Foundation.

      В поле Сертификат SSL выберите импортированный сертификат и выберите ОК.

    4. В диалоговом окне Привязки сайта выберите Закрыть.

    5. На странице Домашняя страница настраиваемого веб-сайта откройте представление Компоненты.

    6. В разделе IIS выберите Аутентификация.

    7. Выберите метод аутентификации, который требуется настроить, откройте его подменю и выберите Включить, Отключить или Изменить, чтобы включить, отключить метод или выполнить его дополнительную настройку.

Настройка брандмауэра

Необходимо настроить брандмауэр так, чтобы разрешить прохождение трафика через только что заданные в IIS порты SSL.Дополнительные сведения см. в документации вашего брандмауэра.

Настройка службы отчетов SQL Server

Если в развертывании используются отчеты, необходимо настроить службы отчетов SQL Server на поддержку HTTPS с SSL и использование заданного в IIS порта для Team Foundation Server.В противном случае сервер отчетов не будет работать в развертывании надлежащим образом.Дополнительные сведения см. в разделе Настройка сервера отчетов для соединений по протоколу SSL.

СоветСовет

Если отчеты в развертывании не используются, эту процедуру можно пропустить.

Настройка развертывания

Выполните следующие шаги, чтобы настроить развертывание с портами HTTPS и значениями, настроенными в IIS для веб-сайтов по умолчанию и веб-сайтов Team Foundation Server.

Повторная настройка Team Foundation Server

  1. Откройте консоль администрирования Team Foundation.

    Дополнительные сведения см. в разделе Открытие консоли администрирования Team Foundation;

  2. В разделе Team Foundation разверните имя сервера и выберите Уровень приложений.

  3. Выберите Изменение URL-адресов в разделе Сводка уровня приложений.

    Откроется окно Изменение URL-адресов.

  4. В поле URL-адрес уведомлений введите URL-адрес HTTPS, настроенного в IIS для веб-сайта Team Foundation Server.

    Например, веб-сайт был настроен на использование порта 443.В этом случае нужно ввести https://имя_сервера:443/tfs.Убедитесь, что вместо имени localhost используется полное доменное имя сервера.

  5. Выберите Тест, а затем, если тест пройден, выберите ОК.

  6. Чтобы потребовать HTTPS, выберите Использовать в поле URL-адрес сервера и введите URL-адрес HTTPS, настроенный для веб-сайта Team Foundation Server.

    Убедитесь, что вместо имени localhost используется полное доменное имя сервера.

  7. Выберите Тест, а затем, если тест пройден, выберите ОК.

  8. Откройте файл web.config для Team Foundation Server в любом текстовом редакторе, таком как «Блокнот».По умолчанию этот файл расположен в следующем каталоге: %PROGRAMFILES%\Microsoft Team Foundation Server 11.0\Application Tier\Message Queue\web.config.

  9. Удалите из файла следующие конечные точки:

            <!-- 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" />

  10. Перейдите к разделу <system.serviceModel> и добавьте следующие сопоставления протокола.

    <protocolMapping>

          <remove scheme="http" />

         <add scheme="http" binding="customBinding" bindingConfiguration="TfsSoapBinding"/>

          <add scheme="https" binding="customBinding" bindingConfiguration="TfsSoapBindingHttps"/>

    </protocolMapping>

  11. В том же разделе <system.serviceModel> добавьте следующую привязку в <customBinding>:

    <binding name="TfsSoapBindingHttps">

              <textMessageEncoding messageVersion="Soap12WSAddressing10" />

              <httpsTransport authenticationScheme="IntegratedWindowsAuthentication" manualAddressing="true" />

    </binding>

  12. Сохраните и закройте файл.

  13. Если в развертывании используется Продукты SharePoint, выберите Веб-приложения SharePoint в консоли администрирования.

  14. В списке Имя раздела Веб-приложения SharePoint выберите веб-приложение и выберите Изменить.

    Откроется страница Параметры веб-приложения SharePoint.

  15. В поле URL-адрес веб-приложения замените URL-адрес значением HTTPS для данного приложения.

  16. В поле URL-адрес Центра администрирования замените URL-адрес значением HTTPS для веб-сайта Центра администрирования.

  17. (Не обязательно) Измените значение в поле Понятное имя, чтобы оно отражало HTTPS-адрес данного приложения.

  18. Нажмите кнопку ОК.

  19. Повторите предыдущие пять шагов для каждого веб-приложения SharePoint в развертывании.

  20. Если в развертывании используются службы отчетов, выберите Отчеты в консоли администрирования.

  21. В окне Создание отчетов выберите Изменить.

    Если открывается диалоговое окно Автономный режим, выберите ОК.

    Откроется окно Отчеты.

  22. Выберите вкладку Отчеты.В поле URL-адреса для сервера отчетов введите URL-адреса HTTPS для элементов Веб-служба и Диспетчер отчетов и выберите ОК.

Проверка доступа к развертыванию (необязательно)

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

Проверка доступа к развертыванию

  1. Откройте веб-браузер на сервере, на котором размещен уровень приложений.

  2. В адресной строке введите URL-адрес, используемый для подключения к развертыванию с помощью Team Web Access.

    ПримечаниеПримечание

    Этот URL-адрес можно найти в узле уровня приложений в консоли администрирования Team Foundation.

  3. Проверьте, можно ли получить доступ к коллекциям командных проектов и проектам из Team Web Access.

  4. Если не удается получить доступ к развертыванию с помощью Team Web Access, проанализируйте все только что выполненные шаги и убедитесь, что все изменения конфигурации внесены правильно.

Настройка развертывания на требование HTTPS с SSL (необязательно)

Можно потребовать, чтобы во всех подключениях к развертыванию использовался протокол HTTPS с SSL.Рекомендуется принять эту дополнительную меру обеспечения безопасности, однако она не является обязательной.

Требование подключений SSL

  1. На сервере, на котором размещен настраиваемый веб-сайт, выберите Пуск, выберите пункт Администрирование и выберите пункт Диспетчер служб IIS.

  2. Выполните следующие шаги в зависимости от используемой версии IIS:

    Для развертываний с использованием IIS 7.0:

    1. Последовательно разверните узлы имя_компьютераи Веб-сайты и выберите веб-сайт, который требуется настроить.

    2. На домашней странице этого веб-сайта выберите Параметры SSL.

    3. В области Параметры SSL установите флажок Требуется SSL.

      (Необязательно) Установите флажок Требуется 128-разрядный SSL.

    4. В поле Сертификаты клиента выберите Игнорировать, Принять или Требовать в зависимости от требований безопасности развертывания.

    5. Выберите Применить в поле Действия.

    6. Повторите эти шаги для каждого веб-сайта, для которого необходимо требовать SSL.

Установка сертификата на серверах построения

Если Служба построения Team Foundation установлена на одном или нескольких серверах, необходимо установить сертификат в хранилище доверенного корневого центра сертификации каждого сервера.Дополнительные сведения см. в подразделах Получение сертификата и Установка и назначение сертификата выше в данном разделе.И контроллер, и агент требуют сертификат с закрытым ключом, с которым они могли бы идентифицироваться в HTTPS-подключениях.

ПримечаниеПримечание

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

Обновление конфигураций построения

Для настройки Team Foundation Build на использование SSL-подключений необходимо настроить службу построений на использование URL-адреса HTTPS, заданного для уровня приложений, и коллекцию, поддерживаемую конфигурацией построения.Необходимо настроить данный URL-адрес для каждой конфигурации построения в развертывании.

Изменение конфигурации построения для использования HTTPS

  1. Откройте консоль администрирования Team Foundation на сервере, на котором размещена конфигурация построения, которую требуется настроить.

  2. В разделе Team Foundation разверните имя сервера и выберите Конфигурация построения.

    Откроется область Конфигурация построения.

  3. В разделе конфигурации службы выберите Остановить и выберите Свойства.

    Открывается диалоговое окно Свойства службы построений.

  4. В разделе Связь проверьте, что в URL-адресе коллекции командных проектов используется правильный HTTPS-адрес и полное имя сервера.

  5. В поле Конечная точка локальной службы построения (входящая) выберите Изменить.

    Откроется диалоговое окно Конечная точка службы построения.

  6. В разделе Сведения о конечной точке проверьте, что номер порта соответствует сведениям о конфигурации.

  7. В поле Протокол выберите HTTPS.

  8. В списке Сертификаты SSL выберите сертификат, установленный и настроенный для использования с данным развертыванием, затем выберите ОК.

  9. В диалоговом окне Свойства службы построений выберите Запуск.

Настройка клиентских компьютеров

На каждом клиентском компьютере, с которого пользователи осуществляют доступ к Team Foundation, необходимо установить сертификат локально и удалить из клиентского кэша данные о любом пользователе, осуществлявшем доступ к Team Foundation с этого компьютера.В противном случае пользователи не смогут подключаться к Team Foundation с этого компьютера.Дополнительные сведения см. в разделе Управление доверенными корневыми сертификатами.

Важное примечаниеВажно

Не выполняйте эту процедуру для компьютеров под управлением Team Foundation Server и одного или более клиентов Team Foundation.

Установка сертификата на клиентском компьютере

  1. Войдите на компьютер с учетной записью, принадлежащей группе Администраторы на этом компьютере.

  2. Установите сертификат в папку "Доверенный корневой центр сертификации" на локальном компьютере.

    Дополнительные сведения см. в документации операционной системы и центра сертификации.

Очистка кэша на клиентском компьютере

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

  2. Закройте все открытые экземпляры Visual Studio.

  3. В окне браузера откройте следующую папку:

    Диск**:\Users\имя_пользователя\AppData\Local\Microsoft\Team Foundation\4.0\Cache**

  4. Удалите содержимое каталога кэша.Убедитесь, что удалены все вложенные папки.

  5. Выберите Пуск, выберите пункт Выполнить, введите команду devenv /resetuserdata, затем выберите ОК.

  6. Повторите эти шаги для учетной записи каждого пользователя, осуществлявшего доступ к Team Foundation с этого компьютера.

    ПримечаниеПримечание

    Можно разослать инструкции по очистке кэша для всех пользователей Team Foundation, чтобы они могли выполнять очистку кэша самостоятельно.

Подключение клиентских компьютеров к развертыванию с измененными настройками

См. также

Другие ресурсы

Securing Team Foundation Server with HTTPS and Secure Sockets Layer (SSL)

Team Foundation Server, HTTPS, and Secure Sockets Layer (SSL)