最小權限原則:僅開放業務必要的埠,其餘全關閉。生產環境建議修改預設埠號,降低自動掃描攻擊風險。
| 服務/功能 | 預設埠 | 協定 | 可變更 | 備註 |
|---|---|---|---|---|
| 資料庫引擎 | 1433 | TCP | 是 | SQL Server Configuration Manager → TCP/IP 屬性 → IPAll → TCP Port |
| SSIS (DCOM/SCM) | 135 | TCP | 否 | 服務控制管理器 RPC 端點映射器,啟動/停止 SSIS 服務必須 |
| SSAS (預設實例) | 2383 | TCP | 是 | SSMS 連接 SSAS → 實例屬性 → Port(0=動態) |
| SSAS (命名實例/動態) | 動態 | TCP | 是 | 客戶端先連 2382 (SQL Browser) 解析實際埠 |
| SQL Server Browser | 1434 | UDP | 否 | 命名實例解析、DAC 連線必須 |
| 報表服務 (SSRS) | 80 | TCP | 是 | 報表服務設定管理器 → Web 服務/報表管理員 URL 埠 |
| Service Broker / 鏡像 / SOAP 端點 | 自訂 (如 4037) | TCP | 是 | `CREATE ENDPOINT ... AS TCP (LISTENER_PORT = xxxx)` |
| 檔案共享 (備份/複寫) | 137,138,139,445 | TCP/UDP | 否 | NetBIOS/SMB,跨伺服器檔案傳輸需開放 |
-- SSMS 或 Configuration Manager
-- 重啟 SQL Server 服務生效
-- 客戶端連線字串格式:Server=Host,Port (逗號分隔)
-- Service Broker 端點範例
USE master;
GO
CREATE ENDPOINT BrokerEndpoint
STATE = STARTED
AS TCP (LISTENER_PORT = 4037)
FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS);
GO
-- 需在防火牆開放 TCP 4037
資料庫鏡像、SOAP 端點同理,建立端點時指定埠並開放防火牆。
-- 客戶端測試 TCP 埠
telnet 1433
# 或 PowerShell
Test-NetConnection -ComputerName -Port 1433
-- 檢視伺服器監聽埠
netstat -an | findstr :1433
SQL Server 2008 涉及埠眾多,核心只有 1433 (引擎)、1434/UDP (Browser)、135 (SSIS)、2383 (SSAS)、80 (SSRS) 及自訂端點埠。依實際部署架構精準開放、修改預設埠、限制來源 IP,是資料庫網路安全的基石。