it-swarm.com.de

Durch Deaktivieren von TLS 1.0 wird die ASP.NET-Anwendung unterbrochen

Läuft unter Windows Server 2012R2

Ich versuche TLS 1.0 auf IIS zu deaktivieren, da der Client über einen Standortscanner verfügt, der dies als Sicherheitsproblem hervorhebt.

Ich habe einen sauberen Testserver eingerichtet und die App läuft einwandfrei, bis ich TLS 1.0 deaktiviere.

Ich habe alle entsprechenden Einstellungen aktualisiert:

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

In der Ereignisanzeige erhalte ich:

Eine schwerwiegende Warnung wurde generiert und an den Remote-Endpunkt gesendet. Dies kann zur Beendigung der Verbindung führen. Der vom TLS-Protokoll definierte schwerwiegende Fehlercode ist 70. Der Windows-SChannel-Fehlerstatus ist 105.

Wenn ich die Registrierungseinstellungen nur für TLS 1.0 (Enabled, nicht DisabledByDefault) zurücksetze, ist alles wieder in Ordnung.

Verwendung in system.web:

<httpRuntime targetFramework="4.7.2" />

Was vermisse ich?

10
Cade Roux

Ihre Site kommuniziert möglicherweise mit etwas über SSL, das TLS 1.1+ nicht unterstützt. Sie könnten ausgehende TLS 1.0-Verbindungen zulassen, die der Standortscanner nicht sehen würde, aber diese Verbindungen wären weniger sicher.

2
C.M.

Die Anwendung selbst muss aktualisiert werden, um TLS 1.2-Handshakes zu unterstützen. Sie können sie also nicht unbedingt ändern, wenn Sie nur Zugriff auf die Konfiguration haben. Wenn der zugrunde liegende Code ihn nicht unterstützt, funktioniert er nicht.

Wenn der Code .NET 4.6 als Ziel hat, wird TLS 1.2 meiner Meinung nach nativ funktionieren. In 4.5 muss eine Codezeile so platziert werden, dass sie ausgeführt wird, bevor eine Netzwerkverbindung hergestellt wird. Der Code:

System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12
6
hurlman

Haben Sie versucht, die Schannel-Protokollierung zu aktivieren, um weitere Informationen zu erhalten?

https://support.Microsoft.com/de-de/help/260729/how-to-enable-schannel-event-logging-in-iis

Hoffe, dass das fehlende Stück enthüllt wird.

1
frostshoxx