用戶端計算機必須信任伺服器證書,讓用戶端可以要求傳輸層安全性 (TLS) 加密,而且憑證必須已經存在伺服器上。 最常見的 SQL Server 加密案例涉及下列環境:
- 強制將所有與 SQL Server 的連入用戶端連線加密。
- 使用 Windows 已經信任之公開商業憑證授權單位所簽發的憑證。 CA 的對應根憑證會安裝在您網路中所有電腦上受信任的根憑證授權單位憑證存放區中。
在此案例中,您不需要執行額外的步驟,才能根據匯 入憑證來加密 SQL Server 的連線中所述的程式,設定 SQL Server 進行加密。 本文提供加密 SQL Server 連線的程式,以取得透過 匯入憑證來加密 SQL Server 連線中未涵蓋的較不常見案例。
注意
如需 Microsoft 信任根憑證計畫中參與者的完整清單,請參閱參與者清單 - Microsoft 信任根憑證計畫。
使用公開商業憑證授權單位所簽發的憑證,而且只有某些用戶端需要加密的連線
根據設定 SQL Server 使用憑證中的程序,在 SQL Server 上配置憑證。
將連線屬性中的加密關鍵字指定為 Yes 或 True。 例如,如果您使用 Microsoft ODBC Driver for SQL Server,則連接字串應該指定
Encrypt=yes;。
使用內部 CA 所簽發的憑證,或者使用 New-SelfSignedCertificate 或 makecert 建立的憑證
案例 1:您想要將所有與 SQL Server 的連線加密
完成步驟 1:設定 SQL Server 以使用憑證 和 步驟 2:在 SQL Server 中設定 加密 連線一文中的兩個程序之後,請使用下列其中一個選項來設定用戶端應用程式進行加密。
選項 1: 將用戶端應用程式設定為 信任伺服器證書。 此設定會導致用戶端略過驗證伺服器憑證的步驟,並繼續進行加密流程。 例如,如果您使用 SQL Server Management Studio (SSMS) 20 和更新版本,您可以在 [登入] 頁面上選取 [信任伺服器憑證],或在舊版的 [選項] 頁面上選取 [信任伺服器憑證]。
選項 2: 在每個用戶端上,執行下列步驟,將憑證的發行授權單位新增至受信任的根授權單位存放區:
案例 2:只有某些用戶端需要加密的連線
設定 SQL Server 使用的憑證之後,如匯入憑證來加密 SQL Server 連線中的步驟 1 中所述,請使用下列其中一個選項來設定用戶端應用程式以進行加密:
選項 1:將用戶端應用程式設定為信任伺服器證書,並在連線屬性中指定加密關鍵詞,以 [是] 或 True。 例如,如果您使用 Microsoft ODBC Driver for SQL Server,則連接字串應該指定 Encrypt=Yes;TrustServerCertificate=Yes;。
若要獲得有關伺服器憑證和加密的更多資訊,請參閱Using TrustServerCertificate。
選項 2:在每個用戶端上,將憑證的發行授權單位新增至受信任的根授權單位存放區,並在連接字串中指定加密參數為 是:
請使用文件中記載的程序,從執行 SQL Server 的電腦匯出憑證。
匯入憑證
將連線屬性中的加密關鍵字指定為 Yes 或 True。 例如,如果您使用 Microsoft OLEDB Driver for SQL Server,則連接字串應該指定 Use Encryption for Data = True;
使用由 SQL Server 自動建立的自我簽署憑證
案例 1:您想要將所有與 SQL Server 的連入連線加密
使用步驟 2:在 SQL Server 中設定加密設定 的程序,在 SQL Server 上啟用加密,該程序記載於透過 匯入憑證來加密與 SQL Server 的連線。
將用戶端應用程式設定為信任伺服器憑證。 信任伺服器憑證會導致用戶端略過驗證伺服器憑證的步驟,並繼續進行加密流程。 例如,如果您使用 SQL Server Management Studio (SSMS) 20 和更新版本,您可以在 [登入] 頁面上選取 [信任伺服器憑證],或在舊版的 [選項] 頁面上選取 [信任伺服器憑證]。
案例 2:只有某些用戶端需要加密的連線
將用戶端應用程式設定為信任伺服器憑證,並將連線屬性中的加密關鍵字指定為 Yes 或 True。 例如,如果您使用 Microsoft ODBC Driver for SQL Server,則連接字串應該指定 Encrypt=Yes;TrustServerCertificate=Yes;。
在此案例中,SQL Server 上不需要額外的設定。
警告
使用自我簽署憑證加密的 TLS/SSL 連線不提供強式安全性,因為自我簽署憑證中的密鑰長度比 CA 所產生的憑證中的密鑰短。 他們容易受到中間人攻擊。 您不應該依賴在生產環境中或連線到因特網的伺服器中使用自我簽署憑證的 TLS/SSL。