架構概述
透過 Microsoft Proxy Server 的 WinSock Proxy 功能,將 SQL Server 發布伺服器/散發伺服器設為 Proxy 用戶端,使資料庫流量經由 Proxy 伺服器轉發,達到隱藏真實 IP、集中存取控制與稽核的目的。
步驟一:在 Proxy Server 定義 WinSock 協定
- 開啟「Microsoft Management Console」(MMC)。
- 展開「Internet Information Service」→ Proxy Server 電腦名稱。
- 右鍵「WinSock Proxy Service」→「內容」→「通訊協定」→「新增」。
- 設定:
- 通訊協定名稱:輸入散發伺服器電腦名稱
- 連接埠:1433 (SQL Server 預設)
- 類型:TCP
- 方向:Inbound
步驟二:設定發布/散發伺服器與 Proxy Server 協同運作
1. 綁定 WinSock 連接埠 (建立 Mssql7\Binn\Wspcfg.ini)
在執行 SQL Server 的伺服器上,於 Mssql7\Binn 目錄建立 Wspcfg.ini (若不存在),內容如下:
[sqlservr]
ServerBindTcpPorts=1433
Persistent=1
KillOldSession=1
SQL Server 將監聽 Proxy Server 服務連接埠 1433 上的連線要求。可在 Proxy Server 設定連接埠 1433 協定,限制僅允許特定 IP 位址連線。
2. 將 SQL Server 設為 Proxy 用戶端
- 安裝 Proxy Server 後,會建立共享
\\ServerName\mspclnt (對應資料夾 C:\Msp\Clients)。
- 在 SQL Server 伺服器上執行
\\ServerName\mspclnt\setup.exe 安裝 Proxy 用戶端軟體。
- 安裝完成後重新開機,SQL Server 即成為 Proxy Server 內部用戶端,所有外部連線將透過 Proxy 轉發。
安全性補充建議
- 在 Proxy Server 針對連接埠 1433 設定 IP 篩選,僅允許授權的發布/訂閱伺服器 IP 連入。
- SQL Server 服務帳號不應為本機系統帳號,建議使用具備最低權限的網域帳號。
- 啟用 SQL Server 稽核,記錄登入成功/失敗事件。
- 定期修補 Proxy Server 與 SQL Server 安全性更新。
結語
結合 WinSock Proxy 與 Proxy 用戶端機制,可在不修改 SQL Server 應用程式的前提下,為跨網際網路的複寫/遠端存取情境建立安全、可控的通訊通道。