Включение удаленного доступа из интрасети с использованием TLS/SSL-сертификата (расширенный)
В этом учебнике описывается, как настроить локальную среду выполнения интеграции с несколькими локальными компьютерами и включить удаленный доступ из интрасети с помощью TLS/SSL-сертификата (расширенный) для защиты обмена данными между узлами среды выполнения интеграции.
Предварительные требования
- Введение в надежное шифрование SSL/TLS.
- Сертификат может быть общим TLS-сертификатом для веб-сервера. Требования
- Сертификат должен быть общедоступным доверенным сертификатом X509 v3. Мы рекомендуем использовать сертификаты, выданные общедоступным партнерским центром сертификации.
- Все узлы среды выполнения интеграции должны доверять этому сертификату.
- Мы рекомендуем использовать сертификаты альтернативного имени субъекта (SAN), так как все полные доменные имена (FQDN) узлов среды выполнения интеграции должны быть защищены этим сертификатом. (WCF TLS/SSL проверяет только последнее DNS-имя в SAN, которое было исправлено в .NET Framework 4.6.1. Дополнительные сведения об устранении рисков: метод X509CertificateClaimSet.FindClaims.)
- Сертификаты с подстановочными знаками (*) не поддерживаются.
- Сертификат должен иметь закрытый ключ (например, в формате PFX).
- Для сертификата можно использовать любой размер ключей, поддерживаемый в Windows Server 2012 R2 для TLS/SSL-сертификатов.
- В данный момент поддерживается только сертификат CSP (поставщик служб шифрования). Сертификаты на основе ключей CNG (поставщик хранилища ключей) не поддерживаются.
Этапы
Выполните следующую команду PowerShell на всех компьютерах, чтобы получить их полные доменные имена:
[System.Net.Dns]::GetHostByName("localhost").HostName
Например, полные доменные имена — node1.domain.contoso.com и NODE2.domain.contoso.com.
Создайте сертификат с полным доменным именем всех компьютеров в альтернативном имени субъекта.
Установите сертификат на всех узлах на Локальный компьютер ->Персональный, чтобы его можно было выбрать в менеджере конфигурации среды выполнения интеграции:
Щелкните сертификат и установите его.
Выберите Локальный компьютер и введите пароль.
Нажмите Поместить все сертификаты в следующее хранилище. Нажмите кнопку Обзор. Выберите Персональный.
Нажмите Готово, чтобы установить сертификат.
Разрешение удаленного доступа из интрасети:
Во время регистрации узла в локальной среде выполнения интеграции:
Выберите Включить удаленный доступ из интрасети и нажмите кнопку Далее.
Задайте TCP-порт (по умолчанию 8060). Убедитесь, что порт открыт в брандмауэре.
Нажмите кнопку Выбрать. Во всплывающем окне выберите подходящий сертификат и нажмите кнопку Готово.
После регистрации узла в локальной среде выполнения интеграции:
Примечание
Локальная среда выполнения интеграции может изменять параметры удаленного доступа только в том случае, если у нее есть единственный узел, который является таковым конструктивно. В противном случае невозможно проверить переключатель.
Выберите Менеджер конфигурации локальной среды выполнения интеграции ->Параметры ->Удаленный доступ из интрасети. Нажмите кнопку Изменить.
Выберите Включить с TLS/SSL-сертификатом (расширенный).
Нажмите кнопку Выбрать. Во всплывающем окне выберите подходящий сертификат и нажмите Готово.
Проверьте параметры удаленного доступа в менеджере конфигурации локальной среды выполнения интеграции.
Использование самозаверяющего сертификата, если у вас нет общедоступного доверенного сертификата:
Создание и экспорт самозаверяющего сертификата (этот шаг можно пропустить, если у вас уже есть сертификат):
Создайте самозаверяющий сертификат с помощью PowerShell (с более высоким уровнем привилегий):
New-SelfSignedCertificate -DnsName contoso.com, node1.domain.contoso.com, node2.domain.contoso.com -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -CertStoreLocation cert:\LocalMachine\My
Чтобы экспортировать созданный сертификат с закрытым ключом в защищенный паролем PFX-файл, потребуется его отпечаток. Его можно скопировать из результатов команды
New-SelfSignedCertificate
. Например, этоCEB5B4372AA7BF877E56BCE27542F9F0A1AD197F
.Экспортируйте созданный сертификат с закрытым ключом с помощью PowerShell (с более высоким уровнем привилегий):
$CertPassword = ConvertTo-SecureString -String “Password” -Force -AsPlainText Export-PfxCertificate -Cert cert:\LocalMachine\My\CEB5B4372AA7BF877E56BCE27542F9F0A1AD197F -FilePath C:\self-signedcertificate.pfx -Password $CertPassword
Вы экспортировали сертификат с закрытым ключом в C:\self-signedcertificate.pfx.
Установить сертификат на всех узлах в следующем расположении: Локальный компьютер ->Хранилище доверенных корневых центров сертификации:
- Щелкните сертификат и установите его.
- Выберите Локальный компьютер и введите пароль.
- Нажмите Поместить все сертификаты в следующее хранилище. Нажмите кнопку Обзор. Выберите Доверенные корневые центры сертификации.
- Нажмите Готово, чтобы установить сертификат.
Устранение неполадок
Убедитесь, что сертификат существует в целевом хранилище:
Выполните следующую процедуру Просмотр сертификатов с помощью оснастки MMC — WCF, чтобы просмотреть сертификаты (локальный компьютер) в оснастке MMC.
Убедитесь, что сертификат установлен в Персональный и Хранилище доверенных корневых центров сертификации (если это самозаверяющий сертификат).
Убедитесь, что сертификат имеет закрытый ключ и срок его действия не истек.
Убедитесь, что учетная запись службы для локальной среды выполнения интеграции (учетная запись по умолчанию NT SERVICE\DIAHostService) имеет разрешение на чтение закрытых ключей сертификата:
Щелкните правой кнопкой мыши сертификат ->Все задачи ->Управление закрытыми ключами.
Если нет, предоставьте разрешение, Примените и сохраните.