2009-05-25 16 views

回答

25

您可以使用類似Wireshark在他們在網絡上

+0

+1這是一個偉大的工具。 – BenAlabaster 2009-05-25 15:09:49

+1

+1,再見我遲到的答案。 – karim79 2009-05-25 15:15:51

+1

Wireshark的另一個+1。這正是我用來向客戶證明是否安全的證明。 – 2009-05-25 15:25:37

6

我會強制協議加密,以真實,信任服務器證書設置爲true,數據庫連接字符串中傳遞來查看數據包。如果服務器無法根據請求提供加密連接,則服務器無法建立連接。有一個article涵蓋了sql server 2005和更高版本的加密。

簡單的測試是嘗試使用和不使用加密的連接,並在發出不需要的連接類型時失敗。那麼直到DBA,IT或您配置服務器以符合您的要求。

11

您檢查sys.dm_exec_connections DMV的encrypt_option列。通過這種方式,您不僅可以證明它是加密的,還可以在啓動時在您的應用程序中進行驗證。要執行加密,請遵循此MSDN How To: Enable Encrypted Connections to the Database Engine中所述的方法。如果客戶端或服務器強制加密並提供證書,並且客戶端接受服務器證書,則連接將被加密。要驗證通信是否已加密,您可以使用內置的netmon.exe工具(必須從廣告/刪除系統組件中安裝),下載改進的Microsoft Network Monitor 3.2或其他第三方工具。

作爲替代方案,部署站點可以實施IPSec加密。

0

爲了保證正在使用加密,您需要在服務器上使用enable the force encryption option

客戶端加密不是強制性的。服務器端是強制性的。

當SQL Server服務啓動時,如果它無法讀取證書或存在其他障礙,它將停止。它不會接受未加密的連接。

爲了回答,我使用了一個數據包嗅探器,第一次使用加密來檢查,然後我只依靠服務器端加密是強制性的,而SQL不會啓動。

For SQL 2000, KB 276553

請記住,有電流 SQL Server的限制,如果你在服務器上啓用 加密。對於所有傳入連接,加密 將爲。 如果啓用了客戶端 計算機上加密,從客戶端所有傳出連接 嘗試作出任何SQL 服務器的 加密連接。

A KB search for SQL 2005

後期編輯:

使用MS JDBC客戶端的舊版本:它無法處理服務器端加密...

1

還有另一個來自微軟的低估工具:'微軟網絡監視器'。基本上這與wireshark非常相似,除了一些特定的MS協議比wireshark本身具有更好的解析器和可視化支持,顯然它只能在windows下運行;-)。

這個工具很舊,看起來很遺憾(迄今爲止還沒有看到更新的版本),但仍然做得很好,定義新協議的語法非常簡潔/有趣 - 因此它仍然擁有很多功能爲將來。 mnm 3.4 about dialog

分析示例 - 記錄被過濾TDS - 因此其他包大多discared:

Example Session for TDS (MSSQL)

這也是SQL Server連接正確。 MNM甚至可以直觀地看到通過電線的結果集 - 非常整齊。儘管如上所述的wireshark足以驗證加密和在線路上應用的證書。意味着它可以完全理解TDS-Protocoll。

處理TLS

還帶有擴展名(所謂的專家)「NmDecrypt」和權證書(包括私鑰) - 這是可能解密protocolls - 相當不錯的,它使用的TLS INSIDE TDS TDS - 難怪 - 沒有人真的實施了但作爲一個Wireshark的完全支持protocoll;)

鏈接的工具: