创建 Web App Firewall 配置文件
您可以通过以下两种方法之一创建 Web App Firewall 配置文件:使用命令行和使用 GUI。使用命令行创建配置文件需要您在命令行上指定选项。该过程与 配置配置文件的过程类似,除了少数例外,两个命令采用相同的参数。
注意
核心配置文件:此配置文件在版本 33.x 及更高版本中可用。它包含默认启用的有限但基本的安全检查,而基本和高级配置文件默认启用了许多其他安全检查。核心配置文件包含以下安全检查:
- 基于语法的 SQL 注入
- 基于语法的 CMD 注入
- 跨站点脚本编写
- 缓冲区溢出
- 屏蔽关键词
CVE 配置文件:此配置文件在 build 42.x 及更高版本中可用。使用此配置文件仅添加和绑定签名。它禁用 NetScaler Web App Firewall 中的所有检查,但 CVE 检查除外。
创建配置文件时,指定以下选项之一:基本、高级、核心或 CVE。应用作为该配置文件一部分的各种安全检查和设置的默认配置。您也可以选择添加评论。创建配置文件后,必须通过在数据窗格中选择该配置文件,然后单击“编辑”来对其进行配置。
如果您计划使用学习功能或启用和配置许多高级保护功能,则必须选择高级默认值。特别是,如果您计划配置任一 SQL 注入检查、跨站点脚本编写检查、提供防止 Web 表单攻击的任何检查或 Cookie 一致性检查,则必须计划使用学习功能。除非您在配置这些检查时包括受保护网站的适当例外情况,否则它们可以阻止合法流量。在不产生任何过于广泛的例外的情况下预测所有例外是困难的。学习功能使这项任务变得容易得多。否则,基本默认值很快,必须提供 Web 应用程序所需的保护。
有三种配置文件类型:
- HTML。保护基于 HTML 的标准网站。
- XML 保护基于 XML 的 Web 服务和网站。
- Web 2.0(HTML XML)。保护同时包含 HTML 和 XML 元素的网站,例如 ATOM 源、博客和 RSS 源。
对于可以给个人资料提供的姓名也有一些限制。配置文件名称不能与在 NetScaler 设备上任何功能中分配给任何其他配置文件或操作的名称相同。某些操作或配置文件名称分配给内置操作或配置文件,永远不能用于用户配置文件。可以在 Web App Firewall 配置文件 补充信息中找到不允许的姓名的完整列表。如果您尝试使用已用于操作或配置文件的名称创建配置文件,则会显示一条错误消息,并且不会创建配置文件。
使用命令行界面创建 Web App Firewall 配置文件
在命令提示符下,键入以下命令:
add appfw profile <name> [-defaults ( basic | advanced | core | cve)]
set appfw profile <name> -type ( HTML | XML | HTML XML )
set appfw profile <name> -comment "<comment>"
save ns config
示例
以下示例添加了一个名为 pr-basic
的配置文件,其基本默认值为,并分配了 HTML 的配置文件类型。这是用于保护 HTML 网站的配置文件的合适初始配置。
add appfw profile pr-basic -defaults basic -comment "Simple profile for websites."
set appfw profile pr-basic -type HTML
save ns config
<!--NeedCopy-->
使用 GUI 创建 Web App Firewall 配置文件
完成以下过程以创建 Web App Firewall 配置文件:
- 导航到安全 > NetScaler Web App Firewall > 配置文件。
- 在详细信息窗格中,单击“添加”。
-
在“创建 Web App Firewall 配置文件”页中,设置以下基本参数:
- 名称
- 配置文件类型
- 注意
- 默认值
- 说明
- 单击确定。
- 选择您创建的配置文件,然后单击“编辑”。
-
在“高级设置”部分中,完成以下配置:
- 安全检查
- 档案设置
- 动态分析
- 放松规则
- 拒绝规则
- 学会的规则
- 扩展日志
- 在“安全检查”部分中,选择安全保护并单击“操作设置”。
-
在安全检查页面中,设置参数。
注意:
活动规则 设置仅适用于激活放宽规则的 HTML SQL 注入 检查或拒绝 SQL 注入检查的规则。有关详细信息,请参阅放松和拒绝规则主题。
-
单击“确定”和关闭。
- 在配置文 件设置 部分中,设置配置文件参数。有关详细信息,请参阅配置 Web App Firewall 配置文件设置主题。
- 在 动态分析 部分中,选择安全检查以添加动态配置文件设置。有关详细信息,请参阅动态配置文件主题。
- 在 放宽规则 部分,单击 编辑 为安全检查添加放宽规则。有关详细信息,请参阅 放宽规则 了解详情。
- 在 拒绝规则 部分,为 HTML SQL 注入检查添加拒绝规则。有关详细信息,请参阅 HTML 拒绝规则主题。
- 在“学 习规则”部分中,设置学习设置。有关详细信息,请参阅 Web App Firewall 学习主题。
- 在 扩展日志记录 部分中,单击 添加 以屏蔽敏感数据。有关详细信息,请参阅扩展记录主题。
- 单击“完成”,然后单击“关闭”。
配置假帐户检测规则
虚假帐户创建是一个自动化的过程,它可以创建许多与真实人物无关的用户帐户,或者未经真实人物同意创建具有真实人物详细信息的用户帐户。非合法用户创建的虚假帐户使用的注册详细信息与某人的真实身份不符。创建这些帐户的目的是滥用 Web 应用程序提供的服务用于非合法目的,例如网络钓鱼攻击、传播假新闻、剥头皮等。大多数情况下,这些帐户是由恶意用户运行的漫游器创建的。
通过将虚假帐户检测规则绑定到 Web App Firewall 配置文件,NetScaler 设备得到了增强,可以检测虚假帐户。该规则由表单 URL 和每个 URL 的表单参数组成。如果传入请求与为假帐户检测规则配置的表达式或表单 URL(注册页面)匹配,则可疑注册尝试的评估结果为真,并且请求数据将发送到 ADM 服务器以供进一步检查。
要使用命令界面配置假帐户检测,请完成以下步骤:
- 启用假帐户检测功能
- 绑定假帐户规则
启用假帐户检测功能
在命令提示符下,键入:
add/set appfw profile <name> -FakeAccountDetection ( ON | OFF )
示例:
add appfw profile profile1 -FakeAccountDetection ON
绑定假帐户规则
在命令提示符下,键入:
bind appfw profile <name> -FakeAccount (string|expression) isFieldNameRegex (ON|OFF) -tag <TagExpression> ([-formUrl <FormURL>]| [-formExpression <FormExpression>)]) –state (ENABLED|DISABLED)
其中,
-
formUrl
:HTTP 表单操作 URL。 表单表达式:要计算的表单表达式。 -
fakeaccount
:假帐户的名称。 标签:标签表达式。 -
isFieldNameRegex
:指定字段名称是否为正则表达式。默认值 OFF。
示例:
bind appfw profile profile1 -FakeAccount john -formURL “/signup.php" -tag "smith"
bind appfw profile profile2 -FakeAccount Will -formExpression "HTTP.REQ.HEADER(\"Authorization\").CONTAINS(\"/test_accounts\").NOT && HTTP.REQ.URL.CONTAINS(\"/login.php\")" -fieldName -tag "smith"
example.com
注册页面的 HTTP post 请求的示例输入。
S.no | 输入 | 示例 |
---|---|---|
1 | 注册 HTTP POST 请求终端节点 URL | https://webapi.example.com/account/api/v1.0/contacts/ |
2 | HTTP 发布请求中的电子邮件字段名称 | 电子邮件地址 |
3 | 名字 HTTP 发布请求中的字段名 | 名字 |
4 | 姓氏:HTTP 发布请求中的字段名称 | 姓 |
使用 GUI 配置 Web App Firewall 假帐户检测规则
完成以下步骤以使用 GUI 配置假帐户检测规则。
- 导航到 配置 > 安全 > NetScaler Web App Firewall > 配置文件。
- 选择配置文件,然后单击 编辑。
- 在 NetScaler Web App Firewall 配置文件 页面中,单击 高级设置 中的 安全检查。
- 在 与 Citrix Cloud 集成的支票 部分中,选择伪造的帐户规则,然后单击 编辑。
- 在 AppFirewall 虚假帐户绑定 滑块中,选择要编辑的规则或单击 添加。
-
在 虚假帐户规则 页面中,设置以下参数:
- 已启用。选择以激活假帐户规则。
- 虚假帐户名。假帐户规则的名称。
- 标记。假帐户注册表中的名字。
- 字段名称是正则表达式吗?选择表单域是否为正则表达式。
- 表单表达式。定义假帐户的正则表达式。
- 表单 URL。输入假帐户检测 URL。
- 注释。关于假帐户检测规则的简要说明。
- 单击创建。