Сервер IIS 8.5 не принимает соединение TLS 1.0 с Windows Server 2003

(Если вам интересно, почему я пытаюсь включить устаревшие наборы шифров, Запрос на соединение TLS 1.0 был получен от удаленного клиентского приложения, но ни один из наборов шифров, поддерживаемых клиентским приложением, не поддерживается сервером. Не удалось выполнить запрос на соединение SSL. "- идентификатор события 36874

, за которым следует

" Было сгенерировано критическое предупреждение, которое было отправлено на удаленную конечную точку. Это может привести к разрыву соединения. Код фатальной ошибки протокола TLS - 40. Состояние ошибки Windows SChannel - 1205. "- идентификатор события 36888

Используя Wireshark на клиенте, я вижу, что он пытается согласовать следующие наборы шифров:

            Cipher Suite: TLS_RSA_WITH_RC4_128_MD5 (0x0004)
            Cipher Suite: TLS_RSA_WITH_RC4_128_SHA (0x0005)
            Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
            Cipher Suite: TLS_RSA_WITH_DES_CBC_SHA (0x0009)
            Cipher Suite: TLS_RSA_EXPORT1024_WITH_RC4_56_SHA (0x0064)
            Cipher Suite: TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA (0x0062)
            Cipher Suite: TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)
            Cipher Suite: TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (0x0006)
            Cipher Suite: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x0013)
            Cipher Suite: TLS_DHE_DSS_WITH_DES_CBC_SHA (0x0012)
            Cipher Suite: TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA (0x0063)

из которые эти:

TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_3DES_EDE_CBC_SHA

включены в то, что я включил с помощью IIS Crypto. Тем не менее, сервер не хочет касаться этих наборов шифров и разрешать соединение. Вместо этого он просто разрывает соединение, как свидетельствует эта попытка подключиться с использованием OpenSSL .

Почему IIS или Schannel не разрешают использование этих наборов шифров, когда, насколько я могу судить, я настроил их оба для использования независимо от значений по умолчанию?

2
задан 5 August 2016 в 13:54
3 ответа

TL; DR: Сдался и использовал Linux и Nginx .

Я так и не нашел ответа на вопрос, чего не хватало. Помимо упомянутого сервера Windows Server 2012 R2, я установил сервер Windows Server 2008 R2 и полностью обновил его и использовал IIS Crypto таким же образом, и мне кажется, что в каком-то обновлении был развернут какой-то переключатель уничтожения RC4. строка, которую нельзя деактивировать документированным способом, особенно потому, что другой сервер Windows Server 2012 R2, который не был отключен для исправления, не делает то же самое.

Поскольку я не могу жить, опасаясь запуска Центра обновления Windows , Мне пришлось прибегнуть к настройке сервера Ubuntu под управлением Nginx, обработки завершения TLS и обратного проксирования на сервер по обычному HTTP на сервере, который теперь мне не нужно было публично раскрывать. Отсутствие у Microsoft исчерпывающей и точной документации и желание кардинально изменить поведение в незначительных обновлениях свидетельствует о неуважении к их клиентам и их бизнесу, и им было бы хорошо, если бы у их конкурентов были уроки о том, как заботиться о безопасности своих клиентов, но при этом им по собственному усмотрению.

1
ответ дан 3 December 2019 в 10:37

Большинство организаций будут следовать рекомендациям по усилению защиты IIS 8, приведенным здесь: https://benchmarks.cisecurity.org/tools2/iis/CIS_Microsoft_IIS_8_Benchmark_v1.0.0.pdf

Я бы посоветовал вам проверить значения, определенные здесь: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v4.0.30319 SchUseStrongCrypto

Включение Strong Crypto автоматически отключает поддержку RC4, и это не то, чего не касается инструмент IIS Crypto.

0
ответ дан 3 December 2019 в 10:37

Я знаю, что это устарело, но на случай, если кто-то захочет узнать больше, в реестре есть места для этого. Я думаю, что, возможно, TLS 1.0 включен = 0 или DisabledByDefault = 1?

SSL / TSL:

Местоположение в реестре: \ HKey_Local_Machine \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols

Если есть ключи в папке реестра Protocols с подключами Client и Server и DWORDS в них DisabledByDefault и Enabled, то это то, что его настраивает. Состояние по умолчанию для Win 2012 (r1) было TLS1 разрешено и разрешено по умолчанию. (Если нет, вы можете добавить их)

(Обратите внимание, что сервер предназначен для входящих подключений, а клиент - для исходящих.)

Ссылки:

Шифры:

Расположение в реестре: \ HKey_Local_Machine \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Ciphers

Мы также использовали IIS Crypto, после долгих исследований и обнаружив, что все просто пользуются этой программой. (Это избавило нас от ограничения в 1023 символов в списке Cipher Suite в редакторе групповой политики.)

(Кроме того: Win XP потеряет все соединения с HTTPS, если 3DES (тройной DES) будет отброшен)

Ссылки:

2
ответ дан 3 December 2019 в 10:37

Теги

Похожие вопросы