啟用加密的連線
透過網路在 SQL Server 執行個體與使用傳輸層安全性 (TLS) 用戶端應用程式之間傳輸的資料可以加密。 TLS 加密是在通訊協定層內執行,而且適用於所有支援的 SQL Server 和 Azure SQL 資料庫服務。
傳輸層安全性 (TLS)
傳輸層安全性 (TLS) 是加密連線所使用的通訊協定,可提升透過網路在 SQL Server 執行個體和應用程式之間傳輸的資料安全性。
私人憑證經憑證授權單位核發,且指派給執行 SQL Server 執行個體的伺服器之後,伺服器就可以使用該憑證以安全的方式驗證用戶端要求。 這種驗證必須將執行用戶端應用程式的電腦設定成信任 SQL Server 使用的憑證。
Azure SQL Database 可以在伺服器層級強制執行最低的 TLS 版本。 目前支援的 TLS 版本為 1.0、1.1 和 1.2。 如果用戶端應用程式支援加密的連線,建議您在測試應用程式之後,將其設定為支援的最新 TLS 版本。 選擇最新的 TLS 版本是很好的做法,因為最新版本會提供已知舊版弱點的額外修正。
SQL Database 的最低 TLS 版本設定可從 [防火牆與虛擬網路] 畫面中存取,如上圖所示。
下表說明可用的選項,視用戶端應用程式是否支援加密的連線而定。
案例 | 選項 |
---|---|
不支援 TLS | 保留預設值的最低 TLS 版本設定。 |
支援的最新 TLS 版本 | 將最低的 TLS 版本設為 1.2。 |
支援的較舊 TLS 版本 | 將最低的 TLS 版本設為 1.0 或 1.2。 評估 TLS 1.2 整備程度的工作負載,並開發移轉計劃。 |
啟用 TLS 加密可為 SQL Server 執行個體和應用程式之間的通訊提供隱私權和資料安全性。 不過,使用 TLS 加密 SQL Server 與用戶端應用程式之間的流量時,連線期間會需要更多的網路來回行程和額外的處理。
若為 Azure SQL 受控執行個體,請使用 az sql mi update
Azure CLI 命令或 Set-AzSqlInstance
PowerShell Cmdlet 來設定最低 TLS 版本。
注意
根據預設,Azure SQL Database 不需要特定的最低 TLS 版本。 強制執行 TLS 版本之後,就無法再還原為預設值。
憑證
您必須使用本機系統管理員帳戶執行 SQL Server 組態管理員,才能安裝憑證以供 SQL Server 使用。
此外,憑證必須符合下列條件:
憑證必須位於本機電腦憑證存放區或目前使用者的憑證存放區。
SQL Server 服務帳戶必須具有存取憑證的權限。
憑證必須在有效期內。
注意
如未提供正確的存取權,重新啟動 SQL Server 服務將會失敗。
如需安裝 TLS 憑證時的完整需求清單,請參閱啟用資料庫引擎的加密連線。
設定 SQL Server 執行個體
您可以遵循下列步驟,將 SQL Server 執行個體設定為使用加密的連線:
在 [SQL Server 組態管理員] 中,展開 [SQL Server 網路組態],以滑鼠右鍵按一下 [<伺服器執行個體> 的通訊協定],然後選取 [屬性]。
在 [<伺服器執行個體> 的通訊協定] 對話方塊中,選取 [憑證] 索引標籤,再從 [憑證] 下拉式清單中選取憑證。
在 [旗標] 索引標籤的 [ForceEncryption] 屬性中選取 [是],然後按一下 [確定]。
重新啟動 SQL Server 服務。
必要設定就緒之後,您就可以透過 SQL Server Management Studio 測試連線:
在 [連接到伺服器] 對話方塊中,完成連接資訊,然後按一下 [選項]。
在 [連接屬性] 索引標籤上,按一下 [加密連線],然後按一下 [連線]。
您必須正確執行所有步驟,才能使用 TLS 透過 SQL Server Management Studio 進行驗證。