簡體   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