共用方式為


Configure the Windows Firewall to Allow SQL Server Access

防火牆系統有助於防止未經授權存取電腦資源。 如果防火牆已開啟但未正確設定,系統可能會封鎖針對 SQL Server 的連線嘗試。

若要透過防火牆存取 SQL Server 執行個體,您必須在執行 SQL Server 的電腦上,將防火牆設定為允許存取。 防火牆是 Microsoft Windows 的元件。 您也可以安裝來自其他公司的防火牆。 雖然本主題將討論如何設定 Windows 防火牆,但是基本原則也適用於其他防火牆程式。

注意

本主題提供防火牆設定的概觀,並摘要說明SQL Server系統管理員感興趣的資訊。 如需有關防火牆的詳細資訊以及授權的防火牆資訊,請參閱防火牆文件集,例如 具有進階安全性的 Windows 防火牆和 IPsec

熟悉 [控制台] 中 [Windows 防火牆] 項目與 [具有進階安全性的 Windows 防火牆] Microsoft Management Console (MMC) 嵌入式管理單元,以及知道自己想要設定之防火牆設定的使用者,可以直接移至下列清單中的主題:

基本防火牆資訊

防火牆的運作方式是檢查內送封包,以及針對一組規則比較這些封包。 如果這些規則允許封包,防火牆就會將該封包傳遞給 TCP/IP 通訊協定,進行其他處理。 如果這些規則不允許封包,防火牆就會捨棄該封包,而且如果啟用記錄的話,還會在防火牆記錄檔中建立項目。

允許傳輸的清單是以下列其中一種方式填入:

  • 當啟用防火牆的電腦起始通訊時,防火牆就會在清單中建立項目,以便允許回應。 內送回應會被視為要求的傳輸,而且您不需要設定這個項目。

  • 管理員設定防火牆的例外。 這樣會允許存取在電腦上執行的指定程式,或存取電腦上的指定連接通訊埠。 在此情況下,當此電腦當做伺服器、接聽程式或對等運作時,它就會接受未經要求的內送傳輸。 這是必須完成才能連線到SQL Server的組態類型。

選擇防火牆策略比單獨決定給定的通訊埠應該開啟或關閉更複雜。 為企業設計防火牆策略時,請務必考慮所有適用的規則和組態選項。 本主題不會檢閱所有可能的防火牆選項。 我們建議您檢閱下列文件:

具有進階安全性的 Windows 防火牆入門指南

具有進階安全性的 Windows 防火牆設計指南

伺服器及網域隔離簡介

預設防火牆設定

規劃防火牆組態的第一個步驟是判斷作業系統之防火牆的目前狀態。 如果作業系統是從舊版升級,先前的防火牆設定可能已經保留下來。 此外,其他管理員或網域中的「群組原則」可能已經變更了防火牆設定。

注意

開啟防火牆將會影響存取此電腦的其他程式,例如檔案及列印共用,以及遠端桌面連接。 調整防火牆設定之前,管理員應該考慮在電腦上執行的所有應用程式。

設定防火牆的程式

有三種方式可設定 Windows 防火牆設定。

  • 控制台中的 Windows 防火牆項目

    您可以從 [控制台] 開啟 [Windows 防火牆] 項目。

    重要

    在 [控制台] 之 [Windows 防火牆] 項目中進行的變更只會影響目前的設定檔。 筆記型電腦等行動裝置不應該使用 [控制台] 中的 [Windows 防火牆] 項目,因為此設定檔可能會在不同的組態中連接時變更。 然後,先前設定的設定檔將不會生效。 如需有關設定檔的詳細資訊,請參閱< 具有進階安全性的 Windows 防火牆入門指南>。

    [控制台] 中的 [Windows 防火牆] 項目可讓您設定一些基本選項。 這些選項包括:

    • 開啟或關閉 [控制台] 中的 [Windows 防火牆] 項目。

    • 啟用和停用規則

    • 授與通訊埠和程式的例外

    • 設定某些範圍限制

    [控制台] 中的 [Windows 防火牆] 項目最適合沒有防火牆組態設定經驗的使用者,以及針對非行動式電腦設定基本防火牆選項的使用者。 您也可以使用下列程式,從 run 命令開啟 主控台 中的Windows 防火牆專案:

    開啟 Windows 防火牆項目

    1. [開始] 功能表按一下 [執行],然後輸入 firewall.cpl

    2. 按一下 [確定] 。

  • Microsoft Management Console (MMC)

    [具有進階安全性的 Windows 防火牆] MMC 嵌入式管理單元可讓您設定更多進階的防火牆設定。 這個嵌入式管理單元會以容易使用的方式呈現大部分防火牆選項,而且它會呈現所有防火牆設定檔。 如需詳細資訊,請參閱本主題稍後的 Using the Windows Firewall with Advanced Security Snap-in (使用具有進階安全性的 Windows 防火牆嵌入式管理單元)。

  • netsh

    系統管理員可以使用 netsh.exe 工具來設定及監視命令提示字元中的 Windows 電腦,或使用批次檔**。** 透過 netsh 工具,您可以將輸入的內容命令導向到適當的協助程式,然後協助程式執行命令。 協助程式為一動態連結程式庫 (.dll) 檔案,可為一或多項服務、公用程式或通訊協定提供組態、監視與支援,從而延伸 netsh 工具的功能。 所有支援 SQL Server 的作業系統都具備防火牆協助程式。 Windows Server 2008 還具備進階防火牆協助程式,稱為 advfirewall。 本主題將不會討論使用 netsh 的詳細資料。 不過,您可以使用 netsh設定本文所描述的許多組態選項。 例如,在命令提示字元中執行下列指令碼,即可開啟

    netsh firewall set portopening protocol = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT  
    

    針對進階安全性協助程式使用 Windows 防火牆的類似範例:

    netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN  
    

    如需有關 netsh的詳細資訊,請參閱下列連結:

SQL Server 所使用的通訊埠

下列表格可協助您識別 SQL Server 所用的連接埠。

Database Engine 所使用的通訊埠

下表列出了資料庫引擎常用的連接埠。

案例 連接埠 註解
SQL Server透過 TCP 執行的預設實例 TCP 通訊埠 1433 這是允許通過防火牆最常見的通訊埠。 適用於資料庫引擎預設安裝的常式連線,或適用於作為電腦上唯一執行之執行個體的具名執行個體。 (具名實例有特殊考慮。請參閱本主題稍後的 動態埠 。)
在預設組態中SQL Server具名實例 此 TCP 連接埠是在資料庫引擎啟動時所決定的動態連接埠。 請參閱下面「 動態通訊埠」一節的討論。 當您使用具名實例時,SQL Server Browser Service 可能需要 UDP 埠 1434。
當具名實例設定為使用固定埠時,SQL Server具名實例 管理員所設定的通訊埠編號。 請參閱下面「 動態通訊埠」一節的討論。
專用管理員連接 TCP 通訊埠 1434 (預設執行個體)。 其他通訊埠則用於具名執行個體。 請檢查錯誤記錄檔,以取得通訊埠編號。 根據預設,系統不會啟用專用管理員連接 (DAC) 的遠端連接。 若要啟用遠端 DAC,請使用介面區組態 Facet。 如需詳細資訊,請參閱< Surface Area Configuration>。
SQL Server Browser 服務 UDP 通訊埠 1434 SQL Server Browser 服務會接聽具名實例的連入連線,並提供用戶端對應至該具名實例的 TCP 埠號碼。 通常來說,只要使用資料庫引擎的具名執行個體,SQL Server Browser 服務就會啟動。 如果用戶端設定為連接到具名實例的特定埠,則不需要啟動 SQL Server Browser 服務。
SQL Server透過 HTTP 端點執行的實例。 可以在建立 HTTP 端點時指定。 預設值為 TCP 通訊埠 80 (用於 CLEAR_PORT 傳輸) 和 443 (用於 SSL_PORT 傳輸)。 用於透過 URL 進行 HTTP 連接。
SQL Server透過 HTTPS 端點執行的預設實例。 TCP 通訊埠 443 用於透過 URL 進行 HTTPS 連接。 HTTPS 是使用安全通訊端層 (SSL) 的 HTTP 連接。
Service Broker TCP 通訊埠 4022。 若要確認使用的通訊埠,請執行下列查詢:

SELECT name, protocol_desc, port, state_desc

FROM sys.tcp_endpoints

WHERE type_desc = 'SERVICE_BROKER'
SQL ServerService Broker 沒有預設埠,但這是《線上叢書》範例中使用的傳統組態。
資料庫鏡像 管理員所選擇的通訊埠。 若要判斷此通訊埠,請執行下列查詢:

SELECT name, protocol_desc, port, state_desc FROM sys.tcp_endpoints

WHERE type_desc = 'DATABASE_MIRRORING'
雖然資料庫鏡像沒有預設通訊埠,不過線上叢書範例會使用 TCP 通訊埠 7022。 請務必避免中斷使用中的鏡像端點,尤其是在具有自動容錯移轉的高安全性模式中。 您的防火牆組態必須避免中斷仲裁。 如需詳細資訊,請參閱指定伺服器網路位址 (資料庫鏡像)
複寫 SQL Server複寫連線會針對預設實例使用一般 Database Engine 埠 (TCP 埠 1433 等)

複寫快照集的 Web 同步處理和 FTP/UNC 存取需要在防火牆上開啟其他通訊埠。 為了將初始資料和結構描述從某個位置傳送至另一個位置,複寫可能會使用 FTP (TCP 通訊埠 21)、透過 HTTP 同步處理 (TCP 通訊埠 80) 或檔案共用。 檔案共用會使用 UDP 通訊埠 137 和 138,以及 TCP 通訊埠 139 (如果使用 NetBIOS)。 檔案共用使用 TCP 通訊埠 445。
若要透過 HTTP 進行同步處理,複寫會使用 IIS 端點 (埠,這些埠可設定,但預設為埠 80) ,但 IIS 進程會透過預設實例的標準埠 (1433 連線到後端SQL Server。

使用 FTP 進行 Web 同步處理時,FTP 傳輸會在 IIS 和 SQL Server 發行者之間進行傳輸,而非在訂閱者和 IIS 之間。
Transact-SQL 偵錯工具 TCP 通訊埠 135

請參閱「 通訊埠 135 的特殊考量

可能也需要「 IPsec 」例外。
如果使用的是 Visual Studio,您也必須在 Visual Studio 主機電腦上將 Devenv.exe 新增至 [例外狀況] 清單並開啟 TCP 連接埠 135。

如果使用的是 Management Studio,您也必須在 Management Studio 主機電腦上將 ssms.exe 新增至 [例外狀況] 清單並開啟 TCP 連接埠 135。 如需詳細資訊,請參閱 設定 Transact-SQL 偵錯工具

如需設定 Database Engine 之 Windows 防火牆的逐步指示,請參閱 設定 Database Engine 存取的 Windows 防火牆

動態通訊埠

具名執行個體 (包含 SQL Server Express) 預設會使用動態連接埠。 這表示每次 Database Engine 啟動時,都會識別可用的埠,並使用該埠號碼。 如果具名執行個體是唯一安裝的資料庫引擎執行個體,可能就會使用 TCP 連接埠 1433。 如果安裝了其他資料庫引擎執行個體,該執行個體可能會使用不同的 TCP 連接埠。 因為選取的埠可能會在每次啟動 Database Engine 時變更,所以很難設定防火牆來啟用正確埠號碼的存取權。 因此,如果使用防火牆,建議您每次重新設定 Database Engine 以使用相同的埠號碼。 這個通訊埠就稱為固定通訊埠或靜態通訊埠。 如需詳細資訊,請參閱將伺服器設定為接聽特定 TCP 連接埠 (SQL Server 組態管理員)

另一種將具名執行個體設定為接聽固定連接埠的方法,是為 sqlservr.exe 等 SQL Server 程式 (適用於資料庫引擎) 建立防火牆中的例外狀況。 雖然這樣很方便,但當您使用具有進階安全性的 Windows 防火牆 MMC 嵌入式管理單元時,通訊埠編號將不會顯示在 [輸入規則] 頁面的 [本機通訊埠] 資料行中。 如此一來可能會讓您更難以稽核哪些通訊埠已開啟。 另一個考慮是 Service Pack 或累積更新可以變更SQL Server可執行檔的路徑,使防火牆規則失效。

注意

下列程序會使用 [控制台] 中的 [Windows 防火牆] 項目。 [具有進階安全性的 Windows 防火牆] MMC 嵌入式管理單元可以設定更複雜的規則。 這包括設定服務例外,以便用於提供深度防禦。 請參閱下面的 使用具有進階安全的 Windows 防火牆性嵌入式管理單元

使用控制台中的 Windows 防火牆項目,將程式例外加入至防火牆
  1. 在 [控制台] 中,於 [Windows 防火牆] 項目的 [例外] 索引標籤上,按一下 [新增程式]

  2. 流覽至您想要允許通過防火牆之SQL Server實例的位置,例如C:\Program Files\Microsoft SQL Server\MSSQL12。 <instance_name > \MSSQL\Binn,選取[sqlservr.exe],然後按一下 [開啟]。

  3. 按一下 [確定] 。

如需端點的詳細資訊,請參閱設定資料庫引擎接聽多個 TCP 連接埠端點目錄檢視 (Transact-SQL)

Analysis Services 所使用的通訊埠

下表列出了 Analysis Services 常用的連接埠。

功能 連接埠 註解
Analysis Services TCP 通訊埠 2383 (預設執行個體) Analysis Services 預設執行個體的標準連接埠。
SQL Server Browser 服務 只有 Analysis Services 具名執行個體需要 TCP 連接埠 2382 未指定埠號碼之 Analysis Services 具名實例的用戶端連線要求會導向至埠 2382,也就是SQL Server Browser 接聽的埠。 SQL Server Browser 接著會將要求重新導向至具名執行個體所使用的連接埠。
Analysis Services 已設定成可透過 IIS/HTTP 使用

(樞紐分析表??服務使用 HTTP 或 HTTPS)
TCP 通訊埠 80 用於透過 URL 進行 HTTP 連接。
Analysis Services 已設定成可透過 IIS/HTTPS 使用

(樞紐分析表??服務使用 HTTP 或 HTTPS)
TCP 通訊埠 443 用於透過 URL 進行 HTTPS 連接。 HTTPS 是使用安全通訊端層 (SSL) 的 HTTP 連接。

如果使用者透過 IIS 和網際網路存取 Analysis Services,您必須開啟 IIS 正在接聽的埠,並在用戶端連接字串中指定該埠。 在此情況下,直接存取 Analysis Services 時就無須開啟任何連接埠。 不過,您應該限制預設通訊埠 2389 和通訊埠 2382 與所有不需要的其他通訊埠。

如需設定 Analysis Services 的 Windows 防火牆的逐步指示,請參閱 設定 Windows 防火牆以允許 Analysis Services 存取

Reporting Services 所使用的通訊埠

下表列出了 Reporting Services 常用的連接埠。

功能 連接埠 註解
Reporting Services Web 服務 TCP 通訊埠 80 用於透過 URL 與 Reporting Services 進行 HTTP 連線。 建議您不要使用預先設定的規則 World Wide Web 服務 (HTTP) 。 如需詳細資訊,請參閱下面的「 與其他防火牆規則的互動 」一節。
Reporting Services 已設定成可透過 HTTPS 使用 TCP 通訊埠 443 用於透過 URL 進行 HTTPS 連接。 HTTPS 是使用安全通訊端層 (SSL) 的 HTTP 連接。 建議您不要使用預先設定的規則 Secure World Wide Web 服務 (HTTPS) 。 如需詳細資訊,請參閱下面的「 與其他防火牆規則的互動 」一節。

當 Reporting Services 連線至資料庫引擎或 Analysis Services 的執行個體時,您也必須為這些服務開啟適當的連接埠。 如需了解為 Reporting Services 設定 Windows 防火牆的逐步指示,請參閱設定防火牆以允許報表伺服器存取

Integration Services 所使用的通訊埠

下表列出了 Integration Services 服務常用的連接埠。

功能 連接埠 註解
Microsoft 遠端程序呼叫 (MS RPC)

由 Integration Services 執行階段使用。
TCP 通訊埠 135

請參閱「 通訊埠 135 的特殊考量
Integration Services 服務會使用連接埠 135 上的 DCOM。 服務控制管理員會使用埠 135 來執行工作,例如啟動和停止 Integration Services 服務,以及將控制要求傳輸至執行中的服務。 您無法變更此通訊埠編號。

如果您從 Management Studio 或自訂應用程式連線到 Integration Services 服務的遠端實例,則必須開啟此埠。

如需設定 Integration Services Windows 防火牆的逐步指示,請參閱 設定 Windows 防火牆以存取 SSIS 服務

其他通訊埠和服務

下表列出了 SQL Server 可能仰賴的連接埠和服務。

案例 連接埠 註解
Windows Management Instrumentation

如需有關 WMI 的詳細資訊,請參閱< WMI Provider for Configuration Management Concepts>。
WMI 會使用透過 DCOM 所指派的通訊埠,當做共用服務主機執行。 WMI 可能正在使用 TCP 通訊埠 135。

請參閱「 通訊埠 135 的特殊考量
SQL Server 組態管理員會使用 WMI 來列出服務並加以管理。 建議您使用預先設定的規則群組 Windows Management Instrumentation (WMI) 。 如需詳細資訊,請參閱下面的「 與其他防火牆規則的互動 」一節。
Microsoft 分散式交易協調器 (MS DTC) TCP 通訊埠 135

請參閱「 通訊埠 135 的特殊考量
若應用程式使用分散式交易,您可能必須設定防火牆,以允許 Microsoft 分散式交易協調器 (MS DTC) 流量在個別 MS DTC 執行個體之間,以及在 MS DTC 與資源管理員 (如 SQL Server) 之間流動。 我們建議您使用預先設定的規則群組 [分散式交易協調器]

針對個別資源群組中的整個叢集設定了單一共用 MS DTC 時,您應該將 sqlservr.exe 當做例外加入至防火牆。
Management Studio 中的瀏覽按鈕會使用 UDP 來連線至 SQL Server Browser 服務。 如需詳細資訊,請參閱 SQL Server Browser 服務 (資料庫引擎和 SSAS) UDP 通訊埠 1434 UDP 是一種無連接的通訊協定。

防火牆具有一項名為 INetFwProfile 介面的 UnicastResponsesToMulticastBroadcastDisabled 屬性 的設定,可在廣播 (或多點傳送) UDP 要求的單點傳送回應方面控制防火牆的行為。 它有兩種行為:

如果此設定為 TRUE,就完全不允許廣播的任何單點傳送回應。 列舉服務將會失敗。

如果此設定為 FALSE (預設值),就允許單點傳送回應 3 秒。 您無法設定時間的長度。 在叢集或高延遲網路或大量載入的伺服器中,嘗試列舉SQL Server的實例可能會傳回部分清單,這可能會誤導使用者。
IPsec 傳輸 UDP 通訊埠 500 和 UDP 通訊埠 4500 如果網域原則要求透過 IPsec 完成網路通訊,您也必須將 UDP 通訊埠 4500 和 UDP 通訊埠 500 加入至例外清單。 IPsec 是在 Windows 防火牆嵌入式管理單元中使用 [新增輸入規則精靈] 的選項。 如需詳細資訊,請參閱稍後的 使用具有進階安全性嵌入式管理單元的 Windows 防火牆
使用 Windows 驗證搭配信任的網域 防火牆必須設定成允許驗證要求。 如需詳細資訊,請參閱< 如何設定網域和信任的防火牆>。
SQL Server 和 Windows 叢集 叢集需要與SQL Server不直接相關的其他埠。 如需詳細資訊,請參閱< 啟用可供叢集使用的網路>。
保留在 HTTP 伺服器 API (HTTP.SYS) 中的 URL 命名空間 可能是 TCP 通訊埠 80,但是可以設定成其他通訊埠。 如需一般資訊,請參閱< 設定 HTTP 和 HTTPS>。 如需使用 HttpCfg.exe 保留 HTTP.SYS 端點的 SQL Server 特定資訊,請參閱關於 URL 保留及註冊 (SSRS 組態管理員)

通訊埠 135 的特殊考量

當您使用 RPC 搭配 TCP/IP 或 UDP/IP 當做傳輸時,系統通常會視需要以動態方式將傳入通訊埠指派給系統服務。所使用的是大於通訊埠 1024 的 TCP/IP 和 UDP/IP 通訊埠。 這些通常稱為「隨機 RPC 埠」。在這些情況下,RPC 用戶端會依賴 RPC 端點對應程式,告訴它們哪些動態埠已指派給伺服器。 對於某些以 RPC 為基礎的服務而言,您可以設定特定通訊埠,而非讓 RPC 以動態方式指派通訊埠。 不論服務為何,您都可以將 RPC 以動態方式指派的通訊埠範圍限制成小範圍。 由於通訊埠 135 用於許多服務,所以它經常會受到惡意使用者的攻擊。 開啟通訊埠

如需有關通訊埠 135 的詳細資訊,請參閱下列參考:

與其他防火牆規則的互動

[Windows 防火牆] 會使用規則和規則群組來建立其組態。 每個規則或規則群組通常會與特定的程式或服務相關聯,而且該程式或服務可能會不經通知而修改或刪除該項規則。 例如,規則群組 World Wide Web 服務 (HTTP)World Wide Web 服務 (HTTPS) 會與 IIS 相關聯。 啟用這些規則會開啟連接埠 80 和 443,而且如果啟用這些規則,相依於連接埠 80 和 443 的 SQL Server 功能都將正常運作。 不過,設定 IIS 的管理員可能會修改或停用這些規則。 因此,如果您使用埠 80 或埠 443 進行SQL Server,您應該建立自己的規則或規則群組,以獨立于其他 IIS 規則之外維護所需的埠組態。

[具有進階安全性的 Windows 防火牆] MMC 嵌入式管理單元允許符合任何適用允許規則的任何傳輸。 因此,如果有兩項同時套用至通訊埠 80 的規則 (具有不同的參數),系統就會允許符合任何一項規則的傳輸。 所以,如果其中一項規則允許來自區域子網路而且透過通訊埠 80 的傳輸,而另一項規則允許來自任何位址的傳輸,其結果就是允許通訊埠 80 的所有傳輸,不論來源為何。 若要有效管理 SQL Server 的存取權,系統管理員應該定期檢閱在伺服器上啟用的所有防火牆規則。

防火牆設定檔的概觀

具有進階安全性的 Windows 防火牆入門指南 中的 網路位置感知主機防火牆一節會討論防火牆設定檔。 簡而言之,作業系統會在連接性、連接和類別方面識別並記憶它們所連接的每個網路。

[具有進階安全性的 Windows 防火牆] 具有三種網路位置類型:

  • 網域。 Windows 可以針對電腦所加入的網域,驗證網域控制站的存取權。

  • 公用。 除了網域網路以外,所有網路一開始都會分類成公用。 代表直接連接至網際網路或位於公共場所 (例如機場和咖啡店) 的網路應該會保持公用。

  • 私人。 由使用者或應用程式識別成私人的網路。 只有受信任的網路才應該識別成私人網路。 使用者可能會想要將家庭或小型企業網路識別成私人。

管理員可以針對每種網路位置類型建立設定檔,而且每個設定檔都含有不同的防火牆原則。 不過,一次只會套用一個設定檔。 設定檔的套用順序如下所示:

  1. 如果所有介面都經過電腦屬於其成員之網域的網域控制站驗證,就會套用網域設定檔。

  2. 如果所有介面都經過網域控制站驗證或連接至分類成私人網路位置的網路,就會套用私人設定檔。

  3. 否則,就會套用公用設定檔。

您可以使用 [具有進階安全性的 Windows 防火牆] MMC 嵌入式管理單元來檢視和設定所有防火牆設定檔。 [控制台] 中的 [Windows 防火牆] 項目只會設定目前的設定檔。

使用控制台中的 Windows 防火牆項目進行其他防火牆設定

您加入至防火牆的例外可以限制針對來自特定電腦或區域子網路的內送連接開啟通訊埠。 這種通訊埠開啟範圍的限制可以減少電腦遭受惡意使用者攻擊的風險,而且建議使用這種限制。

注意

使用 [控制台] 中的 [Windows 防火牆] 項目只會設定目前的防火牆設定檔。

使用控制台中的 Windows 防火牆項目來變更防火牆例外的範圍

  1. 在 [控制台] 的 [Windows 防火牆] 中,選取 [例外] 索引標籤上的程式或通訊埠,然後按一下 [內容][編輯]

  2. [編輯程式][編輯連接埠] 對話方塊中,按一下 [變更領域]

  3. 選擇下列其中一個選項:

    • 任何電腦 (包括在網際網路上的)

      不建議使用。 這個選項會允許可設定您電腦位址的任何電腦連接至指定的程式或通訊埠。 雖然您可能需要這項設定才能將資訊呈現給網際網路上的匿名使用者,不過這樣做會增加遭受惡意使用者攻擊的風險。 如果您啟用了這項設定,而且也允許網路位址轉譯 (NAT) 周遊 (例如 [允許邊緣周遊] 選項),就會進一步增加遭受攻擊的風險。

    • 只有我的網路 (子網路)

      這是比 [任何電腦]更安全的設定。 只有位於網路之區域子網路的電腦才能連接至程式或通訊埠。

    • 自訂清單:

    只有具備您所列出之 IP 位址的電腦才能連接。 這可能是比 [只有我的網路 (子網路)] 更安全的設定。不過,使用 DHCP 的用戶端電腦可能偶爾會變更其 IP 位址。 接著,預期的電腦將無法連接。 您不想要授權的其他電腦可能會接受列出的 IP 位址,然後就能夠連接。 [自訂清單] 選項可能適用於列出設定成使用固定 IP 位址的其他伺服器。不過,入侵者可能會假冒這些 IP 位址。 限制性防火牆規則只會與您的網路基礎結構同樣強固。

使用具有進階安全性的 Windows 防火牆嵌入式管理單元

您可以使用具有進階安全性的 Windows 防火牆 MMC 嵌入式管理單元來設定其他進階的防火牆設定。 此嵌入式管理單元包含規則精靈,而且它會公開 [控制台] 中 [Windows 防火牆] 項目無法使用的額外設定。 這些設定包括:

  • 加密設定

  • 服務限制

  • 依據名稱限制電腦的連接

  • 限制特定使用者或設定檔的連接

  • 允許傳輸通過網路位址轉譯 (NAT) 路由器的邊緣周遊

  • 設定輸出規則

  • 設定安全性規則

  • 針對內送連接要求 IPsec

使用新增規則精靈來建立新的防火牆規則

  1. 在 [開始] 功能表上、按一下 [執行] ,輸入 WF.msc,然後按一下 [確定]

  2. 在 [具有進階安全性的 Windows 防火牆] 的左窗格中,以滑鼠右鍵按一下 [輸入規則],然後按一下 [新增規則]

  3. 使用您想要的設定來完成 [新增輸入規則精靈]

疑難排解防火牆設定

下列工具和技巧可用於疑難排解防火牆問題:

  • 有效的通訊埠狀態是與該通訊埠相關之所有規則的聯集。 嘗試封鎖透過某個通訊埠的存取時,檢閱描述通訊埠編號的所有規則可能會很有用。 若要這樣做,請使用 [具有進階安全性的 Windows 防火牆] MMC 嵌入式管理單元,然後依據通訊埠編號來排序輸入和輸出規則。

  • 檢閱執行 SQL Server 之電腦上的使用中連接埠。 此檢閱程序包括確認哪些是接聽的 TCP/IP 通訊埠,並確認通訊埠的狀態。

    若要驗證接聽的通訊埠,請使用 netstat 命令列公用程式。 除了顯示使用中的 TCP 連接之外, netstat 公用程式也會顯示各種 IP 統計資料與資訊。

    列出哪些是接聽的 TCP/IP 通訊埠

    1. 開啟命令提示字元視窗。

    2. 在命令提示字元中,輸入 netstat -n -a

      -n 參數會指示 netstat 以數值方式顯示使用中 TCP 連線的位址與通訊埠號碼。 -a 參數會指示 netstat 顯示電腦所接聽之電腦上的 TCP 與 UDP 通訊埠。

  • PortQry 公用程式可用於將 TCP/IP 通訊埠的狀態回報為接聽中、未接聽或已篩選。 (若為已篩選狀態,表示通訊埠不一定是接聽中。此狀態會指出公用程式未接收到通訊埠的回應)。PortQry 公用程式可從 Microsoft 下載中心下載。

另請參閱

Windows Server 系統的服務概觀和網路通訊埠需求 (機器翻譯)