一次次計劃性作業
Windows 篩選平台 (一次,) 整合下列基底實體來執行其工作: 圖層、 篩選、 填充碼和 圖說文字。
圖層
圖層是由篩選引擎管理的容器,其函式是將篩選組織成集合。 圖層不是網路堆疊中的模組。 每個圖層都有一個架構,可定義可新增至它的篩選類型。 如需詳細資訊,請參閱 每個篩選層可用的篩選準則 。
圖層可能包含子層來管理衝突的篩選需求,例如「封鎖高於 1024 的 TCP 埠」和「開啟埠 1080」。 管理篩選衝突的規則是由 篩選仲裁決定。
其包含一組 內建子層。 每個圖層都會繼承所有內建子層。 使用者也可以新增自己的子層。
篩選引擎圖層的清單是在 [ 篩選圖層識別碼] 主題中提供。
篩選器
篩選條件是與傳入或傳出封包相符的規則。 此規則會告訴篩選引擎如何使用封包,包括呼叫圖說文字模塊以進行深層封包或串流檢查。 例如,篩選準則可以指定「封鎖 TCP 埠大於 1024 的流量」或「針對未保護的所有流量呼叫 IDS」。
開機時間篩選準則是在 TCP/IP 堆疊驅動程式 (tcpip.sys) 啟動時,在開機時強制執行的篩選。 BFE 啟動時會停用開機時間篩選。 叫用FwpmFilterAdd0時,篩選條件會設定FWPM_FILTER_FLAG_BOOTTIME旗標來標示為開機時間。
執行時間篩選準則是在 BFE 啟動之後強制執行的篩選。 執行時間篩選準則可以是靜態、動態或持續性,視建立方式而定。 如需不同執行時間篩選類型和其存留期的詳細資訊,請參閱 物件管理 。
墊片
填充碼是核心模式元件,可依據篩選引擎層進行分類來做出篩選決策。 每個填充碼都會針對一或多個圖層進行分類。 例如,傳輸層模組填充碼會針對輸入傳輸層、輸出傳輸層,以及流程第一個封包的 ALE Connect 和Receive-Accept層進行分類。
當封包、資料流程和事件周遊網路堆疊時,填充碼會剖析它們以擷取可分類的條件和值,然後呼叫篩選引擎,以針對指定層中的篩選準則進行評估。 篩選引擎可能會叫用一或多個圖說文字做為分類的一部分。 填充碼會根據篩選引擎所執行的分類結果,執行封包、資料流程和事件的實際卸載。
圖說文字
圖說文字是由驅動程式公開的一組函式,用於特製化篩選。 它們可用來執行封包的分析與操作,例如病毒掃描、家長監護掃描不當內容、封包資料剖析以用於監視工具。 某些圖說文字,例如網路位址轉譯 (NAT) 驅動程式,都是內建在作業系統中。 其他專案,例如 HTTP 家長監護圖說文字或入侵偵測系統 (IDS) 注標,都可以由獨立軟體廠商提供, (ISV) 。 在指定的圖層上比對對應的圖說文字篩選時,篩選引擎會叫用圖說文字函式。
圖說文字可以在任何核心模式的「計畫」層註冊。 圖說文字可以在執行資料流程檢查、「延遲」、「需要更多資料」、「卸載連線」) 時傳回動作 (「封鎖」、「允許」,並可修改及保護輸入和輸出網路流量。
向篩選引擎註冊圖說文字之後,就可以接收要處理的網路流量。 流量可能是根據圖層的封包、資料流程或事件。 應用程式或防火牆代理程式會藉由新增動作為「圖說」的篩選,以及其圖說文字識別碼是圖說文字的識別碼,來將流量傳遞至圖說文字。 圖說文字可以指示篩選引擎將 「Block」 或 「Permit」 傳回填充碼。 圖說文字也可以傳回「繼續」,以允許其他篩選處理封包。
一個圖說文字驅動程式可能會公開多個圖說文字。
必須先 (使用 FwpmCalloutAdd0) 並向 FwpsCalloutRegister) 註冊 (,才能使用圖說文字。 在建立參考圖說文字的篩選準則之前,必須先呼叫 FwpmCalloutAdd0 。 必須先呼叫 FwpsCalloutRegister,才能在符合圖說文字篩選準則時叫用圖說文字。 根據預設,參考已新增但尚未向篩選引擎註冊之圖說文字的篩選,會被視為「封鎖」篩選準則。 呼叫 FwpmCalloutAdd0 和 FwpsCalloutRegister 的順序並不重要。 每次實作圖說文字的驅動程式在) 重新開機後啟動 (時,都必須註冊一次持續性圖說文字。
分類
分類是將篩選套用至網路流量的程式, (封包、資料流程或事件) ,以判斷該流量的「允許」或「封鎖」結果。 針對一個封包、資料流程或事件,每個層都有一個分類呼叫。
在分類期間,屬性 (例如,封包、串流或事件的來源位址) ,會與叫用分類所在圖層上的篩選準則進行比較。 找到相符專案時,會使用 篩選仲裁 演算法來判斷分類程式的結果。
分類要求是由填充碼觸發。
分類動作可以是:
- 允許
- 區塊
- 圖說文字
- 允許
- 區塊
- 繼續
- 推遲
- 需要更多資料
- 卸載連線
一次次計劃性作業
在開機時,只要 TCP/IP 堆疊驅動程式 (tcpip.sys) 啟動,核心模式篩選引擎就會透過開機時間篩選準則強制執行系統的安全性原則。
一旦基底篩選引擎 (BFE) 以使用者模式啟動之後,就會將持續性篩選新增至平臺、停用開機時間篩選,並將通知傳送至使用 FwpmBfeStateSubscribeChanges0訂閱的圖說文字驅動程式。 完成 BFE 初始化之後,會立即分派通知。 平臺現在已準備好註冊圖說文字,以及要新增的執行時間物件。
從開機時間到持續性篩選的轉換可能是幾秒鐘,或甚至更慢的電腦上。 這是不可部分完成的,因此,如果提供者同時具有開機時間和持續性篩選,則沒有任何時間範圍生效。
BFE 啟動之後,執行時間篩選準則可以由防火牆代理程式或自訂防火牆解決方案新增。 BFE 會處理這些篩選,並將其傳送至適當的篩選引擎層,以強制執行。 BFE 也會接受驗證設定,並將這些設定傳送至 IPsec 金鑰處理模組, (IKE/AuthIP) 。 如需詳細資訊,請參閱 IPsec 組態 。
您可以隨時透過 BFE 公開的 RPC 介面,在系統中新增、移除或變更篩選和驗證設定。 您也可以新增或移除子層和圖說文字模塊。
資料流程:
- 封包會進入網路堆疊。
- 網路堆疊會尋找並呼叫填充碼。
- 填充碼會在特定層叫用分類程式。
- 在分類期間,會比對篩選準則,並採取結果動作。 (請參閱 Filter Arbitration.)
- 如果在分類程式期間符合任何圖說文字篩選,則會叫用對應的圖說文字。
- 填充碼會作用於最終篩選決策 (,例如卸載封包) 。
輸出資料流程遵循類似的模式。
下列主題會進一步說明其作業。
相關主題