Citrix ADC

对 Citrix Gateway 和身份验证虚拟服务器生成的响应的内容安全策略响应支持

从 Citrix ADC 版本版本 13.0-76.29 开始,Citrix Gateway 和身份验证虚拟服务器生成的响应支持内容安全策略 (CSP) 响应标头。

内容安全策略 (CSP) 响应标头是浏览器用来避免跨站点脚本 (CSS) 攻击的策略的组合。 HTTP CSP 响应标头允许 Web 站点管理员控制允许用户代理为给定页面加载的资源。除少数例外情况外,策略主要涉及指定服务器源和脚本端点。这有助于防范跨站点脚本攻击。 CSP 标头旨在修改浏览器呈现页面的方式,从而防止各种跨站点注入,包括 CSS。以不妨碍 Web 站点正常运行的方式正确设置标头值非常重要。例如,如果标题设置为阻止执行内联 JavaScript,则网站不得在其页面中使用内联 JavaScript。

下面是 CSP 响应标头的优势。

  • CSP 响应头的主要功能是防止 CSS 攻击。
  • 除了限制可从中加载内容的域外,服务器还可以指定允许使用哪些协议;例如(理想情况下,从安全角度来看),服务器可以指定必须使用 HTTPS 加载所有内容。
  • CSP 通过保护“tmindex.html”和“homepage.html”等文件来帮助保护 Citrix ADC 免受跨站点脚本攻击。文件“tmindex.html”与身份验证相关,文件“homepage.html”与已发布的应用程序/链接相关。

为 Citrix Gateway 和身份验证虚拟服务器生成的响应配置内容安全策略标头

要启用 CSP 标头,您需要将 Web 服务器配置为返回 CSP HTTP 标头。

注意事项

  1. 默认情况下,CSP 标头处于禁用状态。
  2. 启用/禁用默认 CSP 策略时,建议您运行以下命令。 Flush cache contentgroup loginstaticobjects
  3. 要修改 tmindex.html、homepage.html 等的 CSP 策略,建议您修改 httpd.conf。要修改 httpd.conf,请在任何 xml 编辑器中打开 httpd.conf,向下滚动到标记 DirectoryMatch 并找到以下目录:/netscaler/ns_gui/vpns、/netscaler/ns_gui/epa,然后修改“Header set Content-Security-Policy”。

要使用 CLI 为身份验证虚拟服务器和 Citrix Gateway 生成的响应配置 CSP,请在命令提示符处键入以下命令:

set aaa parameter -defaultCSPHeader <ENABLE/DISABLE>

使用 GUI 为 Citrix Gateway 和身份验证虚拟服务器生成的响应配置 CSP。

  1. 导航到 Citrix Gateway > Global Settings(全局设置),单击“Authentication Settings”(身份验证设置)下的 Change authentication AAA settings(更改身份验证 AAA 设置)。

    CSP global-1

  2. Configure AAA Parameters(配置 AAA 参数)页面上,选择 Enabled in Default CSP Header(在默认 CSP 标头中启用)字段。

    CSP global-2

Content-Security-Policy 标头自定义示例

下面是 CSP 标头自定义的示例,该标头仅包括分别来自以下两个指定来源的图像和脚本:https://company.fqdn.com, https://example.com.

示例配置

add rewrite action modify_csp insert_http_header Content-Security-Policy "\"default-src 'self'; script-src 'self' https://company.fqdn.com 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src http://localhost:* https://example.com 'self' data: http: https:; style-src 'self' 'unsafe-inline'; font-src 'self'; frame-src 'self'; child-src 'self' com.citrix.agmacepa://* citrixng://* com.citrix.nsgclient://*; form-action 'self'; object-src 'self'; report-uri /nscsp_violation/report_uri\""

add rewrite policy add_csp true modify_csp

bind authentication vserver auth1 -policy add_csp -priority 1 -gotoPriorityExpression NEXT -type AAA_RESPONSE
对 Citrix Gateway 和身份验证虚拟服务器生成的响应的内容安全策略响应支持