Powershell CREDSSP и TLS 1.2 - PullRequest
       61

Powershell CREDSSP и TLS 1.2

0 голосов
/ 24 мая 2018

Сервер A - это Server 2008 R2, Powershell V3. Все SSL и TLS включены и все шифры.Сервер B - это Сервер 2016, Powershell V5 и TLS 1.2, а также специальный набор шифров.

Я не могу заставить Credssp аутентификацию работать от А до Б, даже если я использую

Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Я знаю, что это настройка для каждого сеанса, поэтому я включил в сам скрипт.

Если я настрою Сервер B (Сервер 2016) на включение всех шифрований SSL и TLS, CREDSSP не вызовет проблем.

И да, мне нужно использовать CREDSSP, потому что скрипт на Сервере B ссылается на общий файловый ресурс.на сервере А.

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

$pass = ConvertTo-SecureString "password" -asplaintext -force
$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist "domain\user.service",$pass
#
#
# The Remote Execution Command. Fully Qualified Domain name is critical since we are using Credssp.
# Credssp is being used to resolve an issue with a double hop authentication issue. 
Invoke-Command -ComputerName ServerB.domain.edu -command { C:\HelloWorld.ps1 } -Authentication Credssp  -Credential $mycred

Единственное, что я еще не пробовал, но яЯ собираюсь поставить сервер A и B на TLS 1.2 и посмотреть, работает ли он таким образом.Это не долгосрочное решение, поскольку в настоящее время для сервера A нельзя установить только TLS 1.2.

1 Ответ

0 голосов
/ 25 мая 2018

Таким образом, похоже, что проблема была связана с тем, что Server 2008 имел только записи реестра для подраздела Server TLS, а не для подраздела Client TLS в параметре SCHANNEL Reg.См. Рисунок

Как только я добавил клиентский подраздел и включил шифрование TLS 1.2, он наконец начал работать.

enter image description here

...