TLS 1.0 все еще используется в IIS после его отключения

Я настроил IIS на Windows Server 2008 R2, чтобы не разрешать TLS 1.0. Я сделал это, установив эти ключи рег и перезагрузки:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server\DisabledByDefault set to 1 (as a DWORD)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server\Enabled set to 0 (as a DWORD)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client\DisabledByDefault set to 1 (as a DWORD)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client\Enabled set to 0 (as a DWORD)

На стороне клиента я использую FireFox 48.0 и IE 9 для тестирования. (Я не могу использовать более поздние версии IE, потому что сетевые администраторы заблокировали настройки). Вот как я настраиваю IE для принудительной установки TLS 1.0:

Вот как я настраиваю FireFox для принудительной установки TLS 1.0:

Я использую WireShark для подтверждения используемого протокола. Вот как это выглядит, когда я запускаю TLS 1.0 в браузере:

Я также использовал предложенную ниже команду OpenSSL, чтобы подтвердить, что TLS 1.0 все еще используется:

openssl s_client -tls1 -connect mysite.com:443

Если я использую TLS 1.1 в браузере, вот как выглядит WireShark:

Проблема в том, что сервер настроен так, чтобы не разрешать TLS 1.0, но когда я настраиваю свой браузер на использование только TLS 1.0, тогда используется TLS 1.0. Если я настраиваю IE, чтобы не разрешать любую версию TLS, то он возвращает ошибку " Internet Explorer cannot display the web page "Именно этого я и ожидал. Моя цель - не допустить использования сервером TLS 1.0 на сервере, даже если клиент поддерживает только TLS 1.0, поскольку TLS 1.0 имеет уязвимости в безопасности. Как я могу заставить IIS прекратить использовать TLS 1.0?

3 ответа

Вы можете проверить, будет ли сервер обслуживать TLS 1.0, если потребуется, с помощью следующей команды openssl.

openssl s_client -tls1  -brief -connect example.com:443

Если соединение установилось успешно, вы увидите что-то вроде:

CONNECTION ESTABLISHED
Protocol version: TLSv1
Ciphersuite: DHE-RSA-AES256-SHA
Peer certificate: CN = example.com
Server Temp Key: DH, 8192 bits

Если соединение не удалось, вы увидите:

write:errno=104

Вы можете проверить поддержку других протоколов, выполнив:

TLS v1.1: openssl s_client -tls1_1 -brief -connect example.com:443

TLS v1.2: openssl s_client -tls1_2 -brief -connect example.com:443

SSL v3: openssl s_client -ssl3 -brief -connect example.com:443

Проблема заключалась в том, что SSL фактически обрабатывался балансировщиком нагрузки, а не на сервере, поэтому его пришлось отключить на балансировщике нагрузки.

Я знаю, что это старо, но это может помочь кому-то еще. Если FIPS включен, он переопределит настройки TLS 1.0 и включит TLS 1.0. Он должен быть отключен, чтобы отключить TLS 1.0. Надеюсь, это кому-нибудь поможет.

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