安裝在 Windows 篩選平臺(WFP)應用層強制層(ALE)的篩選會執行狀態式網路篩選。 ALE 流程 會作為 ALE 狀態過濾的基礎。
ALE 流程是依據來源 IP 位址、目的地 IP 位址、來源埠、目的地埠和通訊協議來分類網路流量的方式。 ALE 流程可以是通用的,也就是一或多個描述項可能會匹配所有條件(或通配符 *)。 例如,一般 UDP ALE 流程會描述為來源 IP 位址 = *、目的地 IP 位址 = *、來源埠 = *、目的地埠 = *,以及通訊協定 = UDP。
一旦授權連線(輸入連線在 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 層獲得授權,輸出連線在 FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} 層獲得授權),將建立 ALE 流程,因此在未改變原則的情況下,所有屬於相同 ALE 流程的輸入和輸出封包將被自動允許。 因為原則變更可能需要封鎖先前允許的連線,因此發生原則變更時,ALE 流程必須 重新授權。
ALE 具狀態篩選只會分類屬於 ALE 流程的第一個封包,大幅減少所需的分類數目。 相較之下,無狀態篩選需要對經過網路的每個封包進行分類。
ALE 流程具有相關聯的方向,也就是流程第一個封包的方向。 這允許更有彈性的政策,藉由允許輸入起始的連線具有與輸出起始連線不同的政策。
TCP ALE 流程
TCP 流量的 ALE 流由 TCP/IP 的五元組(來源 IP 位址、目的地 IP 位址、來源埠、目的埠和通訊協定)識別。
TCP ALE 資料流的存留期與連接的 TCP 套接字相同。 連線的 TCP 套接字可能是使用 connect() 建立的套接字,或是 accept() 呼叫所建立的套接字。
ALE 會維護 TCP ALE 流程與 TCP 控制區塊 (TCB) 之間的一對一關聯性。
UDP ALE 流程
注意
不是 TCP 或 ICMP 的通訊協定會被視為 UDP。
UDP 流量的 ALE 流由 TCP/IP 的五元組所識別(來源 IP 位址、目的地 IP 位址、來源埠、目的地埠和通訊協定)。
UDP ALE 流是根據 UDP 套接字建立的,它代表應用程式正在通訊的遠端對等節點。 遠端節點是由(目的地 IP 位址和目的地埠)元組所識別。
UDP 套接字與其通訊的遠端節點之間有一對多的關聯性。
關閉本機 UDP 套接字時,將會刪除與其相關聯的所有 ALE 流。
在沒有套接字關閉的情況下,UDP 單播 ALE 流程會有 可設定 閑置逾時,預設為 60 秒。 如果未在此視窗中傳送或接收封包,則會刪除 ALE 流程。 當 ALE 流量系統範圍的數目達到特定閾值時,會逐漸縮短此預設逾時。
ICMP ALE 流程
ICMP 流量的 ALE 流是使用六元組(來源 IP 位址、目的地 IP 位址、ICMP 類型、ICMP 代碼、協定和 ICMP 識別符)來識別的。 ICMP識別碼是 ALE 流程的一部分,僅適用於 ICMP 回應/回復流量。
如果沒有套接字關閉,ICMP 單播 ALE 流程會有 可設定的 閑置逾時,預設為 60 秒。 如果未在此視窗中傳送或接收封包,則會刪除 ALE 流程。 當 ALE 流量系統範圍的數目達到特定閾值時,會逐漸縮短此預設逾時。
只有ICMP非錯誤訊息會通知ALE層。 ICMP 錯誤訊息可以在ICMP_ERROR層進行檢查。
相關主題