对于 Horizon 部署的 HTTP/HTTPS 流量,NSX Advanced Load Balancer 支持 WAF。主协议 (XML/API) 流量的 L7 虚拟服务支持 WAF 规则。
建议使用 System-WAF-Policy-VDI,并且建议使用默认 CRS 规则。不需要用于响应检查的其他规则,并且不得在 CRS 规则中启用这些签名或规则。
必须添加 WAF 策略以及包含
/ice/tunnel/
和/ice/reconnect
的允许 URI,以确保 WAF 功能与 Horizon 应用程序无缝协作。同样,允许其他与/ice/
相关的 URI(如果有)。最佳做法是允许所有以/ice
开头的 URI。使用以下命令添加 CRS 之前的规则,如下所示。需要使用此规则确保 NSX Advanced Load Balancer 仅将入站负载解析为 XML 负载。
SecRule REQUEST_METHOD "@streq POST" "phase:1,id:4099822,t:none,nolog,pass,chain" SecRule REQUEST_URI "@streq /broker/xml" "t:none,ctl:requestBodyProcessor=XML"
建议停用命令注入规则 (932105)。Horizon 部署不需要此规则。
不得启用基于响应的规则。
必须停用缺失的用户代理规则。建议停用命令注入规则 (932105)。
NSX Advanced Load Balancer 支持 VDI 的内置 WAF 策略,即 System-WAF-Policy-VDI。这包括所有必需的规则自定义。建议使用 System-WAF-Policy-VDI。
建议
对于 21.1.3 之前的版本,为 VDI 流量创建 WAF 策略时需要考虑以下几点:
建议使用默认 CRS 规则。不需要用于响应检查的其他规则,并且不得在 CRS 规则中启用这些签名或规则。
必须添加 WAF 策略以及包含 /ice/tunnel/ 和
/ice/reconnect
的允许 URI,以确保 WAF 功能与 Horizon 应用程序无缝协作。同样,允许其他与/ice/
相关的 URI(如果有)。最佳做法是允许所有以/ice
开头的 URI。使用以下命令添加 CRS 之前的规则,如下所示:
SecRule REQUEST_METHOD “@streq POST” “phase:1,id:4099822,t:none,nolog,pass,chain”
SecRule REQUEST_URI “@streq /broker/xml” “t:none,ctl:requestBodyProcessor=XML”
不得启用基于响应的规则。
必须停用缺失的用户代理规则。
建议停用命令注入规则 (932105)。
创建 L7 虚拟服务(或使用现有虚拟服务),并按照下面提到的步骤进行操作:
创建 WAF 配置文件
导航到创建以创建新的配置文件。提供所需的名称,并将其余字段保留为默认值。
。单击
创建 WAF 策略。
导航到
。选择在上一步中创建的 WAF 配置文件。也可以使用默认配置文件。
添加允许列表规则
此允许列表可确保 WAF 不会阻止具有包含
/ice/tunnel
的 URI 的请求。这是一个必需步骤。选择允许列表选项卡,单击添加规则。
提供以下属性:
条件:包含
字符串值:/ice/tunnel/
操作:允许
要允许所有以 /ice 开头的 URI,请通过指定以下内容在匹配部分下创建规则:
条件:开头为
字符串值:/ice
同样,您可以为 /ice/reconnect 创建另一个允许列表规则。
要添加 CRS 之前的规则,请单击保存,然后单击签名选项卡 > 添加 CRS 之前的规则。
与所需的虚拟服务关联
WAF 配置文件准备就绪后,导航到
。选择所需的 L7 虚拟服务,关联在上一步中创建的 WAF 策略并保存配置。