手动配置使用命令行界面

您可以从 Citrix ADC 命令行配置许多 Web App Firewall 功能。但是,也有一些重要的例外情况。您无法从命令行启用签名。七个类别中有 1,000 多个默认签名;任务对于命令行界面来说太复杂。您可以从命令行配置安全检查的检查操作和参数,但不能输入手动放宽。虽然您可以配置自适应学习功能并从命令行启用学习,但无法查看学习的放宽或学习的规则,也无法批准或跳过它们。命令行界面适用于完全熟悉 Citrix ADC 设备和 Web App Firewall 功能的高级用户。

要使用 Citrix ADC 命令行手动配置 Web App Firewall,请使用您选择的 Telnet 或安全外壳客户端登录到 Citrix ADC 命令行。

使用命令行界面创建配置文件

在命令提示符下,键入以下命令:

  • add appfw profile <name> [-defaults ( basic | advanced )]
  • set appfw profile <name> -type ( HTML | XML | HTML XML )
  • save ns config

示例

以下示例添加了一个名为 pr-basic 的配置文件,具有基本默认值,并分配 HTML 的配置文件类型。这是保护 HTML 网站的配置文件的适当初始配置。

add appfw profile pr-basic -defaults basic
set appfw profile pr-basic -type HTML
save ns config

使用命令行界面配置配置文件

在命令提示符下,键入以下命令:

  • set appfw profile <name> <arg1> [<arg2> ...]其中<arg1> 表示一个参数,并<arg2> 表示另一个参数或要分配给由<arg1>。有关配置特定安全检查时要使用的参数的说明,请参阅高级保护及其子主题。有关其他参数的描述,请参阅“创建配置文件的参数”。“
  • save ns config

示例

以下示例演示如何配置使用基本默认设置创建的 HTML 配置文件,以开始保护基于 HTML 的简单网站。此示例为大多数安全检查启用了统计信息的日志记录和维护,但仅对误报率极低且无需特殊配置的检查启用阻止功能。它还会启用不安全 HTML 和不安全 SQL 的转换,这可以防止攻击,但不会阻止对您的网站的请求。启用日志记录和统计信息后,您可以稍后查看日志以确定是否为特定的安全检查启用阻止。

set appfw profile -startURLAction log stats
set appfw profile -denyURLAction block log stats
set appfw profile -cookieConsistencyAction log stats
set appfw profile -crossSiteScriptingAction log stats
set appfw profile -crossSiteScriptingTransformUnsafeHTML ON
set appfw profile -fieldConsistencyAction log stats
set appfw profile -SQLInjectionAction log stats
set appfw profile -SQLInjectionTransformSpecialChars ON
set appfw profile -SQLInjectionOnlyCheckFieldsWithSQLChars ON
set appfw profile -SQLInjectionParseComments checkall
set appfw profile -fieldFormatAction log stats
set appfw profile -bufferOverflowAction block log stats
set appfw profile -CSRFtagAction log stats
save ns config

创建和配置策略

在命令提示符下,键入以下命令:

  • add appfw policy <name> <rule> <profile>
  • save ns config

示例

以下示例添加了一个名为 pl-blog 的策略,其中包含一个规则,该规则可拦截进入或从主机 blog.example.com 的所有流量,并将该策略与配置文件 pr-blog 相关联。这是保护特定主机名上托管的博客的适当策略。

add appfw policy pl-blog "HTTP.REQ.HOSTNAME.DOMAIN.EQ("blog.example.com")" pr-blog

绑定 Web App Firewall 策略

在命令提示符下,键入以下命令:

  • bind appfw global <policyName> <priority>
  • save ns config

示例

以下示例绑定名为 pl-blog 的策略,并为其分配优先级 10。

bind appfw global pl-blog 10
save ns config

配置每个 PE 的会话限制

在命令提示符下,键入以下命令:

  • set appfw settings <session limit>

示例

以下示例配置每个 PE 的会话限制。

> set appfw settings -sessionLimit 500000`

Done

Default value:100000   Max value:500000 per PE