繁体   English   中英

如何检查基于WPF的胖客户端应用程序是否使用传输层安全性(TLS)

[英]How to Check if a WPF based Thick Client application uses Transport Layer Security(TLS) or not

我们有一个基于Windows的桌面胖客户端应用程序,其前端基于WPF + Telerik构建,并使用WCF Web服务进行后端通信。

现在,通信正在通过SSL3.0进行

由于SSL3.0的最新安全问题,已决定在服务器端使用TLS 1.2或TLS 1.1来强制仅通过TLS进行所有通信。

我们尝试使用Fiddler和Wireshark验证基础Web服务通信。 我们可以看到通过TLS发生了200个“ Tunnel to”请求。

但是,还有其他方法可以交叉检查ThinClient应用程序是否为WebService请求显式或隐式使用TLS ...?

Windows已在2014年12月15日Windows Update中推送了TLS修补程序,并且Windows 2008 R2 App Server上也安装了该修补程序。 SSL3.0尚未作为后备选项被禁用,但明确未启用TLS。 但是MS KB文章说TLS优先(TLS1.2> TLS1.1> TLS1.0> SSL3.0)

安全更新(KnowledgeBase文章KB2992611,然后是另一个更新KB3018238)已于2014年12月9日发布,并已于2014年12月15日通过HP Monthly Patching安装。
请检查以下链接,以获取有关安全补丁及其影响的更多详细信息。 SSLv3.0漏洞修补程序上的官方Microsoft更新https://support2.microsoft.com/kb/2992611/zh-cn链接2 :technet.microsoft.com/en-us/library/security/ms14-066.aspx

有关支持TLS Link3的详细信息:blogs.msdn.com/b/kaushal/archive/2011/10/02/support-for-ssl-tls-protocols-on-windows.aspx

最初的补丁KB2992611和通过KB3018238 Link4立即修复所标识的问题infoworld.com/article/2848574/operating-systems/microsoft-botches-kb-2992611-schannel-patch-tls-alert-code-40-slow-sql-server-块-IIS-sites.html

如果您打算测试是否已在服务器上启用了TLS /可以进行协商,则可以使用TcpClientSSLStream编写一些探测代码以强制进行TLS协商,并查看它是否实际上已经过协商。 看到:

如果要防止任何.NET代码发出的所有“ https”请求的SSL后备,请使用以下命令进行设置:

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

注意:将其应用于AppDomain ,因此会影响在同一AppDomain中完成的所有HttpWebRequests

如果要对用于与服务器进行通信的WCF通道堆栈进行更明确/高级的控制(以便可以强制仅使用TLS传输级别安全性),则可以编写自己的StreamUpgradeProvider

(我“认为”您将通过使用TcpClientSSlStream建立使用TLS的自己的Stream ……然后您将进行频道升级以使用它……(这可能是错误的)……或这是您缠绕Stream给你的升级与SSlStream

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM