Citrix ADC

机器人检测

Citrix ADC 机器人管理系统使用六种不同的技术来检测传入的机器人流量。这些技术用作检测规则来检测机器人类型。这些技术包括机器人允许列表、机器人阻止列表、IP 信誉、设备指纹识别、速率限制、机器人陷阱、TPS 和 CAPTCHA。

注意:

机器人管理最多支持 32 个配置实体用于阻止列表、允许列表和速率限制技术。

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

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

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

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

限制:

  1. 必须在客户端浏览器中启用 JavaScript。
  2. 不适用于 XML 响应。

机器人日志表达式。检测技术使您能够以日志消息的形式捕获其他信息。数据可以是请求 URL 的用户的姓名、源 IP 地址以及用户发送请求的源端口或表达式生成的数据。

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

机器人陷阱。通过在客户端响应中宣传陷阱 URL 来检测和阻止自动机器人。如果客户端是人类用户,则该 URL 将显示为不可见且无法访问。该检测技术可有效阻止来自自动机器人的攻击。

TPS。如果最大请求数和请求增加的百分比超过配置的时间间隔,则将传入流量检测为机器人。

验证码。此规则使用 CAPTCHA 来缓解机器人攻击。CAPTCHA 是一种挑战响应验证,用于确定传入的流量是来自人类用户还是自动机器人。该验证有助于阻止导致 Web 应用程序安全违规的自动机器人。您可以在 IP 信誉和设备指纹检测技术中将 CAPTCHA 配置为机器人操作。

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

如何将设备升级到基于 Citrix ADC CLI 的机器人管理配置

如果要从旧版本(Citrix ADC 版本 13.0 版本版本 58.32 或更早版本)升级设备,则必须首先仅将现有的机器人管理配置手动转换为基于 Citrix ADC CLI 的机器人管理配置一次。完成以下步骤手动转换机器人管理配置。

  1. 升级到最新版本后,使用以下命令连接到升级工具 “upgrade_bot_config.py”

    在命令提示符下,键入:

    shell "/var/python/bin/python /netscaler/upgrade_bot_config.py > /var/bot_upgrade_commands.txt"

  2. 使用以下命令运行配置。

    在命令提示符下,键入:

    batch -f /var/bot_upgrade_commands.txt

  3. 保存升级后的配置。

save ns config

配置 Citrix ADC 基于 CLI 的机器人管理

机器人管理配置使您能够将一种或多种机器人检测技术绑定到特定的机器人配置文件。您可以通过在设备上启用机器人管理功能来开始该过程。启用后,将机器人签名文件导入设备。导入后,您必须创建一个机器人配置文件。 然后,创建一个绑定了机器人配置文件的机器人策略,以评估作为机器人的传入流量,并将该策略全局绑定或绑定到虚拟服务器。

注意:

如果要从旧版本升级设备,则必须首先手动转换现有的机器人管理配置。有关更多信息,请参阅 如何升级到基于 Citrix ADC CLI 的机器人管理配置 部分。

要配置基于 Citrix ADC 的自动程序管理,必须完成以下步骤:

  1. 启用机器人管理
  2. 导入机器人签名
  3. 添加机器人资料
  4. 绑定机器人资料
  5. 添加机器人策略
  6. 绑定机器人策略
  7. 配置机器人设置

启用机器人管理

在开始之前,请确保在设备上启用了机器人管理功能。如果您有新的 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。 覆盖。覆盖现有文件。 注意:使用 overwrite 选项更新签名文件中的内容。或者,使用命 update bot signature <name> 令更新 Citrix ADC 设备上的签名文件

示例

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

注意:

您可以使用覆盖选项更新签名文件中的内容。此外,您可以使用 update bot signature <name> 命令更新 Citrix ADC 设备中的签名文件。

添加机器人资料

机器人配置文件是用于在设备上配置机器人管理的配置文件设置的集合。您可以配置设置以执行机器人检测。

在命令提示符下,键入:

add bot profile <name> [-signature <string>] [-errorURL <string>] [-trapURL <string>] [-comment <string>] [-whiteList ( ON | OFF )] [-blackList ( ON | OFF )] [-rateLimit ( ON | OFF )] [-deviceFingerprint ( ON | OFF )] [-deviceFingerprintAction ( none | log | drop | redirect | reset | mitigation )] [-ipReputation ( ON | OFF )] [-trap ( ON | OFF )] [-trapAction ( none | log | drop | redirect | reset )] [-tps ( ON | OFF )]

示例:

add bot profile profile1 -signature signature -errorURL http://www.example.com/error.html -trapURL /trap.html -whitelist ON -blacklist ON -ratelimit ON -deviceFingerprint ON -deviceFingerprintAction drop -ipReputation ON -trap ON

绑定机器人资料

创建机器人配置文件后,必须将机器人检测机制绑定到配置文件。

在命令提示符下,键入:

bind bot profile <name> ((-blackList [-type ( IPv4 | Subnet | Expression )] [-enabled ( ON | OFF )] [-value <string>] [-action ( log | drop | reset )] [-logMessage <string>] [-comment <string>]) | (-whiteList [-type ( IPv4 | Subnet | Expression )] [-enabled ( ON | OFF )] [-value <string>] [-log ( ON | OFF )] [-logMessage <string>] [-comment <string>])) | (-rateLimit [-type ( session |SOURCE_IP | url )] [-enabled ( ON | OFF )] [-url <string>] [-cookieName <string>] [-rate <positive_integer>] [-timeslice <positive_integer>] [-action ( none | log | drop | redirect | reset )] [-logMessage <string>] [-comment <string>]) | (-ipReputation [-category <ipReputationCategory>] [-enabled ( ON | OFF )] [-action ( none | log | drop | redirect | reset | mitigation )] [-logMessage <string>] [-comment <string>]) | (-captchaResource [-url <string>] [-enabled ( ON | OFF )] [-waitTime <positive_integer>] [-gracePeriod <positive_integer>] [-mutePeriod <positive_integer>] [-requestLengthLimit <positive_integer>] [-retryAttempts <positive_integer>] [-action ( none | log | drop | redirect | reset )] [-logMessage <string>] [-comment <string>]) | (-tps [-type ( SOURCE_IP | GeoLocation | REQUEST_URL | Host )] [-threshold <positive_integer>] [-percentage <positive_integer>] [-action ( none | log | drop | redirect | reset | mitigation )] [-logMessage <string>] [-comment <string>])

示例:

以下示例用于将 IP 信誉检测技术绑定到特定的机器人配置文件。

bind bot profile profile5 -ipReputation -category BOTNET -enabled ON -action drop -logMessage message

添加机器人策略

您必须添加用于评估机器人流量的机器人策略。

在命令提示符下,键入:

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

其中,

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

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

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

UndeFacttion。如果策略评估的结果未确定,应采取的行动 (UNDEF)。UNDEF 事件表示存在内部错误情况。 最大长度:127

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

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

示例:

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

全局绑定机器人策略

在命令提示符下,键入:

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

将机器人策略绑定到虚拟服务器

在命令提示符下,键入:

bind lb vserver <name>@ ((<serviceName>@ [-weight <positive_integer>] ) | <serviceGroupName>@ | (-policyName <string>@ [-priority <positive_integer>] [-gotoPriorityExpression <expression>] [-type ( REQUEST | RESPONSE )] [-invoke (<labelType> <labelName>) ] ) | -analyticsProfile <string>@)

示例:

bind lb vserver lb-server1 –policyName pol1 –priority 100 –gotoPriorityExpression NEXT -type REQ_OVERRIDE

配置机器人设置

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

set bot settings [-defaultProfile <string>] [-javaScriptName <string>] [-sessionTimeout <positive_integer>] [-sessionCookieName <string>] [-dfpRequestLimit <positive_integer>] [-signatureAutoUpdate ( ON | OFF )] [-signatureUrl <URL>] [-proxyServer <ip_addr|ipv6_addr|*>] [-proxyPort <port|*>]

其中,

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

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

会话超时。会话超时(以秒为单位),之后用户会话将终止。

最小值:1,最大值:65535

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

dfprequestLimit。如果启用了设备指纹,则允许没有机器人会话 cookie 的请求数。

最小值:1,最大值:4294967295

签名自动更新。用于启用/禁用机器人自动更新签名的标志。

可能的值:ON、OFF

默认值:OFF

签名 URL。从服务器下载机器人签名映射文件的 URL。

默认值: https://nsbotsignatures.s3.amazonaws.com/BotSignatureMapping.json

最大长度:2047

代理服务器。 用于从 AWS 获取更新签名的代理服务器 IP。

ProxyPort。用于从 AWS 获取更新的签名的代理服务器端口。默认值:8080

示例:

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

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

您可以通过首先在设备上启用该功能来配置 Citrix ADC 机器人管理。启用后,您可以创建机器人策略来评估作为机器人的传入流量,然后将流量发送到机器人配置文件。然后,创建一个机器人配置文件,然后将配置文件绑定到机器人签名。或者,您还可以克隆默认的机器人签名文件,然后使用签名文件来配置检测技术。创建签名文件后,您可以将其导入机器人配置文件。

机器人管理页

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

启用机器人管理功能

完成以下步骤以启用机器人管理:

  1. 在导航窗格上,展开 系统 ,然后单击 设置
  2. 配置高级功能 页面上,选中 Bot Management 复选框。
  3. 单击“确定”,然后单击“关闭”。

    启用机器人管理

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

完成以下步骤以配置设备指纹技术:

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

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

    机器人管理设置

  4. 单击确定

克隆机器人签名文件

完成以下步骤以克隆机器人签名文件:

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

    克隆机器人签名文件

导入机器人签名文件

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

  1. 导航到安全 > Citrix Bot Management签名
  2. Citrix Bot Management 签名页面上,将文件导入为 URL、文件或文本。
  3. 单击继续

    导入机器人签名文件

  4. 在导入 Citrix Bot Management 签名页面上,设置以下参数。
    1. 名称。机器人签名文件的名称。
    2. 评论。有关导入文件的简要说明。
    3. 覆盖。选中该复选框可允许在文件更新期间覆盖数据。
    4. 签名数据。修改签名参数
  5. 单击完成

    导入机器人签名文件

使用 Citrix ADC GUI 配置机器人允许列表

此检测技术使您能够绕过配置允许列出的 URL 的 URL。完成以下步骤以配置允许列表 URL:

  1. 导航到 安全 > Citrix 机器人管理配置文件
  2. Citrix Bot Management 配置文件页面上,选择一个文件,然后单击编辑
  3. Citrix Bot Management 配置文件页面上,转到签名设置部分,然后单击白名单
  4. 在 “ 白名单 ” 部分中,设置以下参数:
    1. 已启用。选中该复选框可在检测过程中验证允许列表 URL。
    2. 配置类型。配置允许列表 URL。机器人检测期间会绕过该 URL。单击 “添加” 将 URL 添加到机器人允许列表中。
    3. 配置 Citrix Bot Management 配置文件白名单绑定页面中,设置以下参数:
      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 Bot Management 配置文件页面上,选择一个签名文件,然后单击编辑
  3. Citrix Bot Management 配置文件页面上,转到签名设置部分,然后单击黑名单
  4. 黑名单 部分中,设置以下参数:

    1. 已启用。选中该复选框可在检测过程中验证阻止列表 URL。
    2. 配置类型。将 URL 配置为机器人阻止列表检测过程的一部分。这些 URL 在机器人检测期间会被丢弃。点击添加将 URL 添加到机器人阻止列表
    3. 配置 Citrix Bot Management 配置文件黑名单绑定页面中,设置以下参数。

      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 Bot Management配置文件
  2. Citrix Bot Management 配置文件页面上,选择一个签名文件,然后单击编辑
  3. Citrix Bot Management 配置文件页面上,转到签名设置部分,然后单击 IP 信誉
  4. IP 信誉 部分,设置以下参数:
    1. 已启用。选中该复选框可在检测过程中验证传入的机器人流量。
    2. 配置类别。您可以使用 IP 信誉技术处理不同类别下的传入机器人流量。根据配置的类别,您可以删除或重定向机器人流量。单击 添加 以配置恶意机器人类别。
    3. 配置 Citrix Bot Management 配置文件 IP 信誉绑定页面中,设置以下参数:

      1. Category(类别)。从列表中选择恶意机器人类别。根据类别关联机器人操作。
      2. 已启用。选中该复选框以验证 IP 信誉签名检测。
      3. 机器人动作。根据配置的类别,您可以分配任何操作、删除、重定向、缓解或 CAPTCHA 操作。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。日志的简要说明。
      6. 评论。关于机器人类别的简要说明。
  5. 单击确定
  6. 单击更新
  7. 单击完成

    配置 IP 信誉

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

这种检测技术使您能够根据在预定义的时间内从客户端 IP 地址、会话或配置的资源(例如,来自 URL)收到的请求数来阻止机器人程序。完成以下步骤以配置速率限制技术。

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

    配置速率限制

  5. 单击更新
  6. 单击完成

    配置速率限制

使用 Citrix ADC GUI 配置设备指纹技术

此检测技术向客户端发送 Java 脚本质询并提取设备信息。根据设备信息,该技术会丢弃或绕过机器人流量。按照步骤配置检测技术。

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

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

配置设备指纹

为移动 (Android) 应用程序配置设备指纹技术

设备指纹技术通过在对客户端的 HTML 响应中插入 JavaScript 脚本来检测作为机器人的传入流量。浏览器调用 JavaScript 脚本时,它会收集浏览器和客户端属性并向设备发送请求。检查属性以确定流量是机器人还是人类。

该检测技术进一步扩展为在移动(Android)平台上检测机器人。与 Web 应用程序不同,在移动(Android)流量中,基于 JavaScript 脚本的机器人检测不适用。 为了检测移动网络中的机器人,该技术使用了与客户端的移动应用程序集成的机器人移动 SDK。SDK 拦截移动流量、收集设备详细信息并将数据发送到设备。在设备方面,检测技术会检查数据并确定连接是来自机器人还是人类。

移动应用程序的设备指纹技术如何工作

以下步骤说明了机器人检测工作流程,以检测来自移动设备的请求是来自人还是机器人。

  1. 当用户与移动应用程序交互时,机器人移动 SDK 会记录设备行为。
  2. 客户端向 Citrix ADC 设备发送请求。
  3. 发送响应时,设备会插入包含会话详细信息和参数的机器人会话 cookie,以收集客户端参数。
  4. 当移动应用程序收到响应时,与移动应用程序集成的 Citrix bot SDK 将验证响应,检索记录的设备指纹参数,然后将其发送到设备。
  5. 设备端的设备指纹检测技术会验证设备详细信息,并更新机器人会话 cookie(如果它是否为可疑机器人)。
  6. 当 Cookie 过期或设备指纹保护更愿意定期验证和收集设备参数时,整个过程或挑战都会重复进行。

先决条件

要开始使用适用于移动应用程序的 Citrix ADC 设备指纹检测技术,必须在移动应用程序中下载并安装机器人移动 SDK。

使用 CLI 为移动 (Android) 应用程序配置指纹检测技术

在命令提示符下,键入:

set bot profile <profile name> -deviceFingerprintMobile ( NONE | Android )

示例:

set bot profile profile 1 –deviceFingerprintMobile Android

使用 GUI 为移动 (Android) 应用程序配置设备指纹检测技术

  1. 导航到 安全 > Citrix 机器人管理配置文件
  2. Citrix Bot Management 配置文件页面上,选择一个文件,然后单击编辑
  3. Citrix Bot Management 配置文件页面上,单击配置文件设置下的设备指纹
  4. 配置 Bot Mobile SDK 部分中,选择移动客户端类型。
  5. 单击 “ 更新完成”。

移动应用程序的机器人管理设备指纹检测

配置机器人日志表达

如果客户端被标识为机器人,Citrix Bot Management 将允许您以日志消息的形式捕获其他信息。数据可以是请求 URL 的用户的姓名、源 IP 地址以及用户发送请求的源端口或表达式生成的数据。要执行自定义日志记录,必须在机器人管理配置文件中配置日志表达式。

使用 CLI 在机器人配置文件中绑定日志表达式

在命令提示符下,键入:

bind bot profile <name> (-logExpression -name <string> -expression <expression> [-enabled ( ON | OFF )]) -comment <string>
<!--NeedCopy-->

示例:

bind bot profile profile1 –logExpression exp1 –expression HTTP.REQ.URL –enabled ON -comment "testing log expression"

使用 GUI 将日志表达式绑定到机器人配置文件

  1. 导航到安全 > Citrix 机器人管理 > 配置文件
  2. Citrix Bot Management 配置文件页面上,从配置文件设置部分选择机器人日志表达式
  3. 在 **机器人日志表达式设置** 部分中,单击 添加
  4. 配置 Citrix Bot Management 配置文件机器人日志表达式绑定页面中,设置以下参数。
    1. 日志表达式名称。日志表达式的名称。
    2. 表达式。输入日志表达式。
    3. 已启用。启用或禁用日志表达式绑定。
    4. 评论。关于机器人日志表达式绑定的简要说明。
  5. 单击确定然完成

Bot 日志表达式

配置机器人陷阱技术

Citrix 机器人陷阱技术在客户端响应中随机或定期插入陷阱 URL。您还可以创建陷阱 URL 列表并为其添加 URL。如果客户端是人类用户,则该 URL 显示为不可见且无法访问。但是,如果客户端是自动机器人,则可以访问该 URL,并且在访问时,攻击者将被归类为机器人,并且该机器人的任何后续请求都将被阻止。陷阱技术可以有效阻止来自机器人的攻击。

陷阱 URL 是长度可配置的字母数字 URL,它是按可配置的间隔自动生成的。此外,该技术还允许您为访问量最高的网站或经常访问的网站配置陷阱插入 URL。通过这样做,您可以强制为与陷阱插入 URL 匹配的请求插入机器人陷阱 URL。

注意:

尽管机器人陷阱 URL 是自动生成的,但 Citrix ADC 机器人管理仍允许您在机器人配置文件中配置自定义的陷阱 URL。这样做是为 了增强机器人检测技术,使攻击者更难访问陷阱 URL。

要完成机器人陷阱配置,您必须完成以下步骤。

  1. 启用机器人陷阱 URL
  2. 在机器人资料中配置机器人陷阱 URL
  3. 将机器人陷阱插入 URL 绑定到机器人配置文件
  4. 在机器人设置中配置机器人陷阱 URL 长度和间隔

启用机器人陷阱 URL 保护

在开始之前,必须确保在设备上启用了 Bot 陷阱 URL 保护。在命令提示符下,键入:

enable ns feature Bot

在机器人资料中配置机器人陷阱 URL

您可以配置机器人陷阱 URL 并在机器人配置文件中指定陷阱操作。
在命令提示符下,键入:

add bot profile <name> -trapURL <string> -trap ( ON | OFF ) -trapAction <trapAction>

其中,

trapURL. 机器人保护用作陷阱 URL 的 URL。 最大长度:127

trap. 启用机器人陷阱检测。可能的值:ON、OFF、默认值:OFF

trapAction. 基于机器人检测要采取的行动。 可能的值:无、LOG、DROP、重定向、重置、缓解。默认值:NONE

示例:

add bot profile profile1 -trapURL www.bottrap1.com trap ON -trapAction RESET

将机器人陷阱插入 URL 绑定到机器人配置文件

您可以配置机器人陷阱插入 URL 并将其绑定到机器人配置文件。 在命令提示符下,键入:

bind bot profile <profile_name> trapInsertionURL –url <url> -enabled ON|OFF -comment <comment>

其中,

URL. 插入机器人陷阱 URL 的请求 URL 正则表达式模式。最大长度:127

示例:

bind bot profile profile1 trapInsertionURL –url www.example.com –enabled ON –comment insert a trap URL randomly

在机器人设置中配置机器人陷阱 URL 长度和间隔

您可以配置机器人陷阱 URL 长度,也可以设置自动生成机器人陷阱 URL 的间隔。 在命令提示符下,键入:

set bot settings -trapURLAutoGenerate ( ON | OFF ) –trapURLInterval <positive_integer> -trapURLLength <positive_integer>

其中,

trapURLInterval. 机器人陷阱 URL 更新之后的时间(以秒为单位)。默认值:3600,最小值:300,最大值:86400

trapURLLength. 自动生成的机器人陷阱 URL 的长度。默认值:32,最小值:10,最大值:255

示例:

set bot settings -trapURLAutoGenerate ON –trapURLInterval 300 -trapURLLength 60

使用 GUI 配置机器人陷阱 URL

  1. 导航到安全 > Citrix 机器人管理 > 配置文件
  2. Citrix Bot Management 配置文件页面中,单击编辑以配置机器人陷阱 URL 技术。
  3. 创建 Citrix Bot Management 配置文件页面中,在“常规”部分中输入机器人陷阱 URL。

    机器人管理档案中的 Bot trap 技术

  4. 创建 Citrix Bot Management 配置文件页面中,单击配置文件设置中的机器人陷阱
  5. Bot Trap 部分中,设置以下参数。

    a. 已启用。选中该复选框以启用机器人陷阱检测 b. 说明。关于 URL 的简要说明。 c. 配置操作。对机器人陷阱访问检测到的机器人要采取的措施。

    机器人陷阱配置的机器人陷阱技术

  6. 配置陷阱插入 URL 部分中,单击 添加
  7. 配置 Citrix Bot Management 配置文件机器人陷阱绑定页面中,设置以下参数。

    1. 陷阱 URL。键入要确认作为机器人陷阱插入 URL 的 URL。
    2. 已启用。启用或禁用机器人陷阱插入 URL。
    3. 评论。关于陷阱插入 URL 的简要说明。 机器人陷阱绑定的机器人陷阱技术
  8. 在 “ 签名设置 ” 部分,单击 “ 机器人陷阱”。
  9. Bot Trap 部分中,设置以下参数:

    1. 已启用。选中该复选框可启用机器人陷阱检测。
    2. 在配置部分中,设置以下参数。

      1. 操作。对机器人陷阱访问检测到的机器人要采取的措施。
      2. 日志。启用或禁用机器人陷阱绑定的日志记录。
  10. 单击 “ 更新完成”。

配置机器人陷阱 URL 设置

要配置机器人陷阱 URL 设置,请完成以下步骤:

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

    1. 陷阱 URL 间隔。机器人陷阱 URL 更新之后的时间(以秒为单位)。
    2. 陷阱 URL 长度。自动生成的机器人陷阱 URL 的长度。
  4. 点击 确定完成

机器人陷阱 URL 设置的机器人陷阱技术

机器人检测客户端 IP 策略表达式

Citrix Bot Management 现在可以配置高级策略表达式,以便从 HTTP 请求标头、HTTP 请求正文、HTTP 请求 URL 或使用高级策略表达式中提取客户端 IP 地址。机器人检测机制(例如 TPS、机器人陷阱或速率限制)可以使用提取的值来检测传入的请求是否为机器人。

注意:

如果您尚未配置客户端 IP 表达式,则默认或现有源客户端 IP 地址将用于机器人检测。如果配置了表达式,则评估结果将提供可用于机器人检测的客户端 IP 地址。

如果传入请求是通过代理服务器发出并且标头中存在客户端 IP 地址,则可以配置并使用客户端 IP 表达式来提取实际的客户端 IP 地址。通过添加此配置,设备可以使用机器人检测机制为软件客户端和服务器提供更高的安全性。

使用 CLI 在机器人配置文件中配置客户端 IP 策略表达式

在命令提示符下,键入:

add bot profile <name> [-clientIPExpression <expression>]
<!--NeedCopy-->

示例:

add bot profile profile1 –clientIPExpression 'HTTP.REQ.HEADER("X-Forwarded-For") ALT CLIENT.IP.SRC.TYPECAST_TEXT_T'

使用 GUI 在机器人配置文件中配置客户端 IP 策略表达式

  1. 导航到安全 > Citrix 机器人管理 > 配置文件
  2. 在详细信息窗格中,单击添加
  3. 创建 Citrix Bot Management 配置文件页面中,设置客户端 IP 表达式。
  4. 单击创建关闭

    使用机器人配置文件中的策略表达式进行客户端 IP 地址

为 IP 信誉和设备指纹检测配置验证码

CAPTCHA 是一个首字母缩写词,代表 “完全自动化的公共图灵测试,将计算机和人类区分开来”。 CAPTCHA 旨在测试传入的流量是来自人类用户还是自动机器人。CAPTCHA 有助于阻止导致 Web 应用程序安全违规的自动机器人。在 ADC 设备中,CAPTCHA 使用质询-响应模块来识别传入的流量是否来自人类用户,而不是自动机器人。

配置机器人静态签名

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

  1. 在导航窗格中,展开安全性 > Citrix Bot Management > 签名
  2. Citrix Bot Management 签名页面上,选择一个特征文件,然后单击编辑
  3. Citrix Bot Management 签名页面上,转到签名设置部分,然后单击机器人签名
  4. 机器人签名 部分中,设置以下参数:
    1. 配置 静态签名。本节有机器人静态签名记录的列表。您可以选择一条记录,然后单击 编辑 以为其分配机器人操作。
    2. 单击确定
  5. 单击 更新签名
  6. 单击完成

机器人静态签名

机器人静态签名描述

Citrix ADC 机器人管理可保护您的 Web 应用程序免受机器人 机器人静态签名有助于根据传入请求中的用户代理等请求参数识别好机器人和坏机器人。
文件中的签名列表非常庞大,还会添加新的规则,并定期删除陈旧的规则。作为管理员,您可能希望在某个类别下搜索特定签名或签名列表。为了轻松过滤签名,机器人签名页面提供了增强的搜索功能。搜索功能使您能够查找签名规则并根据一个或多个签名参数(如操作、签名 ID、开发人员和签名名称)配置其属性。

操作。选择您希望为特定类别的签名规则配置的机器人操作。以下是可用的操作类型:

  • 启用选定项。启用所有选定的签名规则。
  • 禁用选定项。禁用所有选定的签名规则。
  • 删除选定项。将操作作为 “Drop” 应用于所有选定的签名规则。
  • 重定向选定项。将操作作为 “重定向” 应用于所有选定的签名规则。
  • 重置选定项。将操作作为 “重置” 应用于所有选定的签名规则。
  • 已选择日志。将操作作为 “日志” 应用于所有选定的签名规则。
  • 删除删除选定项。将删除操作取消设置为所有选定的签名规则。
  • 删除已选定重定向。取消将重定向操作设置为所有选定的签名规则。
  • 删除重置选定项。将重置操作取消设置为所有选定的签名规则。
  • 删除已选日志。将日志操作取消设置为所有选定的签名规则。

Category(类别)。选择一个类别以相应地过滤签名规则。以下是可用于对签名规则进行排序的类别列表。

  • 操作。根据机器人操作进行排序。
  • Category(类别)。根据机器人类别进行排序。
  • 开发者。根据主机公司出版商进行排序。
  • 已启用。根据已启用的签名规则进行排序。
  • Id。根据签名规则 ID 进行排序。
  • 日志。根据启用了日志记录的签名规则进行排序。
  • 名称。根据签名规则名称进行排序。
  • 类型。根据签名类型进行排序。
  • 版本。根据签名规则版本进行排序。

使用 Citrix ADC GUI 根据操作和类别类型搜索机器人静态签名规则

  1. 导航到安全 > Citrix Bot Management > 签名
  2. 在详细信息页面中,单击 添加
  3. Citrix Bot Management 签名页面中,单击静态签名部分中的“编辑”。
  4. 配置静态签名 部分,从下拉列表中选择签名操作。
  5. 使用搜索功能选择一个类别并相应地筛选规则。
  6. 单击更新

根据操作和类别类型搜索机器人静态签名规则

使用 Citrix ADC GUI 编辑机器人静态签名规则属性

  1. 导航到安全 > Citrix Bot Management > 签名
  2. 在详细信息页面中,单击 添加
  3. Citrix Bot Management 签名页面中,单击静态签名部分中的“编辑”。
  4. 配置静态签名 部分,从下拉列表中选择一个操作。
  5. 使用搜索功能选择类别并相应地筛选规则。
  6. 从静态签名列表中,选择一个签名以修改其属性。

    编辑机器人静态签名规则属性

  7. 单击确定进行确认。

验证码在 Citrix ADC 机器人管理中的工作原理

在 Citrix ADC 机器人管理中,CAPTCHA 验证配置为在评估机器人策略后运行的策略操作。CAPTCHA 操作仅适用于 IP 信誉和设备指纹检测技术。以下是了解 CAPTCHA 如何工作的步骤:

  1. 如果在 IP 信誉或设备指纹机器人检测期间观察到安全违规,ADC 设备将发送验证码质询。
  2. 客户端发送 CAPTCHA 响应。
  3. 设备会验证 CAPTCHA 响应,如果验证码有效,则允许该请求并将其转发到后端服务器。
  4. 如果 CATCHA 响应无效,设备将发送新的 CAPTCHA 质询,直到达到最大尝试次数。
  5. 如果即使在最大尝试次数之后,验证码响应仍然无效,则设备会丢弃或将请求重定向到配置的错误 URL。
  6. 如果您已配置日志操作,则设备会将请求详细信息存储在 ns.log 文件中。

使用 Citrix ADC GUI 配置验证码设置

机器人管理 CAPTCHA 操作仅支持 IP 信誉和设备指纹检测技术。完成以下步骤以配置 CAPTCHA 设置。

  1. 导航到 安全 > Citrix 机器人管理和配置文件
  2. Citrix Bot Management 配置文件页面上,选择一个配置文件,然后单击编辑
  3. Citrix Bot Management 配置文件页面上,转到签名设置部分,然后单击 CAPTCHA
  4. CAPTCHA 设置 部分中,单击 添加以将 CAPTCHA 设置配置 到配置文件:
  5. 配置 Citrix Bot Management CAPTCHA 页面中,设置以下参数。
    1. URL。在 IP 信誉和设备指纹检测技术期间应用 CAPTCHA 操作的机器人 URL。

    2. 已启用。设置此选项可启用 CAPTCHA 支持。
    3. 宽限时间。直到收到当前有效的验证码响应后没有发送新的 CAPTCHA 质询为止。
    4. 等待时间。ADC 设备等到客户端发送 CAPTCHA 响应所花费的时间。
    5. 静音期间。发送错误 CAPTCHA 响应的客户端必须等到允许下一次尝试之前的持续时间。在此静音期间,ADC 设备不允许任何请求。射程:60—900 秒,建议:300 秒
    6. 请求长度限制。向客户端发送 CAPTCHA 质询的请求的长度。如果长度大于阈值,则会丢弃请求。默认值为 10—3000 字节。
    7. 重试尝试次数。允许客户端重试解决 CAPTCHA 挑战的次数。射程:1—10,推荐:5。
    8. 如果客户端未通过 CAPTCHA 验证,则不会采取任何操作/丢弃/重定向操作。
    9. 日志。设置此选项可在响应 CAPTCHA 失败时存储来自客户端的请求信息。数据存储在 ns.log 文件中。
    10. 评论。关于 CAPTCHA 配置的简要说明。
  6. 点击 确定完成

    机器人验证码 GUI 配置

  7. 导航到安全 > Citrix Bot Management > 签名
  8. Citrix Bot Management 签名页面上,选择一个特征文件,然后单击编辑
  9. Citrix Bot Management 签名页面上,转到签名设置部分,然后单击机器人签名
  10. 机器人签名 部分中,设置以下参数:

  11. 配置 静态签名。选择一个机器人静态签名记录,然后单击编辑为其分配机器人操作。
  12. 单击确定
  13. 单击 更新签名
  14. 单击完成

机器人静态签名

自动更新机器人签名

机器人静态签名技术使用签名查找表,其中包含好的机器人和坏机器人的列表。机器人根据用户代理字符串和域名进行分类。如果传入机器人流量中的用户代理字符串和域名与查找表中的值匹配,则会应用配置的机器人操作。 机器人签名更新托管在 AWS 云上,签名查找表与 AWS 数据库通信以进行签名更新。自动签名更新计划程序每 1 小时运行一次,以检查 AWS 数据库 并更新 Citrix ADC 设备中的签名表。

要配置的签名自动更新 URL 是, https://nsbotsignatures.s3.amazonaws.com/BotSignatureMapping.json

注意:

您还可以配置代理服务器,并通过代理定期将签名从 AWS 云更新到设备。对于代理配置,您必须在机器人设置中设置代理 IP 地址和端口地址。

机器人签名自动更新如何工作

下图显示了如何从 AWS 云中检索机器人签名、如何在 Citrix ADC 上进行更新以及如何在 Citrix ADM 上查看以获取签名更新摘要。

机器人签名自动更新

机器人签名自动更新调度程序执行以下操作:

  1. 从 AWS URI 检索映射文件。
  2. 使用 ADC 设备中的现有签名检查映射文件中的最新签名。
  3. 从 AWS 下载新签名并验证签名的完整性。
  4. 使用机器人签名文件中的新签名更新现有的机器人签名。
  5. 生成 SNMP 警报并将特征码更新摘要发送到 Citrix ADM。

配置机器人签名自动更新

要配置机器人签名自动更新,请完成以下步骤:

启用机器人签名自动更新

您必须在 ADC 设备的机器人设置中启用自动更新选项。 在命令提示符下,键入:

set bot settings –signatureAutoUpdate ON

配置代理服务器设置(可选)

如果要通过代理服务器访问 AWS 签名数据库,则必须配置代理服务器和端口。 set bot settings –proxyserver –proxyport

示例:

set bot settings –proxy server 1.1.1.1 –proxyport 1356

使用 Citrix ADC GUI 配置机器人签名自动更新

要配置机器人签名自动更新,请完成以下步骤:

  1. 导航到安全 > Citrix 机器人管理
  2. 在详细信息窗格的设置下,单击更改 Citrix Bot Management 设置
  3. 配置 Citrix Bot Management 设置中,选中自动更新签名复选框。

    机器人自动更新签名设置

  4. 单击确定,然后关闭

创建机器人管理档案

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

完成以下步骤来配置机器人配置文件:

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

    1. 名称。Bot 配置文件名称。
    2. 签名。机器人签名文件的名称。
    3. 错误的 URL。用于重定向的 URL。
    4. 评论。关于配置文件的简要说明。
  4. 单击创建关闭

配置 bot 管理配置文件

创建机器人策略

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

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

配置 bot 管理配置文件

每秒机器人交易量 (TPS)

如果每秒请求数 (RPS) 和 RPS 的增加百分比超过配置的阈值,则每秒事务数 (TPS) 机器人技术将传入流量检测为自动程序。 该检测技术可保护您的 Web 应用程序免受可能导致 Web 抓取活动、暴力强制登录和其他恶意攻击的自动漫程序的侵害。

注意:

只有在配置了两个参数并且两个值都超过阈值限制时,机器人技术才会将传入流量检测为机器人。 让我们考虑一种情况,在这种情况下,设备会收到来自特定 URL 的许多请求,并且您希望 Citrix ADC 机器人管理部门检测是否存在机器人攻击。TPS 检测技术会检查 1 秒内来自 URL 的请求数(配置值)以及 30 分钟内收到的请求数的增加百分比(配置值)。如果这些值超过阈值限制,则流量将被视为机器人,设备将运行配置的操作。

配置机器人每秒事务数 (TPS) 技术

要配置 TPS,必须完成以下步骤:

  1. 启用机器人 TPS
  2. 将 TPS 设置绑定到 Bot 管理配置文件

将 TPS 设置绑定到 Bot 管理配置文件

启用机器人 TPS 功能后,必须将 TPS 设置绑定到机器人管理配置文件。

在命令提示符下,键入:

bind bot profile <name>… (-tps [-type ( SourceIP | GeoLocation | RequestURL | Host )] [-threshold <positive_integer>] [-percentage <positive_integer>] [-action ( none | log | drop | redirect | reset | mitigation )] [-logMessage <string>])

示例:

bind bot profile profile1 -tps -type RequestURL -threshold 1 -percentage 100000 -action drop -logMessage log

启用每秒机器人交易 (TPS)

在开始之前,必须确保在设备上启用了 Bot TPS 功能。在命令提示符下,键入:

set bot profile profile1 –enableTPS ON

使用 Citrix ADC GUI 配置每秒机器人事务 (TPS)

完成以下步骤以配置每秒机器人事务数:

  1. 导航到安全 > Citrix 机器人管理 > 配置文件
  2. Citrix Bot Management 配置文件页面中,选择一个配置文件,然后单击编辑
  3. 创建 Citrix Bot Management 配置文件页面中,单击签名设置部分下的 TPS
  4. TPS 部分中,启用该功能,然后单击 添加

    每秒部分的机器人管理事务

  5. 配置 Citrix Bot Management 配置文件 TPS 绑定页面中,设置以下参数。

    1. 类型。检测技术允许的输入类型。可能的值:来源 IP、 地理位置、主机、URL。

      SOURCE_IP — 基于客户端 IP 地址的 TPS。

      地理位置 — 基于客户的地理位置的 TPS。

      主机-基于转发到特定后端服务器 IP 地址的客户端请求的 TPS。

      URL — 基于来自特定 URL 的客户端请求的 TPS。

    2. 固定阈值。在 1 秒时间间隔内,TPS 输入类型允许的最大请求数。

    3. 百分比阈值。在 30 分钟时间间隔内,来自 TPS 输入类型的请求增加的最大百分比。

    4. 操作。对通过 TPS 绑定检测到的机器人应采取的操作。

    5. 日志。启用或禁用 TPS 绑定的日志记录。

    6. 日志消息。TPS 绑定检测到的要记录的机器人的消息。最大长度:255。

    7. 评论。有关 TPS 配置的简要说明。最大长度:255

  6. 单击 确定 ,然后单击 关闭

每秒部分的机器人管理事务

基于鼠标和键盘动态学的机器人检测

为了检测机器人并缓解 Web 抓取异常情况,Citrix ADC 机器人管理使用了基于鼠标和键盘行为的增强型机器人检测技术。与需要直接人工互动的传统机器人技术(例如,CAPTCHA 验证)不同,增强的技术被动监视鼠标和键盘动态。然后,Citrix ADC 设备收集实时用户数据并分析人与机器人之间的行为。

与现有机器人检测机制相比,使用鼠标和键盘动态进行被动机器人检测具有以下优点

  • 在整个用户会话期间提供持续监视,并消除单个检查点。
  • 不需要人工互动,对用户来说是完全透明的。

使用鼠标和键盘动态学检测机器人的工作

使用键盘和鼠标动态学的机器人检测技术由两个组件组成:网页记录器和机器人探测器。网页记录器是一种 JavaScript,用于记录用户在网页上执行任务(例如,填写注册表格)时的键盘和鼠标移动情况。然后,记录器将数据批量发送到 Citrix ADC 设备。然后,设备将数据存储为 KM 记录,并将其发送到 Citrix ADM 服务器上的机器人检测器,该服务器分析用户是人还是机器人。

以下步骤解释了组件之间的交互方式:

  1. Citrix ADC 管理员通过 ADM 样书、CLI 或 NITRO 或任何其他方法配置策略表达式。
  2. 当管理员在设备上启用该功能时,URL 将在机器人配置文件中设置。
  3. 当客户端发送请求时,Citrix ADC 设备将跟踪会话和会话中的所有请求。
  4. 如果请求与机器人配置文件中配置的表达式匹配,则设备会在响应中插入 JavaScript(网页记录器)。
  5. 然后,JavaScript 收集所有键盘、鼠标活动,并以 POST URL(瞬态)发送 KM 数据。
  6. Citrix ADC 设备存储数据并在会话结束时将其发送到 Citrix ADM 服务器。设备收到 POST 请求的完整数据后,数据就会发送到 ADM 服务器。
  7. Citrix ADM 服务会分析数据,并根据分析结果在 Citrix ADM 服务 GUI 上提供。

JavaScript 记录器记录以下鼠标和键盘移动:

  • 键盘事件 — 所有活动
  • 鼠标事件-鼠标移动、向上鼠标、鼠标向下
  • 剪贴板事件-粘贴
  • 自定义事件-自动填充、自动填充取消
  • 每个事件的时间戳

使用鼠标和键盘动态设置机器人检测

Citrix ADC 机器人管理配置包括启用或禁用基于键盘和鼠标的检测功能,以及在机器人配置文件中配置 JavaScript URL。 完成以下步骤以使用鼠标和键盘动态配置机器人检测:

  1. 启用基于键盘和鼠标的检测
  2. 配置表达式以决定何时可以在 HTTP 响应中插入 JavaScript。

启用基于键盘鼠标的机器人检测

在开始配置之前,请确保已在设备上启用了基于键盘和鼠标的机器人检测功能。

在命令提示符下,键入:

add bot profile <name> -KMDetection ( ON | OFF )
<!--NeedCopy-->

示例:

add bot profile profile1 –KMDetection ON

为 JavaScript 插入配置机器人表达式

配置机器人表达式以评估流量并插入 JavaScript。只有在表达式被评估为 true 时,才会插入 JavaScript。

在命令提示符下,键入:

bind bot profile <name> -KMDetectionExpr -name <string> -expression <expression> -enabled ( ON | OFF ) –comment <string>
<!--NeedCopy-->

示例:

bind bot profile profile1 -KMDetectionExpr -name test -expression http.req.url.startswith("/testsite") -enabled ON

为基于键盘鼠标的机器人检测配置 HTTP 响应中插入的 JavaScript 文件名

为了收集用户操作详细信息,设备会在 HTTP 响应中发送 JavaScript 文件名。JavaScript 文件收集 KM 记录中的所有数据并将其发送到设备。

在命令提示符下,键入:

set bot profile profile1 – KMJavaScriptName <string>
<!--NeedCopy-->

示例:

set bot profile profile1 –KMJavaScriptName script1

配置行为生物识别尺寸

您可以配置鼠标和键盘行为数据的最大大小,这些数据可以作为 KM 记录发送到设备并由 ADM 服务器处理。

在命令提示符下,键入:

set bot profile profile1 -KMEventsPostBodyLimit <positive_integer>
<!--NeedCopy-->

示例:

set bot profile profile1 – KMEventsPostBodyLimit 25

将 Citrix ADC 设备配置为配置 JavaScript 并收集键盘和鼠标行为生物识别技术后,设备将数据发送到 Citrix ADM 服务器。有关 Citrix ADM 服务器如何通过行为生物识别检测机器人的详细信息,请参阅机 器人违规 主题。

使用 GUI 配置键盘和鼠标机器人表达式设置

  1. 导航到 安全 > Citrix 机器人管理和配置文件
  2. Citrix Bot Management 配置文件页面上,选择一个配置文件,然后单击编辑
  3. 基于键盘和鼠标的机器人检测 部分中,设置以下参数:
    1. 启用检测。选中该复选框以检测基于机器人的键盘和鼠标动态行为。
    2. 事件发布身体限制。浏览器发送的要由 Citrix ADC 设备处理的键盘和鼠标动态数据的大小。
  4. 单击确定

    配置键盘和鼠标机器人表达式设

  5. Citrix Bot Management 配置文件页面上,转到配置文件设置部分,然后单击基于键盘和鼠标的 Bot 表达式设置
  6. 基于键盘和鼠标的机器人表达式设置 部分中,单击 添加
  7. 配置 Citrix Bot Management 配置文件机器人键盘和鼠标表达式绑定页面中,设置以下参数:
    1. 表达式名称。用于检测键盘和鼠标动态的机器人策略表达式的名称。
    2. 表达式。机器人策略表达式。
    3. 已启用。选中该复选框以启用键盘、机器人键盘和鼠标表达式绑定。
    4. 评论。关于机器人策略表达式及其与机器人配置文件的绑定的简要描述。
    5. 单击确定,然后关闭
  8. 基于键盘和鼠标的机器人表达式设置 部分中,单击 更新

    基于键盘和鼠标的机器人表达式设置

Citrix 机器人管理删除的请求标头

许多与缓存相关的请求标头都会被删除,以查看会话上下文中的每个请求。同样,如果请求包含编码标头以允许 Web 服务器发送压缩响应,则机器人管理会删除此标头,以便机器人管理层检查未压缩服务器响应中的内容以插入 JavaScripts。

机器人管理会删除以下请求标头:

Range。用于从失败或部分文件传输中恢复。

If-Range。允许客户端在其缓存中包含部分对象时检索该对象的一部分(条件GET)。

If-Modified-Since。如果在此字段中指定的时间之后请求的对象未被修改,则不会从服务器返回实体。你会得到一个HTTP 304未修改的错误。

If-None-Match。允许以最小的开销高效更新缓存的信息。

Accept-Encoding。特定对象(例如 gzip)允许使用哪些编码方法。