ADC

安全对象检查

安全对象检查为敏感的业务信息(如客户编号、订单号以及特定于特定国家或地区的电话号码或邮政编码)提供用户可配置的保护。用户定义的正则表达式或自定义插件告知 Web App Firewall 此信息的格式,并定义用于保护该信息的规则。如果用户请求中的字符串与安全对象定义匹配,则 Web App Firewall 会阻止响应、屏蔽受保护的信息,或者在将受保护的信息发送给用户之前将其从响应中删除,具体取决于您配置该特定安全对象规则的方式。

安全对象检查可防止攻击者利用您的 Web 服务器软件或网站上的安全漏洞来获取敏感的私人信息,例如公司信用卡号或社会安全号码。如果您的网站无法访问这些类型的信息,则无需配置此检查。如果您的购物车或其他应用程序可以访问此类信息,或者您的网站有权访问包含此类信息的数据库服务器,则必须为您处理和存储的每种类型的敏感私人信息配置保护。

注意:

不访问 SQL 数据库的网站通常无法访问敏感的私人信息。

安全对象检查与任何其他检查都不一样。您创建的每个安全对象表达式都相当于针对该类型信息的单独安全检查(类似于信用卡检查)。

使用 GUI 配置安全对象检查

注意

只能使用 GUI 配置安全对象检查。不支持命令行界面。

要使用 GUI 添加安全对象安全检查,请执行以下操作:

  1. 导航到 安全 > NetScaler Web App Firewall > 配置文件

  2. 选择所需的配置文件,然后单击“编辑”

  3. 在“高级设置”窗格中,单击“放宽规则”。

  4. 选择“安全对象”,然后单击“编辑”

  5. 单击“添加”并配置以下内容:

    • 安全对象名称。新安全对象的名称。名称可以以字母、数字或下划线符号开头。名称可以由 1 到 255 个字母、数字和连字符 (-)、句点 (.) 磅 (#)、空格 ()、at 符号 (@)、等号 (=)、冒号 (:) 和下划线 (_) 符号组成。
    • 操作。启用或禁用“阻止”、“日志”和“统计”操作以及以下操作:
      • X-Out。使用字母“X”掩盖与安全对象表达式匹配的任何信息。
      • 删除。删除与安全对象表达式匹配的所有信息。
    • 正则表达式。输入定义安全对象的 PCRE 兼容正则表达式。您可以通过以下 方式之一创建正则表达式:
      • 直接在文本框中键入正则表达式
      • 使用正则表达式令牌菜单将正则表达式元素和符号直接输入到文本框中
      • 打开正则表达式编辑器并使用它来构造表达式。正则表达式只能包含 ASCII 字符。不要剪切和粘贴不属于基本 128 个字符 ASCII 集的字符。如果要包含非 ASCII 字符,则必须以 PCRE 十六进制字符编码格式手动键入这些字符。

      注意:

      请勿在安全对象表达式的开头使用起始锚点 (^),或在安全对象表达式的末尾使用结束锚点 ($)。安全对象表达式不支持这些 PCRE 实体,如果使用了这些 PCRE 实体,则会导致表达式与其要匹配的内容不匹配。

    • 最大匹配长度。输入一个正整数,表示要匹配的字符串的最大长度。例如,如果要匹配美国社会保险号码,请在此字段中输入数字 11。这允许您的正则表达式匹配一个有九个数字和两个连字符的字符串。如果要匹配加利福尼亚州的驾照号码,请输入数字八 (8)。

      小心:

      如果没有最大匹配长度,Web App Firewall 在筛选与安全对象表达式匹配的字符串时将使用默认值一 (1)。因此,大多数安全对象表达式无法匹配其目标字符串。

您可以修改现有表达式,方法是选择所需的表达式,单击“打开”,然后在“修改安全对象”对话框中配置表达式。

以下是安全对象检查正则表达式的示例:

  • 查找看起来像是美国社会安全号码 (SSN) 的字符串。SSN 按上述顺序由以下字符组成:
    • 三个数字(第一个数字不能为零)
    • 一个连字符
    • 再加两个数字
    • 第二个连字符
    • 由四个数字组成的字符串
     [1-9][0-9]{3,3}-[0-9]{2,2}-[0-9]{4,4}
     <!--NeedCopy-->
    
  • 查找看起来像是加利福尼亚州驾照 ID 的字符串,该字符串以字母开头,后面紧跟由七个数字组成的字符串:

     [A-Za-z][0-9]{7,7}
     <!--NeedCopy-->
    
  • 查找看起来像是客户 ID 的字符串。客户 ID 按上述顺序由以下内容组成:
    • 由五个十六进制字符组成的字符串(所有数字和字母 A 到 F)
    • 一个连字符
    • 由三个字母组成的代码
    • 第二个连字符
    • 由 10 个数字组成的字符串
     [0-9A-Fa-f]{5,5}-[A-Za-z]{3,3}-[0-9]{10,10}
     <!--NeedCopy-->
    

小心:

正则表达式非常强大。如果您不太熟悉 PCRE 格式的正则表达式,请仔细检查您编写的任何正则表达式。确保正则表达式准确地定义了要添加为安全对象定义的字符串的类型。粗心地使用通配符,尤其是点星号 (.*) 元字符/通配符组合,可能会产生您不希望或期望的结果,例如阻止访问您不打算阻止的 Web 内容。

安全对象检查