Ни один из наборов шифров, поддерживаемых клиентским приложением, не поддерживается сервером

9

Я получаю эту ошибку в журнале событий Windows моего сервера:

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

Когда я пытаюсь подключиться к веб-сервису в окне Windows 7 из окна Windows Server 2003.

Как добавить набор шифров к одному, который поддерживает другой?

(исправление клиентов является идеальным, но если серверное решение не подходит - у меня есть доступ ко всем задействованным блокам, я просто хочу немного базового шифрования между ними для конфиденциальности).

Наряду с часами гуглить и читать, я попробовал:

  • Проверено окно просмотра событий на сервере (обнаружена ошибка набора шифров)
  • Добавлены наборы шифров для test1 с http://support.microsoft.com/kb/948963 (не помогло)
  • Добавлен TLS 1.0 к протоколам в комплектах шифров в реестре Windows на сервере (без изменений)
  • Установите инструменты IIS, надеясь, что это добавит больше протоколов в Schannel (это не так)
  • Экспортный сертификат для клиентов, опять же, но с закрытым ключом (без изменений)
  • Убедитесь, что установленные наборы шифров совпадают на сервере и клиенте (не могу найти, где их перечисляет win2k3)
  • Добавьте TLS_RSA_WITH_AES_256_CBC_SHA (установленное выше исправление) в наборы шифров сервера (нет, уже там)
MGOwen
источник
@sohnee serverfault.com/questions/166750/… Ответ Гариса на этот вопрос даёт ответ на этот вопрос подробно.
Drifter104
Вы, наверное, уже знаете это, но я все равно опубликую это для тех, кто может не знать. Windows 2003 больше не поддерживается Microsoft и больше не будет получать обновления. Если вы используете 2k3, вы должны перенести или обновить.
Liczyrzepa
Эта проблема также видна на Server 2008 (и, вероятно, 2012, хотя у меня еще нет SSL на 2012 здесь).
Фентон

Ответы:

5

Windows 7 использует новый API CNG (Cryptography Next Generation) при выборе шифров. Насколько мне известно, CNG для Windows 2003 недоступен.

Однако вы можете установить эти комплекты шифров на основе AES для использования в Windows 2003:

  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA

Это первые наборы клиентов Windows Vista и Windows 7, которые попытаются договориться об использовании с TLS 1.0 и выше, а также поддерживаются клиентами OpenSSL.

Чтобы использовать их, установите KB948963

Матиас Р. Ессен
источник
1
Спасибо! Я должен был упомянуть, что я уже попробовал это - это не решило проблему для меня. Может быть, другая коробка все еще отвергает их, потому что CBC больше не считается безопасным? Они есть в списке шифровальных комплектов, но что еще я могу сделать? :(
MGOwen
Интересно, как работает сообщество. Теперь лучший ответ на этот вопрос - тот, который никогда не работал, и реальный ответ опущен ... Я предполагаю, что SHA1 устарела через несколько лет после того, как этот вопрос был давно забыт. Надеюсь, этот ответ кому-нибудь поможет - или никто больше не вынужден поддерживать серверы win 2k3 ...
MGOwen
1
@MGOwen Извините, я не смог вам помочь. Я лично решил проблему, похожую на вашу, с исправлением, с которым я связан. Хотелось бы надеяться, что отклики отражают количество людей, которые сочли этот ответ полезным
Матиас Р. Джессен
-1

Решением было снова сгенерировать мой сертификат, на этот раз форсируя RSA и SHA1 (хотя в любом случае SHA1 по умолчанию). По какой-то причине Win Server 2k3 не смог или не смог бы использовать правильные шифры со стандартным сертификатом makecert. Вот командная строка, которая работала для меня:

makecert -pe -r -ss my -sr localMachine -n ​​"CN = domainnameoripaddressgoeshere.com" -e 01/01/2098 -a sha1 -eku 1.3.6.1.5.5.7.3.1 -sky exchange -sp "Microsoft RSA SChannel «Криптографический провайдер» -sy 12

Для получения дополнительной информации см. Http://mgowen.com/2013/06/19/cipher-suites-issue/ и http://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.110).aspx ,

MGOwen
источник
3
sha1 устарела. Я предполагаю, что проблема возникла из-за того, что все шифры, поддерживаемые вашим клиентом 2003 года, устарели из-за проблем безопасности в последние пару лет. Ваше повторное открытие этих шифров, вероятно, будет открывать дыры в безопасности. Также обратите внимание, что Google накажет вас, если вы используете SHA1 для сертификата веб-сайта. community.qualys.com/blogs/securitylabs/2014/09/09/…
mc0e
1
Фраза «SHA1 должна быть по умолчанию в любом случае», вероятно, верна в контексте, который вы, вероятно, используете, но, как сказал @ mc0e, она устарела из-за проблем безопасности, и в настоящее время эта фраза вызовет дрожь в спинах ИТ-специалистов и специалистов по безопасности. , Обязательно используйте SHA-2 (SHA-256), когда это возможно, так как это стандарт сейчас.
Rubynorails
Спасибо Rubynorails. Я отредактировал свой ответ, я имел в виду, что SHA1 был по умолчанию на makecert (в 2013 году, когда я писал это, я не был уверен, есть ли более новые версии makecert, для которых это уже не так). Я посмотрю, будем ли мы по-прежнему использовать SHA1, и посмотрим, стоит ли пытаться заставить makecert использовать что-то еще и снова сделать наши сертификаты (это не для общедоступного продукта).
MGOwen
Для Server2003 SP2 для принятия (проверки) сертификата SHA-256 требуется другое исправление support.microsoft.com/en-us/kb/938397 . (XP SP2 также требовал этого, но он получил SP3 с исправлением до того, как поддержка закончилась.)
dave_thompson_085