Sql-Server

SQL Server 中的“強制加密”與“強制協議加密”

  • April 14, 2020

我試圖了解不同的設置如何影響我的伺服器-客戶端通信的行為。在伺服器上,我安裝了一個自簽名 CA,並帶有一個已發布的交換證書,該證書也已配置為供我的 SQL 服務使用。

起初,我希望在客戶端上未安裝根 CA 時看到此連接失敗。但無論我做什麼,它似乎都可以正常工作。

為了更好地理解原因,我試圖列出所有選項以及它們應該產生的效果。但我不確定我是否理解正確……

任何人都可以幫我更正並填寫這裡缺少的部分嗎?


在 SQL Server 上啟用“強制加密”設置時:

  • 實際上,這與Encrypt=True;TrustServerCertificate=True;我的連接字元串中的設置相同。客戶端對是否應該使用加密以及是否應該信任伺服器沒有發言權。
  • 此選項可用於加密單個服務實例。
  • 支持沒有 CA 的自簽名交換證書。

在 SQL Server 上啟用“強制協議加密”設置時:

  • 對伺服器上所有服務的所有客戶端連接都進行了加密。
  • 需要由客戶端和伺服器上可用的受信任 CA 頒發的交換證書。

在客戶端上使用“強制協議加密”設置時:

  • 此單個客戶端將強制使用 SSL,並需要由該機器上可用的受信任 CA 頒發的交換證書。沒有它,此連接將失敗。

在伺服器和客戶端上啟用“強制協議加密”設置時:

  • 不建議這樣做。但為什麼?會發生什麼,什麼會失敗?

在伺服器上同時啟用“強制加密”和“強制協議加密”時:

  • 這會產生什麼?啟用強制協議加密時,將強制加密設置為什麼是否重要?

Microsoft 的 MSDN 部落格有一個表格,描述了可能的條件及其結果。

請參閱有選擇地使用與 SQL Server 的安全連接以了解客戶端設置和連接屬性選項僅影響所涉及的客戶端的安全連接。伺服器和其他客戶端不受影響。

引用自:https://dba.stackexchange.com/questions/75421