Sql-Server
即使在伺服器端啟用了強制加密,MS SQL Server 也接受非 SSL 連接
我在我的 SQL Server 上強制加密。我的意圖是拒絕任何不使用 SSL 連接的客戶端連接。我在正確的軌道上嗎?
這是我的詳細步驟:
- makecert -r -pe -n “CN=slc02xla.company.com” -b 01/01/2000 -e 01/01/2036 -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange -sp “Microsoft RSA SChannel 加密提供程序” -sy 12 c:\my.cer
- 我將相同的證書導入到受信任的根證書頒發機構儲存中
- 在 SQL Server 配置管理器中,展開 SQL Server 網路配置,右鍵點擊協議,然後選擇屬性。
- 在證書選項卡上,從證書下拉菜單中選擇所需的證書,然後點擊確定。
- 在“標誌”選項卡上,在“強制加密”框中選擇“是”,然後點擊“確定”關閉對話框。
- 重新啟動 SQL Server 服務。
我還缺少什麼嗎?
是的,這是正確的。此處還描述了啟用與數據庫引擎的加密連接(SQL Server 配置管理器) 也許這個討論也有幫助:force-encryption-on-sql-server-not-working
有兩種方法可以加密 SSL 連接。
- 為所有傳入的 SSL 客戶端請求配置伺服器。
- 選擇性客戶端配置。
在第一種情況下,如果您在伺服器上安裝了證書並設置“強制加密為是”,那麼無論哪個客戶端查詢連接,它將始終創建 SSL 連接。
在第二種情況下,您需要在伺服器和客戶端(信任根證書頒發機構儲存)機器上安裝相同的證書。然後它將為該客戶端創建 SSL 連接,否則它將無法建立 SSL 連接(前提是您檢查了加密連接SSMS)。如果未選中加密連接,則它將創建連接但不安全 (SSL)。