ALE 重新授权
Windows 筛选平台(WFP)的应用程序层强制层(ALE)层的网络流量通过 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 层的分类作,并在稍后完成该作,届时可以安全地做出筛选决策。 ALE 推迟/完整功能通过内核模式函数 FwpsPendOperation0 和 FwpsCompleteOperation0支持。
重新授权在 FwpsCompleteOperation0 调用后立即触发,并允许标注驱动程序允许或阻止流。
只能推迟初始授权。 如果设置了 FWP_CONDITION_FLAG_IS_REAUTHORIZE 标志,则对 FwpsPendOperation0 的调用将失败。
有关详细信息,请参阅 Windows 驱动程序工具包 文档。
相关主题