Сбой рукопожатия SSL/TLS

конфигурация

  • Сервер Windows 2008R2 RDS RDS01
  • Сервер Windows 2008R2 RDS RDS02
  • Сервер Windows 2012R2 RemoteApp APP01

проблема

URL вызова https://APP01.domain.local/rdweb:

  • От RDS02: Код ответа 200, цепочка сертификатов в норме


диагностики

Использование ssldiagnos.exe из RDS01 (устранена ошибка рукопожатия):

-= SUMMARY =-
Weak:         0
Intermediate: 0
Strong:       0

APP01 принимает 0 конфигураций рукопожатия SSL

Использование ssldiagnos.exe из RDS02 (устранена ошибка рукопожатия):

[+] Testing STRONG: TLS 1, ECDHE-RSA-AES256-SHA (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1, DHE-RSA-AES256-SHA (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1, ECDHE-RSA-AES128-SHA (128 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1, DHE-RSA-AES128-SHA (128 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.1, ECDHE-RSA-AES256-SHA (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.1, DHE-RSA-AES256-SHA (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.1, ECDHE-RSA-AES128-SHA (128 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, ECDHE-RSA-AES256-SHA384 (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, ECDHE-RSA-AES256-SHA (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, DHE-RSA-AES256-GCM-SHA384 (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, DHE-RSA-AES256-SHA (256 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, ECDHE-RSA-AES128-SHA256 (128 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, ECDHE-RSA-AES128-SHA (128 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, DHE-RSA-AES128-GCM-SHA256 (128 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK
[+] Testing STRONG: TLS 1.2, DHE-RSA-AES128-SHA (128 bits) ... CONNECT_OK SEND_OK RECEIVE_OK CERT_OK

-= SUMMARY =-
Weak:         0
Intermediate: 0
Strong:       15

APP01 принимает 15 конфигураций рукопожатия SSL


Schannel

  • RDS01 Активация опций SSL

  • RDS02 Активация опций SSL


Помогите

Любая помощь для решения этой проблемы будет приветствоваться


Редактировать 1

Здесь RDS01 Экспорт куста реестра SCHANNEL после включения всех (кроме SSL 2.0) вручную с помощью IIS Crypto для явного объявления их включенными

{schannel}=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

[{schannel}]
"EventLogging"=dword:00000001

[{schannel}\Ciphers]

[{schannel}\Ciphers\AES 128/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\AES 256/256]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\DES 56/56]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\NULL]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\RC2 128/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\RC2 40/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\RC2 56/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\RC4 128/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\RC4 40/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\RC4 56/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\RC4 64/128]
"Enabled"=dword:ffffffff

[{schannel}\Ciphers\Triple DES 168]
"Enabled"=dword:ffffffff

[{schannel}\CipherSuites]

[{schannel}\Hashes]

[{schannel}\Hashes\MD5]
"Enabled"=dword:ffffffff

[{schannel}\Hashes\SHA]
"Enabled"=dword:ffffffff

[{schannel}\Hashes\SHA256]
"Enabled"=dword:ffffffff

[{schannel}\Hashes\SHA384]
"Enabled"=dword:ffffffff

[{schannel}\Hashes\SHA512]
"Enabled"=dword:ffffffff

[{schannel}\KeyExchangeAlgorithms]

[{schannel}\KeyExchangeAlgorithms\Diffie-Hellman]
"Enabled"=dword:ffffffff

[{schannel}\KeyExchangeAlgorithms\ECDH]
"Enabled"=dword:ffffffff

[{schannel}\KeyExchangeAlgorithms\PKCS]
"Enabled"=dword:ffffffff

[{schannel}\Protocols]

[{schannel}\Protocols\Multi-Protocol Unified Hello]

[{schannel}\Protocols\Multi-Protocol Unified Hello\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\Multi-Protocol Unified Hello\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\PCT 1.0]

[{schannel}\Protocols\PCT 1.0\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\PCT 1.0\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\SSL 2.0]

[{schannel}\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000001
"Enabled"=dword:00000000

[{schannel}\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[{schannel}\Protocols\SSL 3.0]

[{schannel}\Protocols\SSL 3.0\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\SSL 3.0\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\TLS 1.0]

[{schannel}\Protocols\TLS 1.0\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\TLS 1.0\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\TLS 1.1]

[{schannel}\Protocols\TLS 1.1\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\TLS 1.1\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\TLS 1.2]

[{schannel}\Protocols\TLS 1.2\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[{schannel}\Protocols\TLS 1.2\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

2 ответа

Я был укушен, когда устанавливал каналы на стороне клиента не обратно совместимым способом в прошлом. Вам, вероятно, следует взглянуть на протоколы на стороне клиента на RDS01.

В вашей ситуации я бы использовал IIS Crypto, чтобы включить все протоколы на стороне клиента на RDS01 (временно), установив все флажки и используя настройки "установить протокол на стороне клиента", а затем применить лучшие практики без "установить протокол на стороне клиента".

Это должно исключить любые проблемы конфигурации на стороне клиента.

РЕДАКТИРОВАТЬ:

Если это не сработает, я бы предложил использовать Wireshark для захвата и разбора рукопожатий и посмотреть, какие именно криптографические наборы представлены RDS01. Лично я бы запустил его на APP01, чтобы легко сравнить хорошее рукопожатие с плохим.

Отладка с помощью WireShark дала мне много TCP фрагментации и повторной передачи. После настройки роутера MSS корректно устанавливаются квитирования SSL.

Мои извинения за неполный вопрос, RDS01 а также RDS02 серверы находятся в одной сети, связанной с APP01 сеть через шлюз IPSec VPN. поскольку RDS02 работал, я не рассматривал эту возможность.

Чтобы решить мою проблему, я использовал эту таблицу и нашел MMS = 1384

  1500   Standard MTU
-   20   IP Header
-   24   GRE Encaps.
-   52   IPSec Encaps.
-  (8)   PPPoE (optional)
-   20   TCP Header
-------
= 1384   MMS

Откройте страницу администрирования маршрутизатора и установите новый MTU или MSS

Другие вопросы по тегам