ALE 重新授权
应用程序层强制 (ALE 的网络流量) Windows 筛选平台 (WFP) 层按 ALE 流进行筛选。 允许 ALE 流后,将允许作为 ALE 流一部分的所有流量。 重新授权是验证 ALE 流权限的请求,通常是由于网络策略的更改。
根据触发流创建和授权的第一个数据包的方向,为 ALE 流分配方向(入站或出站)。 入站 ALE 流在 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 层创建和授权。 出站 ALE 流在 FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} 层创建和授权。 ALE 流的方向不限制属于流的数据包的方向。 无论 ALE 流本身的方向如何,ALE 流都包含入站和出站数据包。
ALE 流的重新授权由触发:
- 最初授权或创建 ALE 流的层上的策略更改。
- 与最初授权或创建 ALE 流的接口不同的到达接口。
- 挂起的连接。
重新授权通过存在 FWP_CONDITION_FLAG_IS_REAUTHORIZE 标志来区分初始授权。
重新授权只能在 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 层和 FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} 层进行。
策略更改重新授权
策略更改作为在 ALE 层的筛选器添加或删除来实现。 检测到策略更改后,将指定遍历在受影响层创建的 ALE 流的第一个数据包,以便对层重新授权。 因此,对于重新授权,出站数据包完全可能在 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 层进行分类,而入站数据包在 FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} 层进行分类。
这种混合方向分类的一个原因是,可能没有来自原始方向 (进一步的网络流量,例如,入站 ALE 流的入站数据包) 。 其中一个示例是在初始双向握手后进行单向 UDP 流式处理。 在这种情况下,更需要尽快删除流式处理。
到达接口重新授权
从 Windows Server 2008 和 Windows Vista service Pack 1 (SP1) 开始,可以使用到达接口重新授权。
属于同一 ALE 流的数据包可以从多个接口到达。 通过不同于 ALE 流原始接口的接口传入的第一个数据包将重新授权。
在强主机模型中(TCP/IP 堆栈的默认安全模型),网络接口上的连接仅接受同一接口上传入的数据包。 因此,在强主计算机上不使用到达接口重新授权。
在弱主机模型中,网络接口上的连接允许数据包传入任何其他网络接口。 在弱主计算机上使用到达接口重新授权来实现特定于接口的策略。 有关详细信息,请参阅 “电缆人员:强和弱主机模型”。
重新授权期间,某些 可分类字段 可能未知。 例如,如果在 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 层重新授权出站数据包,则与到达接口相关的所有字段都未知。 在这种情况下,未知字段的值指示为 FWP_EMPTY。
FWP_EMPTY 类型的字段可与 FWP_MATCH_EQUAL 匹配。 因此,可以将策略设置为在 ALE 流的重新授权请求到达时阻止重新授权并拆除 ALE 流。
挂起的连接重新授权
标注驱动程序可能会推迟 ALE 层的分类操作,并在以后可以安全地做出筛选决策时完成该操作。 通过内核模式函数 FwpsPendOperation0 和 FwpsCompleteOperation0 支持 ALE 延期/完成功能。
重新授权在 FwpsCompleteOperation0 调用后立即触发,它允许标注驱动程序允许或阻止流。
只能推迟初始授权。 如果设置了 FWP_CONDITION_FLAG_IS_REAUTHORIZE 标志,则对 FwpsPendOperation0 的调用将失败。
有关详细信息,请参阅 Windows 驱动程序工具包 文档。
相关主题