机器人检测

Citrix ADC 机器人管理系统使用六种不同的技术来检测传入的机器人流量。这些技术用作检测规则来检测机器人类型。这些技术包括机器人白名单、机器人黑名单、IP 信誉、设备指纹识别、速率限制和机器人签名。

注意

机器人管理最多支持 32 个配置实体,用于黑名单、白名单和速率限制技术。

机器人白名单。可以作为白名单绕过的 IP 地址、子网和策略表达式的自定义列表。

机器人黑名单。必须阻止访问 Web 应用程序的 IP 地址、子网和策略表达式的自定义列表。

IP 信誉。此规则检测传入的机器人流量是否来自恶意 IP 地址。

设备指纹。此规则检测传入的机器人流量是否在传入的客户端机器人流量的传入请求标头和浏览器属性中具有设备指纹 ID。

速率限制。此规则速率限制来自同一客户端的多个请求。

机器人签名。此机器人规则基于签名检测来检测和阻止机器人。有助于防止未经授权的 URL 刮取网站、强制登录以及探测漏洞的机器人。

现在,让我们看看如何配置每种技术来检测和管理您的机器人流量。

配置机器人管理

要配置机器人管理,您必须完成以下步骤:

  1. 启用机器人管理
  2. 导入机器人签名
  3. 添加机器人配置文件
  4. 添加机器人策略
  5. 绑定机器人策略全局
  6. 配置机器人设置

启用机器人管理

开始之前,请确保在设备上启用了机器人管理功能。如果您有新的 Citrix ADC 或 VPX,则必须在配置之前启用该功能。如果要将 Citrix ADC 或 VPX 设备从早期版本的 Citrix ADC 软件升级到当前版本,则必须在配置之前启用该功能。在命令提示窗口中,键入:

enable ns feature Bot

导入机器人签名

您必须导入默认的签名机器人文件并将其绑定到机器人配置文件。在命令提示窗口中,键入:

import bot signature [<src>] <name> [-comment <string>] [-overwrite]

在哪里, SRC。要存储导入的签名文件的文件的本地路径和名称或 URL(协议、主机、路径和文件名)。注意:如果要导入的对象位于需要客户端证书身份验证才能访问的 HTTPS 服务器上,则导入失败。最大长度:2047 名称。要分配给 Citrix ADC 上的机器人签名文件对象的名称。这是一个强制性的论点。最大长度:31 评论. 保留有关签名文件对象的信息的任何注释。最大长度:255。 覆盖。覆盖现有文件。 注意:使用覆盖选项更新签名文件中的内容。或者,使用“更新机器人签名<name>”命令更新 Citrix ADC 设备上的签名文件

示例

import bot signature http://www.example.com/signature.json signaturefile -comment commentsforbot –overwrite

注意 您可以使用覆盖选项更新签名文件中的内容。此外,您可以使用“更新机器人签名<name>”命令更新 Citrix ADC 设备中的签名文件。

添加机器人配置文件

机器人检测配置文件是机器人设置和签名规则的集合,用于检测机器人并保护您的设备免受攻击。机器人类型可以是一个好的机器人,坏的机器人或无法检测的机器人。机器人签名文件绑定到机器人检测配置文件。六个机器人检测类别包括机器人白名单、机器人黑名单、设备指纹识别、IP 信誉、速率限制和静态签名,用于检测机器人流入您的设备。

在命令提示窗口中,键入:

add bot profile <name> [-signature <string>] [-errorURL <string>] [-comment <string>]

示例:

add bot profile profile1 –signature signaturefile –errorURL www.badbot.com –comment commentsforBot

添加机器人策略

您必须添加用于评估机器人流量的机器人策略。 在命令提示窗口中,键入:

add bot policy <name> -rule <expression> -profileName <string> [-undefAction <string>] [-comment <string>] [-logAction <string>]

其中,

Name(名称)。机器人策略的名称。必须以字母、数字或下划线字符 (_) 开头,并且必须仅包含字母、数字和连字符 (-)、句点 (.) (#)、空格 ()、位于 (@)、equals (=)、冒号 (:) 和下划线字符。可以在添加机器人策略后更改。

规则。策略用于确定是否对指定请求应用机器人配置文件的表达式。这是一个强制性的论点。最大长度:1499

profileName。如果请求与此机器人策略匹配,则要应用的机器人配置文件的名称。这是一个强制性的论点。最大长度:127

undefAction。如果策略评价结果不明确,应采取的操作 (民主基金)。一个民主基金事件表示一个内部错误条件。最大长度:127

comment。有关此机器人策略的任何类型的信息。最大长度:255

logAction。要用于与此策略匹配的请求的消息日志操作的名称。最大长度:127

示例:

add bot policy pol1 –rule "HTTP.REQ.HEADER(\"header\").CONTAINS(\"custom\")" - profileName profile1 -undefAction drop –comment commentforbotpolicy –logAction log1

Bind bot policy global

在命令提示窗口中,键入:

bind bot global -policyName <string> -priority <positive_integer> [-gotoPriorityExpression <expression>][-type ( REQ_OVERRIDE | REQ_DEFAULT )] [-invoke (-labelType ( vserver | policylabel ) -labelName <string>) ]

示例:

Bind bot global –policyName pol1 –priority 100 –gotoPriorityExpression NEXT -type REQ_OVERRIDE

机器人设置

如有必要,您可以自定义默认设置。 在命令提示窗口中,键入:

set bot settings [-defaultProfile <string>] [-javaScriptName <string>] [-sessionTimeout] positive_integer>] [-sessionCookieName <string>] [-dfpRequestLimit <positive_integer>]

其中,

默认配置文件。当连接与任何策略不匹配时使用的配置文件。默认设置为“”,它将不匹配的连接发回 Citrix ADC,而无需尝试进一步过滤它们。 最大长度:31

javaScriptName。BotNet 功能 用于响应的 JavaScript 的名称。必须以字母或数字开头,并且可以包含 1 到 31 个字母、数字以及连字符 (-) 和下划线 (_) 符号。以下要求仅适用于 Citrix ADC CLI:如果名称包含一个或多个空格,请将名称用双引号或单引号括起来(例如,“我的 cookie 名称”或“我的 cookie 名称”)。最大长度:31

sessionTimeout。超时(以秒为单位),在此之后终止用户会话。最小值:1,最大值:65535

sessionCookieName。僵尸网络功能用于跟踪的会话 cookie 的名称。必须以字母或数字开头,并且可以包含 1 到 31 个字母、数字以及连字符 (-) 和下划线 (_) 符号。以下要求仅适用于 Citrix ADC CLI:如果名称包含一个或多个空格,请将名称用双引号或单引号括起来(例如,“我的 cookie 名称”或“我的 cookie 名称”)。最大长度:31

dfpRequestLimit。如果启用了设备指纹,则允许不使用机器人会话 cookie 的请求数最小值:1,最大值:4294967295

示例:

set bot settings –defaultProfile profile1 –javaScriptName json.js –sessionTimeout 1000 –sessionCookieName session

使用 Citrix ADC GUI 配置机器人管理

您可以通过首先在设备上启用该功能来配置 Citrix ADC 机器人管理。启用后,您可以创建一个机器人策略,将传入流量评估为 bot,并将流量发送到机器人配置文件。然后,您创建一个机器人配置文件,然后将该配置文件绑定到机器人签名。作为替代方法,您还可以克隆默认机器人签名文件,并使用特征文件配置检测技术。创建签名文件后,您可以将其导入到机器人配置文件中。所有这些步骤都按照以下顺序执行:

机器人管理页面

  1. 启用机器人管理功能
  2. 配置机器人管理设置
  3. 克隆 Citrix 机器人默认签名
  4. 导入 Citrix 机器人签名
  5. 配置机器人签名设置
  6. 创建机器人配置文件
  7. 创建机器人策略

启用机器人管理功能

请按照以下步骤启用机器人管理:

  1. 在导航窗格上,展开 系统 ,然后单击 设置
  2. 在“配置高级功能”页上,选中“机 器人管理”复选框。
  3. 单击 OK(确定),然后单击 Close(关闭)。

    启用机器人管理

配置设备指纹技术的机器人管理设置

按照以下步骤配置设备指纹技术:

  1. 导航到“安全”>“Citrix 机器人管理”。
  2. 在详细信息窗格中的“设置”下,单击“更改 Citrix 机器人管理设置”。
  3. 配置 Citrix 机器人管理设置中,设置以下参数。

    1. 默认配置文件。选择一个机器人配置文件。
    2. JavaScript 名称。机器人管理在响应客户端时使用的 JavaScript 文件的名称。
    3. 会话超时。超时(以秒为单位),在此之后终止用户会话。
    4. 会话饼干。机器人管理系统用于跟踪的会话 cookie 的名称。
    5. 设备指纹请求限制。如果启用了设备指纹,则在没有机器人会话 cookie 的情况下允许的请求数

    机器人管理设置

  4. 单击确定

克隆机器人签名文件

请按照以下步骤克隆机器人签名文件:

  1. 导航到“安全”>“Citrix 机器人管理签名”。
  2. Citrix 机器人管理签名 页面中,选择默认机器人签名记录,然后单击 克隆
  3. 在“克 隆机器人签 名”页面中,输入名称并编辑签名数据。
  4. 单击创建

    克隆机器人签名文件

导入机器人签名文件

如果您有自己的签名文件,则可以将其导入为文件、文本或 URL。执行以下步骤导入机器人签名文件:

  1. 导航到“安全”>“Citrix 机器人管理签名”。
  2. Citrix 机器人管理签名 页面上,将文件导入为 URL、文件或文本。
  3. 单击 Continue(继续)。

    导入机器人签名文件

  4. 在“导入 Citrix 机器人管理签名”页面上,设置以下参数。
    1. Name(名称)。机器人签名文件的名称。
    2. 评论。有关导入文件的简要描述。
    3. 覆盖。选中此复选框可允许在文件更新期间覆盖数据。
    4. 签名数据。修改签名参数
  5. 单击 完成

    导入机器人签名文件

使用 Citrix ADC GUI 配置机器人白名单

此检测技术使您能够绕过配置白名单的 URL。按照以下步骤配置白名单 URL:

  1. 导航到“安全”>“Citrix 机器人管理签名”。
  2. Citrix 机器人管理签名 页面上,选择一个特征文件,然后单击 编辑
  3. Citrix 机器人管理签名 页面上,转到“签名设置”部分,然后单击“白名单”。
  4. 白名单 部分,设置以下参数:
    1. 已启用。选中此复选框可验证白名单 URL 作为检测过程的一部分。
    2. 配置类型。配置白名单 URL。在机器人检测过程中会绕过 URL。单击“添加”将 URL 添加到机器人白名单。
    3. 在“配置 Citrix 机器人管理签名白名单”页面中,设置以下参数:
      1. 类型。URL 类型可以是 IPv4 地址、子网 IP 地址或与策略表达式匹配的 IP 地址。
      2. 已启用。选中此复选框以验证 URL。
      3. 价值。URL 地址。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。日志的简要说明。
      6. 评论. 有关白名单 URL 的简要描述。
      7. 单击确定

    配置机器人白名单

  5. 点击 更新签名
  6. 单击 完成

    配置机器人白名单

使用 Citrix ADC GUI 配置机器人黑名单

此检测技术使您能够删除配置为黑名单的 URL。按照以下步骤配置黑名单 URL。

  1. 导航到“安全”>“Citrix 机器人管理签名”。
  2. Citrix 机器人管理签名 页面上,选择一个特征文件,然后单击 编辑
  3. Citrix 机器人管理签名 页面上,转到“签名设置”部分,然后单击“黑名单”。
  4. 黑名单 部分,设置以下参数:

    1. 已启用。选中此复选框可验证黑名单 URL 作为检测过程的一部分。
    2. 配置类型。将 URL 配置为机器人黑名单检测过程的一部分。这些 URL 在机器人检测过程中被删除。单击“添加”将 URL 添加到机器人黑名单
    3. 在“配置 Citrix 机器人管理签名黑名单”页面中,设置以下参数。

      1. 类型。URL 类型可以是 IPv4 地址、子网 IP 地址或 IP 地址。
      2. 已启用。选中此复选框以验证 URL。
      3. 价值。URL 地址。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。登录的简要描述。
      6. 评论. 有关黑名单 URL 的简要描述。
      7. 单击确定

    配置机器人黑名单

  5. 点击 更新签名
  6. 单击 完成

    配置机器人黑名单

使用 Citrix ADC GUI 配置 IP 信誉

此配置是机器人 IP 信誉功能的先决条件。通过检测技术,您可以识别传入 IP 地址是否存在任何恶意活动。作为配置的一部分,我们设置了不同的恶意机器人类别,并将机器人操作关联到每个机器人操作。请按照以下步骤配置 IP 信誉技术。

  1. 导航到“ 安全”>“Citrix 机器人管理签名”。
  2. Citrix 机器人管理签名 页面上,选择一个特征文件,然后单击 编辑
  3. Citrix 机器人管理签名页面上,转到签名设置部分,然后单击 IP 信誉
  4. IP 信誉部分,设置以下参数:
    1. 已启用。选中此复选框可验证传入的机器人流量作为检测过程的一部分。
    2. 配置类别。您可以在不同类别下对传入的机器人流量使用 IP 信誉技术。根据配置的类别,您可以删除或重定向机器人流量。单击 添加 以配置恶意机器人类别。
    3. 配置 Citrix 机器人管理签名 IP 信誉页面中,设置以下参数:

      1. Category(类别)。从列表中选择一个恶意机器人类别。根据类别关联机器人操作。
      2. 已启用。选中此复选框以验证 IP 信誉签名检测。
      3. 机器人操作。选择要为所选类别执行的机器人操作。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。日志的简要说明。
      6. 评论. 有关机器人类别的简要描述。
  5. 单击确定
  6. 点击 更新签名
  7. 单击 完成

    配置 IP 信誉

使用 Citrix ADC GUI 配置机器人速率限制

通过此检测技术,您可以根据在预定义时间内从客户端 IP 地址、会话或配置的资源(例如,从 URL)收到的请求数阻止机器人。按照以下步骤配置速率限制技术。

  1. 导航到“安全”>“Citrix 机器人管理签名”。
  2. Citrix 机器人管理签名 页面上,选择一个特征文件,然后单击 编辑
  3. Citrix 机器人管理签名 页面上,转到 签名设置 部分,然后单击 速率限制
  4. 在“费率限制”部分,设置以下参数:
    1. 已启用。选中此复选框可验证传入的机器人流量作为检测过程的一部分。
    2. 会议。基于会话的速率限制请求。单击添加以配置基于会话的速率限制请求。
    3. 在“配置 Citrix 机器人管理签名速率限制”页面中,设置以下参数。
      1. Category(类别)。从列表中选择一个恶意机器人类别。根据类别关联操作。
      2. 已启用。选中此复选框以验证传入的机器人流量。
      3. 机器人操作。为所选类别选择机器人操作。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。日志的简要说明。
      6. 评论. 有关机器人类别的简要描述。
      7. 单击确定

配置速率限制

  1. 点击 更新签名
  2. 单击 完成

    配置速率限制

使用 Citrix ADC GUI 配置设备指纹识别

此检测技术将一个 java 脚本文件发送到浏览器,并在发布正文消息中提取设备指纹 ID。根据提取的详细信息,该技术会删除或绕过机器人流量。按照步骤配置检测技术。

  1. 导航到“安全”>“Citrix 机器人管理签名”。
  2. Citrix 机器人管理签名 页面上,选择一个特征文件,然后单击 编辑
  3. Citrix 机器人管理签名 页面上,转到“签名设置”部分,然后单击“设 备指纹”。
  4. 在“设 备指纹”部分中,设置以下参数:

    1. 已启用。设置此选项以启用规则。
    2. 配置。对于给定的设备指纹,不分配任何操作、删除或重定向操作。
    3. 日志。选中该复选框以存储日志条目。
  5. 点击 更新签名
  6. 单击 完成

配置设备指纹

使用 Citrix ADC GUI 配置机器人静态签名

此检测技术使您能够从浏览器详细信息中识别用户代理信息。根据用户代理信息,该机器人被标识为坏机器人或好机器人,然后您将机器人操作分配给它。按照以下步骤配置静态签名技术。

  1. 导航到“安全”>“Citrix 机器人管理”>“签名”。
  2. Citrix 机器人管理签名 页面上,选择一个特征文件,然后单击 编辑
  3. Citrix 机器人管理签 名页面上,转到“签名设置”部分,然后单击“机器人签名”。
  4. 机器人签名 部分,设置以下参数:

    1. 配置静态签名。选择机器人静态签名记录,然后单击“编辑”以为其分配机器人操作。
    2. 单击确定
  5. 点击 更新签名
  6. 单击 完成

配置静态签名

创建机器人管理配置文件

机器人配置文件是用于检测机器人类型的机器人管理设置的集合。在配置文件中,您可以确定 Web App Firewall 如何将其每个筛选器(或检查)应用到您的网站的机器人流量以及来自这些网站的响应。

按照以下步骤配置机器人配置文件:

  1. 导航到“安全”>“Citrix 机器人管理”>“配置文件”。
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“创建 Citrix 机器人管理配置文件”页面中,设置以下参数。

    1. Name(名称)。机器人配置文件名称。
    2. 签名。机器人签名文件的名称。
    3. 错误的 URL。重定向的 URL。
    4. 评论。有关配置文件的简要描述。
  4. 点击 创建关闭

配置机器人管理配置文件

创建机器人策略

机器人策略控制进入机器人管理系统的流量,并控制发送到 Auditlog 服务器的机器人日志。按照过程配置机器人策略。

  1. 导航到“安全”>“Citrix 机器人管理”>“机器人策 略”。
  2. 在详细信息窗格中,单击 Add(添加)。
  3. 在“创建 Citrix 机器人管理策略”页面中,设置以下参数。
    1. Name(名称)。机器人策略的名称。
    2. 表达式。直接在文本区域中键入策略表达式或规则。
    3. 机器人个人资料. 用于应用机器人策略的机器人配置文件。
    4. 未定义的操作。选择您希望分配的操作。
    5. 评论。有关策略的简要描述。
    6. 记录操作。审核记录机器人流量的日志消息操作。有关审核日志操作的详细信息,请参阅审核日志记录主题。
  4. 点击 创建关闭

配置机器人管理配置文件