共用方式為


篩選仲裁

篩選仲裁是 Windows 篩選平臺 (WFP) 內建的邏輯,用來判斷在做出網路流量篩選決策時,篩選如何彼此互動。

篩選仲裁行為

下列行為會描述篩選仲裁系統的特性:

  • 您可以檢查所有流量。 在指定的圖層上,沒有任何流量可以略過篩選。
  • 即使優先順序較高的篩選允許流量,也可以透過 Veto 來封鎖圖說文字篩選。
  • 多個提供者可以檢查相同層的流量。 例如,防火牆後面接著入侵檢測系統 (IDS) 篩選器,或 IPsec 後面接著服務品質 (QoS) 篩選器,都可能會檢查相同層級的流量。

篩選模型

每個篩選層會分成依優先順序排序的子層(也稱為權數)。 網路流量會周遊子層,從最高優先順序到最低優先順序。 子層是使用 WFP API 由開發人員建立和管理。

在每個子層內,篩選會依權數排序。 網路流量會指出比對從最高權數到最低權數的篩選。

篩選仲裁演算法會套用至圖層內的所有子層,並在評估所有子層之後做出最終篩選決策。 這提供多個比對功能。

在子層內,會執行篩選仲裁,如下所示:

  • 計算依權數從最高到最低排序的相符篩選清單。
  • 依序評估相符篩選條件,直到傳回「允許」或「封鎖」為止(篩選也可以傳回「繼續」,或直到清單用盡為止。
  • 略過其餘篩選,並從最後一個評估的篩選條件傳回動作。

在一層內,篩選仲裁的執行方式如下:

  • 在每個子層執行篩選仲裁,從最高優先順序到最低優先順序。
  • 即使較高優先順序的子層決定封鎖流量,也評估所有子層。
  • 根據下一節所述的原則規則傳回產生的動作。

下圖說明子層組態範例。 外部方塊代表圖層。 內部方塊代表包含篩選的子圖層。 篩選中的通配符 \ 表示所有流量都符合篩選條件。

范例子層組態

要略過篩選的唯一方法是,如果較高的權數篩選條件允許或封鎖相同子層內的流量。 相反地,確保篩選一律會在圖層內看到所有流量的其中一種方式,就是新增包含符合所有流量的單一篩選子層。

可設定的覆寫原則

以下所述的規則會控管一層內的仲裁決定。 篩選引擎會使用這些規則來決定哪一個子層動作會套用至網路流量。

基本原則如下所示。

  • 動作會以子層級的優先順序評估,從最高優先順序到最低優先順序。
  • “Block” 會覆寫 “Permit”。
  • 「封鎖」是最終的(無法覆寫)並停止評估。 封包會被捨棄。

基本原則不支援防火牆未覆寫例外狀況的案例。 此案例類型的一般範例包括:

  • 即使存在第三方防火牆,也需要開啟遠端管理埠。
  • 需要開啟埠才能運作的元件(例如通用即即通用即插即用 UPnP)。 如果系統管理員已明確啟用元件,防火牆不應該以無訊息方式封鎖流量。

為了支援上述案例,必須藉由管理動作覆寫許可權,讓篩選決策比另一個篩選決策更難覆寫。 此許可權會實作為 FWPS_RIGHT_ACTION_WRITE 旗標,而且會根據每個篩選條件設定。

評估演算法會維護目前的動作 (“Permit” 或 “Block”) 以及 FWPS_RIGHT_ACTION_WRITE 旗標。 旗標會控制是否允許較低優先順序的子層覆寫動作。 藉由在 FWPS_CLASSIFY_OUT0 結構中設定或重設 FWPS_RIGHT_ACTION_WRITE 旗標,提供者會控管動作的覆寫方式。 如果設定旗標,表示可以覆寫動作。 如果旗標不存在,則無法覆寫動作。

行動 允許覆寫 (已設定FWPS_RIGHT_ACTION_WRITE) 描述
許可證 是的 流量可以在另一個子層遭到封鎖。 這稱為軟式允許。
許可證 只有圖說 Veto,才能在另一個子層封鎖流量。 這稱為硬式許可。
是的 您可以在另一個子層允許流量。 這稱為軟區塊。
無法在另一個子層允許流量。 這稱為硬式區塊。

您可以將結構 FWPM_ACTION0 中的 類型 成員設定為 FWP_ACTION_BLOCKFWP_ACTION_PERMIT來設定篩選動作。 除了動作類型,篩選也會公開旗標 FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT。 如果清除此旗標,則動作類型為硬式,且無法覆寫,除非硬式允許由 Veto 覆寫,如稍後所述,否則會由高優先順序動作覆寫。

下表列出篩選和圖說文字動作的預設行為。

行動 默認行為
篩選許可 軟許可
圖說文字許可 軟許可
篩選區塊 硬式區塊
圖說文字區塊 軟塊

Veto 是篩選條件在呼叫篩選之前重設 FWPS_RIGHT_ACTION_WRITE 旗標時所傳回的「封鎖」動作。 否決 會封鎖允許硬式許可的流量。

發出 Veto 時,表示組態發生衝突。 系統會採取下列動作來減輕衝突。

  • 流量遭到封鎖。

  • 會產生稽核事件。

  • 會產生通知。

    注意

    已訂閱通知的所有實體都會收到通知。 這通常包括防火牆(為了偵測設定錯誤),或應用程式(為了偵測其特定篩選是否已覆寫)。

    注意

    覆寫「硬式許可」篩選條件時,沒有任何強制使用者介面 (UI) 具現化。 覆寫的通知會傳送給任何已註冊接收它們的提供者,允許防火牆或建立「允許」篩選的應用程式顯示要求用戶動作的UI。 因為防火牆 ISV 不想以無訊息方式封鎖,所以在這些覆寫事件中沒有值可藉由在糧食計劃署的不同位置註冊,或 (較不慣用)處理其所有邏輯在圖說驅動程式中。 認為提示使用者的ISV是個好主意,想要擁有用戶體驗並建立自己的UI。

上述風險降低行為可確保「硬式允許」篩選器不會以無訊息方式由「封鎖」篩選器覆寫,並涵蓋防火牆不允許封鎖遠端管理埠的情況。 為了以無訊息方式覆寫「硬式允許」篩選器,防火牆必須在其優先順序較高的子層內新增其篩選。

注意

由於沒有跨層仲裁,因此允許使用「硬式許可」的流量仍可能會在另一層遭到封鎖。 原則作者有責任確保必要時允許每個層的流量。

要求開啟埠的使用者應用程式會將可覆寫的篩選條件新增至低優先順序子層。 防火牆可以訂閱篩選新增通知事件,並在使用者(或原則)驗證之後新增相符的篩選條件。

篩選權數指派