Citrix ADC

安全物件检查

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

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

注意:

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

“安全对象检查”对话框与任何其他检查不同。您为该类型的信息创建的每个安全对象表达式等效于单独的安全检查(类似于信用卡检查)。如果使用向导或 GUI,则可以通过单击“添加安全对象”对话框中的“添加”并配置表达式来添加新表达式。修改现有表达式,方法是选择该表达式,然后单击“打开”,然后在“修改安全对象”对话框中配置该表达式。

在每个安全对象表达式的“安全对象”对话框中,您可以配置以下内容:

  • 安全对象名称。新安全对象的名称。名称可以以字母、数字或下划线符号开头,并且可以由一到 255 个字母、数字和连字符 (-)、句点 (.) 磅 (#)、空格 ()、符号 (@)、等号 (=)、冒号 (:) 和下划线 (_) 组成。
  • 操作。启用或禁用“阻止”、“日志”和“统计信息”操作以及以下操作:
    • X-Out。用字母“X”掩盖与安全对象表达式匹配的任何信息。
    • 删除。删除与安全对象表达式匹配的任何信息。
  • 正则表达式。输入定义安全对象的 PCRE 兼容正则表达式。您可以通过以下三种方式之一创建正则表达式:直接在文本框中键入正则表达式,使用 Regex 令牌菜单将正则表达式元素和符号直接输入到文本框中,或者打开正则表达式编辑器并使用它来构造表达式。正则表达式必须仅包含 ASCII 字符。不要剪切和粘贴不属于基本 128 字符 ASCII 集的字符。如果要包含非 ASCII 字符,则必须以 PCRE 十六进制字符编码格式手动键入这些字符。 注意:请勿在安全对象表达式的开头使用开始锚点 (^),或在安全对象表达式的结尾使用结束锚点 ($)。安全对象表达式中不支持这些 PCRE 实体,如果使用这些实体,将导致您的表达式与其要匹配的内容不匹配。
  • 最大匹配长度。输入一个正整数,表示要匹配的字符串的最大长度。例如,如果要匹配美国社会保障号码,请在此字段中输入数字十一 (11)。这允许您的正则表达式匹配具有九个数字和两个连字符的字符串。如果要匹配加州驾驶执照号码,请输入数字八 (8)。

    小心:

    如果未在此字段中输入最大匹配长度,Web App Firewall 在筛选与您的安全对象表达式匹配的字符串时使用默认值 1。因此,大多数安全对象表达式无法匹配其目标字符串。

您不能使用命令行界面配置安全对象检查。您必须使用 Web App Firewall 向导或 GUI 对其进行配置。

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

  • 查找似乎是美国社会保障号码的字符串,其中包括三个数字(其中第一个不能为零),后跟一个连字符,后跟两个数字,后跟一个连字符,后跟一个连字符,并以四个数字结尾:

     [1-9][0-9]{3,3}-[0-9]{2,2}-[0-9]{4,4}
    
  • 查找似乎是加利福尼亚驾驶执照 ID 的字符串,它们以字母开头,后跟一个完全由七个数字组成的字符串:

     [A-Za-z][0-9]{7,7}
    
  • 查找看似为客户 ID 的字符串,其中包含五个十六进制字符(所有数字和字母 A 到 F)的字符串,后跟一个连字符,后跟三个字母代码,后跟一个第二个连字符,并以十个数字的字符串结尾:

     [0-9A-Fa-f]{5,5}-[A-Za-z]{3,3}-[0-9]{10,10}
    

小心:

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

安全物件检查