Отключение TLS 1.0 нарушает работу приложения ASP.NET - PullRequest
0 голосов
/ 14 мая 2018

Работает на Windows Server 2012R2

Я пытаюсь отключить TLS 1.0 на IIS, потому что у клиента есть сканер сайта, который выдвигает на первый план это как проблему безопасности.

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

Я обновил все соответствующие настройки:

Windows Registry Editor Version 5.00

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

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

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

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

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]
"Enabled"=dword:00000000
"DisabledByDefault"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"Enabled"=dword:ffffffff
"DisabledByDefault"=dword:00000000

В программе просмотра событий я получаю:

Неустранимое предупреждение было сгенерировано и отправлено на удаленную конечную точку.Это может привести к разрыву соединения.Протокол фатальной ошибки, определенный протоколом TLS, равен 70. Состояние ошибки Windows SChannel равно 105.

Если я восстановлю параметры реестра только для TLS 1.0 (включено, а не DisabledByDefault), все снова в порядке.

Использование в system.web:

<httpRuntime targetFramework="4.7.2" />

Чего мне не хватает?

Ответы [ 3 ]

0 голосов
/ 23 мая 2018

Само приложение должно быть обновлено для поддержки рукопожатий TLS 1.2, так что это не то, что вы обязательно можете изменить, если у вас есть только доступ к конфигурации. Если базовый код не поддерживает его, он не будет работать.

Если код нацелен на .NET 4.6, я полагаю, TLS 1.2 будет работать изначально. В 4.5 должна быть введена строка кода, чтобы она выполнялась до того, как произойдет какая-либо работа в сети. Код:

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
0 голосов
/ 23 мая 2018

Ваш сайт может обмениваться данными через SSL, который не поддерживает TLS 1.1+. Вы можете разрешить исходящие соединения TLS 1.0, которые не будут видны сканеру сайта, но эти соединения будут менее безопасными.

0 голосов
/ 23 мая 2018

Вы пытались включить ведение журнала schannel для получения дополнительной информации?

https://support.microsoft.com/en-us/help/260729/how-to-enable-schannel-event-logging-in-iis

Надеюсь, что обнаружит недостающую часть.

...