it-swarm.com.de

SSL und veraltetes TLS (1.0 und 1.1) für Webdienst-Clientanwendung unter .NET 3.5

Gemäß PCI müssen wir ab dem 30. Juni 2016 die Verwendung von SSL und TLS (1.0 und 1.1 in bestimmten Implementierungen) gemäß http://blog.securitymetrics.com/2015/04/pci-3 einstellen -1-ssl-and-tls.html

Wir haben eine auf .Net 3.5 basierende Clientanwendung, die das HttpWebRequest-Objekt verwendet, um eine Verbindung zu Webdiensten herzustellen. 

Laut MSDN SecurityProtocolType ( https://msdn.Microsoft.com/en-us/library/system.net.securityprotocoltyp(v=vs.110).aspx ) werden nur Ssl3 und Tls (1.0) unterstützt. Net Framework 4 oder darunter. Tls11 und Tls12 werden nur von .NET Framework 4.5/4.6 unterstützt

Bedeutet dies, dass Sie sich in einer Karteninhaberdaten-Umgebung befinden und vollständig PCI-kompatibel sind. Wir müssen alle Anwendungen auf .Net 4.5/4.6 aktualisieren und nur Tls12 SecurityProtocolType die Verbindung zu externen Webdiensten mithilfe von HttpWebRequest zulassen. 

11
Nirlep

Jeder Kommunikationskanal, der derzeit SSL/frühes TLS verwendet oder bereit ist, sie bei Verhandlungen zu akzeptieren, und der zur Karteninhaberdatenumgebung als Sicherheitskontrolle gehört, muss so geändert werden, dass nur TLS 1.1 (mit einer genehmigten Verschlüsselungsreihe) verwendet wird ) oder höher.

Sie müssen unter .Net 4.5 oder höher erneut kompilieren (TLS 1.2 ist standardmäßig nicht aktiviert, daher sind Codeänderungen erforderlich) oder Sie verwenden eine Bibliothek eines Drittanbieters, die die erforderlichen Protokolle unterstützt.

Wenn Sie wissen, dass Ihr System SSL/frühes TLS verwendet, müssen Sie einen Risikominderungsplan dokument erstellen.

/ - INFORMATIONSZUSATZ Migration von SSL und Early TLS

2
Alex K.

Tatsächlich können Sie TLS 1.2 in Frameworks unter 4.5 verwenden (zumindest habe ich es in einem .NET Framework 4-Client verwaltet). Anstatt den klassischen Befehl zu verwenden, um das Protokoll als Tls12 festzulegen, können Sie es umgehen, indem Sie die ID für dieses Protokoll verwenden. 

  ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
4
tzes

Microsoft hat die undenkbaren und veröffentlichten Patches dafür gemacht

  • KB3154518 - Zuverlässigkeits-Rollup HR-1605 - NDP 2.0 SP2 - Win7 SP1/Win 2008 R2 SP1
  • KB3154519 - Zuverlässigkeits-Rollup HR-1605 - NDP 2.0 SP2 - Win8 RTM/Win 2012 RTM
  • KB3154520 - Zuverlässigkeits-Rollup HR-1605 - NDP 2.0 SP2 - Win8.1RTM/Win 2012 R2 RTM
  • KB3156421 - 1605 HotFix-Rollup über Windows Update für Windows 10.
1
Chris Gill

Was sie scheinbar nicht getan haben, ist das Update wsdl.exe, um TLS1.1 oder 1.2 zu unterstützen. Dies geschieht, wenn Sie versuchen, wsdle.exe aus .Net 4.7 auf einen Webdienst zu verweisen, der TLS1.0 nicht unterstützt:

Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 4.7.2558.0]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: There was an error processing 'http://<some.domain>/_vti_bin/Authentication.asmx?wsdl'.
  - There was an error downloading 'http://<some.domain>/_vti_bin/Authentication.asmx?wsdl'.
  - The underlying connection was closed: An unexpected error occurred on a send.
  - Authentication failed because the remote party has closed the transport stream.

Dies führt zu einigen echten Problemen und ich bin einfach verblüfft, dass diese App immer noch nicht aktualisiert wurde!

0
cyberspy