首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

透過 ISA Server 代理 SQL Server 實現跨網域安全存取

     編輯:關於SqlServer

架構動機

傳統 C/S 架構在廣域網部署面臨安全性挑戰;B/S 架構雖安全但開發複雜度高。利用 ISA Server 2000 作為 SQL Server 代理與防火牆,外部連線僅存取 ISA,由 ISA 透明轉導至內部 SQL Server,隱藏資料庫真實位址,兼顧開發效率與安全性。

核心元件簡介

安裝前置作業

ISA Server

  • 雙網卡:內部網段、外部網段
  • TCP/IP 設定完成
  • 執行 ISA Server Enterprise Initialization 設定陣列原則(建議:企業原則 + 陣列層級存取規則)
  • 先安裝 Windows 2000 SP1+
  • 建立區域地址表 (LAT) 僅包含內部私有 IP 範圍(RFC 1918)

SQL Server

  • Windows NT/2000,建立網域服務帳號
  • 關閉相關服務(含 IIS/ODBC)再安裝
  • 關閉事件檢視器、登錄編輯器

關鍵配置步驟

1. SQL Server 啟用 TCP/IP 並設定 WinSock Proxy

  • 「伺服器網路公用程式」→ 啟用 TCP/IP
  • 「屬性」→ 新增 WinSock Proxy,IP 設為 ISA 外部 IP(非內部 IP)
  • 設定連接埠(預設 1433)

2. 建立 Wspcfg.ini

路徑:與 sqlservr.exe 同目錄

[sqlservr]
ServerBindTCPPorts=1433
Persistent=1
KillOldSession=1

若埠非 1433,請同步修改。

3. SQL Server 安裝 Firewall Client

  • 連接 ISA,存取 \\ISA\MSPCLNT 共享
  • 安裝 Firewall Client

4. 重啟 SQL Server 服務

5. ISA 設定 LAT

  • 將 SQL Server 內部 IP、ISA 內部 IP 加入 LAT

6. ISA 設定伺服器發布規則

  • 「發布伺服器」→ 內部伺服器 IP = SQL 內部 IP
  • ISA 伺服器 IP = ISA 外部 IP
  • 協定對應選 Microsoft SQL Server
  • 設定存取規則(允許特定用戶/網段)

7. 客戶端測試

  1. HOSTS 檔加入 ISA 外部 IP 對應伺服器名稱
  2. ping ISA名稱 驗證解析
  3. 用戶端工具以 ISA 名稱連線測試

架構優勢

  • 資料庫真實 IP/名稱不曝露於外網
  • ISA 統一進行身分驗證、封包檢查、日誌稽核
  • 客戶端無感知,彷彿直連資料庫
  • 保留 C/S 開發優勢(豐富 UI、高效率)

此架構適合需對外開放資料庫存取、且不想重寫為 B/S 架構的企業應用遷移案例。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
元件角色
ISA Server 2000企業級防火牆與高速快取,整合 Windows 2000 AD,支援封包過濾、發布規則、VPN
SQL Server 2000關聯式資料庫與分析服務,支援 XML、OLAP、資料探勘