Sql-Server
如何使用 IPSec 加密與 SQL Server 的連接?
SQL Server OLEDB 提供程序可以通過連接字元串中的選項使用 SSL 加密連接到 SQL Server:
對數據使用加密
指定數據在通過網路發送之前是否應該加密。
有效值為“true”和“false”。預設值為“假”。
正如微軟指出的那樣,這有很多問題:
- 它需要獲得有效的 SSL 證書
- 它需要在伺服器上安裝 SSL 證書
- 它需要更改連接字元串
- 這不是我要問的
IPSec
幸運的是,微軟建議可以使用 IPSec作為替代方案:
SQL Server 數據可以在傳輸過程中使用 IPSec 進行加密。IPSec 由客戶端和伺服器作業系統提供,不需要 SQL Server 配置。有關 IPSec 的資訊,請參閱您的 Windows 或網路文件。
因為即使客戶端和伺服器都在同一個區域網路上:
我們不希望任何擁有 WireShark、集線器、處於惡意模式的 PC 或可以監控流量的交換機的任何人都能看到流量。
問題是:你是怎麼做到的?
研究努力無關緊要
在客戶端機器上,我們想要配置一個需要 IPSec 連接到 SQL Server 的策略(例如埠 1433)。從具有高級安全性的 Windows 防火牆中:
- 創建新的出站防火牆規則
- 對於 IP 埠:
- 用於目標 TCP 埠 1433
- 允許連接,如果它是安全的
- 結束
缺點是客戶端現在無法連接到伺服器:
獎金閱讀
- 超級使用者 - Windows 7 - 如何使用 IPSec (指隧道模式)
- Technet:加密與 SQL Server 的連接 (指使用者使用 IPSec)
- MS 論壇:IPSec 保護 SQL Server 連接 (接受的答案是他放棄了嘗試使用 IPsec)
- 如何使用 IPSEC 加密 SQL Server 流量? (接受的答案並未說明如何使用 IPSec 加密 SQL Server 流量)
- Serverfault 使用者Greg 說你不能使用 IPSec 來加密網路流量
- LAN 流量的 IPSec:基本注意事項? (加密區域網路流量的一般討論)
在您制定連接安全規則之前,您不能使用“如果它是安全的,則允許此連接”。這需要在兩個系統上定義並具有匹配的設置,就像設置標準 ipsec VPN 隧道一樣。
以下是如何為這個案例創建一個,一步一步。
- 打開 Windows Defender 防火牆管理單元 (wf.msc)
- 打開“連接安全規則”選項卡
- 右鍵點擊中心面板並選擇“新建規則”
- 選擇“伺服器到伺服器”模板。
- 在端點 1 中輸入本地電腦 IP 地址
- 在端點 2 中輸入遠端電腦 IP 地址。
- 作為一般規則,將連接安全規則設置為要求雙向驗證。
- 選擇一種方法來驗證此連接。
- 如果您的兩個系統都可以訪問共享的內部 CA / kerberos,這通常是最好的選擇。
- 如果做不到這一點——尤其是對於內部機器的 DMZ 來說——預共享密鑰是下一個最佳選擇。這是在高級身份驗證設置下設置的。
- 電腦證書以外的任何內容都在高級對話框中。
- 您可能只需要在此處使用“首次身份驗證”方法。
這個過程需要在你的兩台主機上重複。