Рейтинг:0

Windows Server 2012 R2 TLS 1.2 Проблема

флаг cn

Я столкнулся с проблемами с TLS 1.2 на моем Windows Server 2012 R2 (веб-сервер приложений, IIS), где я не могу получить доступ https://api.nuget.org/v3/index.json через Internet Explorer даже после того, как я увижу, что TLS 1.2 включен.

У меня есть другой сервер с той же ОС и такими же обновлениями ОС (но без IIS), и у этого сервера нет проблем с доступом к API или любой другой конечной точке с TLS 1.2)

На проблемном сервере я пробовал следующее:

  1. Использовал IISCrypto, чтобы включить все -> Перезагрузить -> FAILED
  2. Вручную измените настройки реестра в соответствии с документацией Microsoft — https://docs.microsoft.com/en-us/mem/configmgr/core/plan-design/security/enable-tls-1-2 - НЕУСПЕШНЫЙ
  3. Использовал следующий сценарий для полного сброса и повторного включения только TLS 1.2: https://www.hass.de/content/setup-microsoft-windows-or-iis-ssl-perfect-forward-secrecy-and-tls-12 - НЕУСПЕШНЫЙ

На данный момент я провел 3 дня, пытаясь устранить неполадки и понять, в чем проблема между этими двумя серверами, почему один сервер Windows работает, а другой нет.

Любые советы, шаги по устранению неполадок или инструменты будут приветствоваться!

Скриншоты введите описание изображения здесь

  • через NuGet CLR
  • на проблемном сервере введите описание изображения здесь
  • На сервере который работает введите описание изображения здесь
флаг in
Даже включение TLS 1.2 вам не поможет, поскольку Windows 2012 R2 не поддерживает шифры, поддерживаемые API.nuget.org. Для сервера API требуются [шифры на основе RSA](https://www.ssllabs.com/ssltest/analyze.html?d=api.nuget.org&s=2620%3a1ec%3a46%3a0%3a0%3a0%3a0%3a69) а их просто нет, и поэтому их нельзя включить https://docs.microsoft.com/en-us/answers/questions/227738/windows-server-2012-r2-tls-12-cipher-suites.html
флаг cn
@ Роберт, как я уже сказал, у меня есть другой сервер, который также находится на Windows 2012 R2 API, на котором доступен API, как это возможно, если это проблема с неподдерживаемым шифром? вот почему я так запутался и потерялся, работает на одном сервере, а не на другом
флаг cn
Я не вижу, как это связано с TLS 1.2.
флаг cn
@GregAskew смотрите скриншот из IE (2-й скриншот)
Рейтинг:0
флаг cn

Итак, после нескольких часов устранения неполадок я наконец смог решить проблему и получить доступ к API с нашего сервера через TLS 1.2.

У нас есть .net framework на нашем сервере, у которого возникли проблемы с доступом к API. Microsoft рекомендует установить следующий реестр, чтобы принудительно использовать SystemDefaultTlsVersions.

Редактор реестра Windows версии 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
"SchUseStrongCrypto"=dword:00000001
Рейтинг:0
флаг se

Моя репутация очень низкая, поэтому я должен написать ответ.

Сообщение браузера может вводить в заблуждение

Вы должны проверить, разрешает ли DNS одну и ту же цель и обнаруживает ли клиент какой-либо прокси-сервер.

Это может быть проверка пакетов брандмауэром, возможно, с помощью прозрачного прокси.

Проверьте, какой ответ вы получите с помощью s_client в openssl: https://stackoverflow.com/questions/7885785/using-openssl-to-get-the-certificate-from-a-server

Используйте DeveloperTools в браузере, чтобы взглянуть на «Сеть» и посмотреть, куда был отправлен ваш запрос (возможно, через прокси) и какой ответ вы получили.

Отключите некоторые проверки SSL/TLS в Powershell: https://stackoverflow.com/questions/34331206/ignore-ssl-warning-with-powershell-downloadstring

Убедитесь, что оба имеют одинаковую конфигурацию сети в отношении IPv6. Возможно, из-за этого один из них подключается к другому серверу.

РЕДАКТИРОВАТЬ: по крайней мере, сделайте проверку openssl, чтобы убедиться, что вы можете получить правильный сертификат. Отключите проверку SSL/TLS для Powershell, и тестирование поможет либо убедиться в проблеме.

флаг cn
оба сервера находятся в DMZ, и единственная разница между ними заключается в том, что на одном работает IIS, а на другом нет.
флаг se
Это не должно быть причиной, поскольку я не могу воспроизвести вашу проблему в других средах. Политики брандмауэра могут отличаться для серверов.
флаг cn
Я попросил команду серверов проверить политики брандмауэра между серверами.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.