Windows 防火牆規則

在許多情況下,系統管理員的第一個步驟是使用防火 牆規則來自定義防火牆配置檔,以便使用應用程式或其他類型的軟體。 例如,系統管理員或使用者可以選擇新增規則以容納程式、開啟埠或通訊協定,或允許預先定義的流量類型。

本文說明建立和管理防火牆規則的概念和建議。

輸入規則的規則優先順序

在許多情況下,需要允許特定類型的輸入流量,應用程式才能在網路中運作。 設定輸入例外狀況時,系統管理員應該記住下列規則優先順序行為:

  1. 明確定義的允許規則優先於預設區塊設定
  2. 明確封鎖規則的優先順序高於任何衝突的允許規則
  3. 較特定的規則優先於較不明確的規則,除非有 2 中所述的明確封鎖規則。 例如,如果規則 1 的參數包含 IP 位址範圍,而規則 2 的參數包含單一 IP 主機位址,則規則 2 會優先於

因為 1 和 2,所以在設計一組原則時,您應該確定沒有其他明確封鎖規則可能會不小心重疊,進而防止您想要允許的流量。

注意

Windows 防火牆不支援加權、系統管理員指派的規則順序。 您可以藉由記住幾個、一致且邏輯規則行為來建立具有預期行為的有效原則集合,如所述。

應用程式規則

第一次安裝時,網路應用程式和服務會發出 接聽呼叫 ,指定它們正常運作所需的通訊協定/埠資訊。 由於 Windows 防火牆中有預設 的封鎖 動作,因此您必須建立輸入例外規則以允許流量。 應用程式或應用程式安裝程式本身通常會新增此防火牆規則。 否則,使用者 (或防火牆系統管理員代表使用者) 必須手動建立規則。

如果沒有作用中的應用程式或系統管理員定義的允許規則 () ,對話框會提示使用者在第一次啟動應用程式時允許或封鎖應用程式的封包,或嘗試在網路中通訊:

  • 如果使用者具有系統管理員許可權,系統會提示他們。 如果他們回應 [否] 或取消提示,則會建立封鎖規則。 通常會建立兩個規則,一個規則分別用於 TCP 和 UDP 流量
  • 如果使用者不是本機系統管理員,則不會提示他們。 在大部分情況下,會建立區塊規則

顯示使用者帳戶控制 (UAC) 提示以允許 Microsoft Teams 的螢幕快照。

在上述任一案例中,新增規則之後,必須將其刪除,才能再次產生提示。 如果沒有,流量會繼續遭到封鎖。

注意

防火牆的預設設定是針對安全性而設計的。 根據預設,允許所有輸入聯機會使網路面臨各種威脅。 因此,從非 Microsoft 軟體建立輸入連線的例外狀況,應該由信任的應用程式開發人員、使用者或代表使用者的系統管理員決定。

WDAC 標記原則

Windows 防火牆支援在防火牆規則中使用 Windows Defender 應用程控 (WDAC) 應用程式識別碼 (AppID) 卷標。 透過這項功能,Windows 防火牆規則可以藉由參考進程標籤,將範圍設定為應用程式或應用程式群組,而不需要使用絕對路徑或犧牲安全性。 此設定有兩個步驟:

  1. 部署 WDAC AppId 標記原則:必須部署 Windows Defender 應用程控原則,以指定個別應用程式或應用程式群組,以將 PolicyAppId 標籤至進程令牌 () 。 然後,系統管理員可以定義防火牆規則,這些規則的範圍是以相符的 PolicyAppId 標記的所有進程。 如需詳細資訊,請參閱 WDAC AppId 標記指南 ,以建立、部署和測試 AppID 原則來標記應用程式。
  2. 使用下列兩種方法之一,使用 PolicyAppId 標記 來設定防火牆規則:
    • 使用防火牆 CSP 的 PolicyAppId 節點搭配 MDM 解決方案,例如 Microsoft Intune。 如果您使用 Microsoft Intune,您可以在端點安全>性防火牆建立原則 Windows 10、Windows 11 和 Windows Server>Windows 防火牆>>規則的路徑下,從 Microsoft Intune 管理員 中心部署規則。 建立規則時,請在 [原則應用程式標識符] 設定中提供 AppId 標籤
    • 使用 PowerShell 建立本機防火牆規則:使用 New-NetFirewallRule Cmdlet 並指定 -PolicyAppId 參數。 您可以在建立防火牆規則時,一次指定一個標籤。 支援多個使用者標識碼

本機原則合併和應用程式規則

規則合併 原則設定可控制如何合併來自不同原則來源的規則。 系統管理員可以為 網域私人公用配置檔設定不同的合併行為。

規則合併原則設定允許或防止本機系統管理員建立自己的防火牆規則,以及從 CSP 或 GPO 取得的規則。

路徑
Csp 網域配置檔: ./Vendor/MSFT/Firewall/MdmStore/DomainProfile/AllowLocalPolicyMerge
Private Profile./Vendor/MSFT/Firewall/MdmStore/PrivateProfile/AllowLocalPolicyMerge
Public Profile ./Vendor/MSFT/Firewall/MdmStore/PublicProfile/AllowLocalPolicyMerge
Gpo 計算機設定>Windows 設定>安全性>設定Windows Defender 具有進階安全性的防火牆

系統管理員可以在高安全性環境中停用 LocalPolicyMerge ,以更緊密地控制端點。 此設定可能會影響在安裝時自動產生本機防火牆原則的某些應用程式和服務。

重要

如果停用合併本機原則,則需要針對任何需要輸入連線的應用程式集中部署規則。

請務必建立和維護這類應用程式的清單,包括用於通訊的網路埠。 一般而言,您可以在應用程式的網站上找到特定服務必須開啟的埠。 若要進行更複雜的部署,可能需要使用網路封包擷取工具進行徹底的分析。

一般而言,為了維持最大的安全性,系統管理員應該只針對判斷為合法目的的應用程式和服務部署防火牆例外狀況。

注意

應用程式規則不支援使用通配符模式,例如 C:\*\teams.exe 。 您只能使用應用程式 () 的完整路徑來建立規則。

防火牆規則建議

以下是設計防火牆規則時的建議清單:

  • 盡可能維護預設的 Windows 防火牆設定。 這些設定是設計來保護您的裝置,以便在大部分的網路案例中使用。 其中一個重要範例是輸入連線的預設 區塊行為
  • 在這三個配置檔中建立規則,但只在符合您案例的配置檔上啟用防火牆規則群組。 例如,如果您要安裝僅用於專用網的共用應用程式,則最好在所有三個配置檔中建立防火牆規則,但只啟用包含私人配置檔規則的防火牆規則群組。
  • 根據套用規則的配置檔,設定防火牆規則的限制。 對於設計成只能由家用或小型企業網路內的裝置存取的應用程式和服務,最好修改遠端位址限制,只指定 本機子網 。 在企業環境中使用相同的應用程式或服務時,不會有這項限制。 若要這麼做,您可以將遠端位址限制新增至新增至私人和公用配置檔的規則,同時在網域配置檔中不受限制。 此遠端位址限制不應套用至需要全域因特網連線的應用程式或服務。
  • 建立輸入規則時的一般安全性建議做法是盡可能明確。 不過,當必須建立使用埠或IP位址的新規則時,請考慮盡可能使用連續的範圍或子網,而不是個別的位址或埠。 這種方法可避免在幕後建立多個篩選、降低複雜度,並協助避免效能降低。
  • 建立輸入或輸出規則時,您應該指定應用程式本身的詳細數據、使用的埠範圍,以及建立日期等重要注意事項。 規則必須妥善記載,以方便您和其他系統管理員檢閱。
  • 為了維持最大的安全性,系統管理員應該只針對判斷為合法目的的應用程式和服務部署防火牆例外狀況。

自動建立規則的已知問題

為您的網路設計一組防火牆原則時,建議您為主機上部署的任何網路應用程式設定 允許規則 。 在使用者第一次啟動應用程式之前備妥規則有助於確保順暢的體驗。

缺少這些分段規則並不一定表示應用程式最後將無法在網路上通訊。 不過,在運行時間自動建立應用程式規則所涉及的行為需要用戶互動和管理許可權。 如果非系統管理用戶預期會使用裝置,您應該遵循最佳做法,並在應用程式第一次啟動之前提供這些規則,以避免發生非預期的網路問題。

若要判斷為什麼某些應用程式無法在網路中通訊,請檢查下列實例:

  1. 具有足夠許可權的使用者會收到查詢通知,告知他們應用程式需要變更防火牆原則。 未完全瞭解提示,使用者會取消或關閉提示
  2. 使用者缺少足夠的許可權,因此不會提示您允許應用程式進行適當的原則變更
  3. 本機原則合併 已停用,導致應用程式或網路服務無法建立本機規則

系統管理員也可以使用 [設定] 應用程式或原則設定,在運行時間建立應用程式規則。

輸出規則考慮

以下是設定輸出規則的一些一般指導方針。

  • 針對某些高度安全的環境,可以考慮將輸出規則變更為 已封鎖 。 不過,輸入規則組態絕對不應該以默認允許所有流量的方式變更
  • 建議針對大部分部署默認 允許輸出 ,以簡化應用程式部署,除非組織偏好嚴格的安全性控制,而非易於使用
  • 在高安全性環境中,應記錄和維護所有應用程式的清查。 記錄必須包含使用的應用程式是否需要網路連線。 系統管理員必須建立每個需要網路連線能力的應用程式專用的新規則,並透過 GPO 或 CSP 集中推送這些規則

後續步驟

瞭解設定 Windows 防火牆和防火牆規則的工具:

組態工具 >