使用高级策略创建 VPN 策略
经典策略引擎 (PE) 和高级策略基础架构 (PI) 是 Citrix ADC 当前支持的两种不同的策略配置和评估框架。
高级策略基础设施由极其强大的表达语言组成。表达式语言可用于定义策略中的规则、定义操作的各个部分以及支持的其他实体。表达式语言可以解析请求或响应的任何部分,还可以让您深入浏览标头和有效负载。相同的表达式语言可在 Citrix ADC 支持的每个逻辑模块中进行扩展和工作。
注意: 建议您使用高级策略来创建策略。
为什么要从经典策略迁移到高级策略
高级策略具有丰富的表达式集,比传统策略提供更大的灵活性。随着 Citrix ADC 的扩展和迎合各种客户的需求,支持远远超过高级策略的表达式势在必行。有关详细信息,请参阅 策略和表达式。
以下是高级策略的新增功能。
-
能够访问邮件正文。
-
支持许多附加协议。
-
访问系统的许多附加功能。
-
具有更多的基本函数、运算符和数据类型。
-
满足 HTML、JSON 和 XML 文件的解析需求。
-
便于快速并行多字符串匹配(片集等)。
现在可以使用高级策略配置以下 VPN 策略。
-
会话策略
-
授权策略
-
流量策略
-
通道策略
-
审核策略
此外,端点分析(EPA)可以配置为用于身份验证功能的 nFactor。EPA 用作尝试连接到 Gateway 设备的端点设备的网守。在终端设备上显示网关登录页面之前,将根据网关管理员配置的资格标准,检查设备的最低硬件和软件要求。根据执行的检查结果授予对网关的访问权限。以前,EPA 被配置为会话策略的一部分。现在,它可以链接到 nFactor,从而在何时可以执行方面提供更大的灵活性。有关 EPA 的更多信息,请参阅 端点策略如何运作 主题。有关 nFactor 的更多信息,请参阅 nFactor 身份验证 主题。
使用案例:
使用高级 EPA 预身份验证 EPA
在用户提供登录凭据之前,会进行预身份验证 EPA 扫描。有关将 Citrix Gateway 配置为 nFactor 身份验证并将预身份验证 EPA 扫描作为身份验证因素之一的信息,请参阅 CTX224268 主题。
使用高级 EPA 进行身份验证后 EPA
身份验证后 EPA 扫描将在验证用户凭据后进行。在传统策略基础架构下,身份验证后 EPA 被配置为会话策略或会话操作的一部分。在“高级策略基础架构”下,EPA 扫描将配置为 n 因素身份验证中的 EPA 因素。有关将 Citrix Gateway 配置为使用身份验证后 EPA 扫描作为身份验证因素之一的 n 因素身份验证的信息,请参阅 CTX224303 主题。
使用高级策略的身份验证前和身份验证后
EPA 可以在身份验证之前和身份验证后执行。有关使用预身份验证和身份验证后 EPA 扫描配置 Citrix Gateway 进行 nFactor 身份验证的信息,请参阅 CTX231362 主题。
定期 EPA 扫描是 nFactor 身份验证的一个因素
在经典策略基础架构下,定期 EPA 扫描被配置为会话策略操作的一部分。在高级策略基础架构下,可以将其配置为 n 因素身份验证中的 EPA 因素的一部分。
有关将定期 EPA 扫描配置为 nFactor 身份验证中的一个因素的更多信息,请单击CTX231361 主题。
故障排除:
故障排除时应牢记以下几点。
-
同一类型的经典和高级策略(例如,会话策略)不能绑定到同一实体/绑定点。
-
所有 PI 策略的优先级都是强制性的。
-
VPN 的高级策略可以绑定到所有绑定点。
-
具有相同优先级的高级策略可以绑定到单个绑定点。
-
如果配置的授权策略均未得到满足,则将应用 VPN 参数中配置的全局授权操作。
-
在授权策略中,如果授权规则失败,则不会撤消授权操作。
经典策略常用的高级策略等效表达式:
| 经典策略表达式 | 高级策略表达式 |
|---|---|
| ns_true | true |
| ns_false | false |
| REQ.HTTP | HTTP.REQ |
| RES.HTTP | HTTP.RES |
| HEADER "foo" | HEADER("foo") |
| CONTAINS "bar" | .CONTAINS("bar") [注意使用“.”。] |
| REQ.IP | CLIENT.IP |
| RES.IP | SERVER.IP |
| SOURCEIP | SRC |
| DESTIP | DST |
| REQ.TCP | CLIENT.TCP |
| RES.TCP | SERVER.TCP |
| SOURCEPORT | SRCPORT |
| DESTPORT | DSTPORT |
| STATUSCODE | STATUS |
| REQ.SSL.CLIENT.CERT | CLIENT.SSL.CLIENT_CERT |