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

以命名管道強化 SQL Server 連線安全性

     編輯:關於SqlServer

預設 SQL Server 啟用 TCP/IP 通訊協定,僅需帳號密碼即可連線,若連線字串硬編碼於前端程式,極易遭反編譯洩露。改用命名管道,強制要求用戶具備作業系統層級的資源存取權限,大幅提升防護等級。

安全性比較

面向TCP/IP (預設)命名管道
驗證層級SQL Server 帳號/密碼或 Windows 整合驗證需先通過 OS 層級 SMB/檔案共享驗證
網路暴露埠 1433 直接對外,易遭掃描攻擊僅限內部網域/受信任主機存取 IPC$ 共享
連線字串風險帳密若洩露即可遠程連線帳密不足,還需 OS 權限

伺服器端設定

  1. 開啟「伺服器網路公用程式」(svrnetcn.exe)。
  2. 「一般」頁移除多餘協定,點「新增」→ 選「Named Pipes」。
  3. 「伺服器名稱」填入本機電腦名,確定重啟 SQL Server 服務。

用戶端設定

  1. 開啟「用戶端網路公用程式」(cliconfg.exe)。
  2. 同樣移除 TCP/IP,新增 Named Pipes 別名,伺服器別名填目標主機名或 IP。

連線驗證兩種情境

情境 A:用戶端已加入網域/具備資源存取權

直接使用 Windows 整合驗證或 SQL 驗證連線,無額外動作。

情境 B:工作群組環境/無網域信任

  1. 用戶端「執行」輸入 \\ServerIP 或 \\ServerName。
  2. 彈出認證對話框,輸入伺服器端有效的 Windows 帳號/密碼。
  3. 驗證成功建立 IPC$ 會話後,即可連線 SQL Server。

注意事項

  • 命名管道效能在高延遲網路(跨網段、VPN)較 TCP/IP 差,建議僅用於區域網路。
  • SQL Server 2005+ 預設僅啟用 Shared Memory 與 TCP/IP,命名管道需手動啟用。
  • 防火牆需開放 TCP 445 (SMB) 與 RPC 動態埠範圍。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved