Citrix ADC

机器人检测

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

注意:

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

机器人白名单。可作为允许列表绕过的IP地址(IPv4和IPv6),子网(IPv4和IPv6)和策略表达式的自定义列表。

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

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

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

限制:

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

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

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

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

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

验证码。此规则使用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. 使用以下命令运行配置。

    在命令提示符下,键入:

    批量处理-f /var/bot_upgrade_commands.txt

  3. 保存升级后的配置。

保存ns config

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

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

注意:

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

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

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

启用机器人管理

在开始之前,请确保在设备上启用了机器人管理功能。如果您有新的Citrix ADC或VPX,则必须在配置该功能之前启用该功能。如果要将Citrix ADC设备从早期版本升级到当前版本,则必须先启用该功能,然后再对其进行配置。在命令提示符下,键入:

启用ns功能Bot

导入机器人签名

您可以导入默认的签名机器人文件并将其绑定到机器人配置文件。在命令提示符下,键入:

导入bot签名[] [-comment ] [-overwrite]

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

示例

导入机器人签名http://www.example.com/signature.json signaturefile -comment commentsforbot -overwrite

注意:

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

添加机器人资料

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

在命令提示符下,键入:

添加机器人简介<名称>[签名<字符串>][-errorURL <字符串>][-trapURL <字符串>][评论<字符串>][白名单(|)][黑名单(|)][-rateLimit (|)] [-deviceFingerprint (|)] [-deviceFingerprintAction(没有日志| | | | |重定向重置下降缓解)][-ipReputation(|)][陷阱(|)][-trapAction(没有日志| | | |重定向下降重置)][tps (|))

示例:

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

绑定机器人资料

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

在命令提示符下,键入:

结合机器人简介<名称>((黑名单类型(IPv4 | |子网IPv6 | IPv6_SUBNET |表达式)][启用(|)][价值<字符串>][动作片(日志| |重置下降)][-logMessage <字符串>][评论<字符串>])|(白名单(IPv4 | |子网IPv6 | IPv6_SUBNET |表达式)][启用(|)][价值<字符串>][日志(|)][-logMessage <字符串>][评论<字符串>]))| (-rateLimit[类型(会话| SOURCE_IP | url)][启用(|)][url <字符串>][-cookieName] [-rate ] [-timeslice ] [-action (none | log | drop | redirect | reset)] [-logMessage ] [-comment ]) | (-ipReputation [-category ] [-enabled (ON | OFF)] [-action (none | log | drop | redirect | reset | mitigation)] [-logMessage ] [-comment ]) | (-captchaResource [-url ] [-enabled (ON | OFF)] [-waitTime ] [-gracePeriod ] [-mutePeriod] [-requestLengthLimit ] [-retryAttempts ] [-action (none | log | drop | redirect | reset)] [-logMessage ] [-comment ]) | (-tps [-type (SOURCE_IP | GeoLocation | REQUEST_URL | Host)] [-threshold ] [-percentage ] [-action (none | log | drop | redirect | reset | mitigation)] [-logMessage ] [-comment ])

示例:

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

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

添加机器人策略

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

在命令提示符下,键入:

add bot policy -rule -profileName [-undefAction ] [-comment ] [-logAction ]

其中,

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

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

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

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

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

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

示例:

添加bot策略pol1 -rule "HTTP.REQ.HEADER(\"header\").CONTAINS(\"custom\")"- profileName profile1 - undefaction drop - comment commentforbotpolicy - logaction log1 .使用实例

全局绑定机器人策略

在命令提示符下,键入:

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

示例:

bind bot global -policyName pol1 -priority 100 -gotoPriorityExpression NEXT -type REQ_OVERRIDE

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

在命令提示符下,键入:

bind lb vserver @ ((@ [-weight ]) | @ | (-policyName @ [-priority ] [-gotoPriorityExpression ] [-type (REQUEST | RESPONSE)] [-invoke ( )]) | -analyticsProfile @)

示例:

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

配置机器人设置

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

设置bot设置[-defaultProfile ] [-javaScriptName ] [-sessionTimeout ] [-sessionCookieName ] [-dfpRequestLimit ] [-signatureAutoUpdate (ON | OFF)] [-signatureUrl ] [-proxyServer ] [-proxyPort ] 

其中,

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

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

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

最小值:1,最大值:65535

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

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

最小值:1,最大值:4294967295

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

可能的值:开,关

默认值:关闭

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

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

最大长度:2047

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

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

示例:

设置bot设置-defaultProfile profile1 -javaScriptName json.js -sessionTimeout 1000 -sessionCookieName会话

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

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

机器人管理页

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

启用机器人管理功能

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

  1. 在导航窗格上,展开系统,然后单击设置
  2. 配置高级功能页面上,选中机器人管理复选框。
  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管理签名
  2. Citrix Bot Management签名页面中,选择默认的机器人签名记录,然后单击克隆
  3. 克隆机器人签名页面中,输入名称并编辑签名数据。
  4. 单击创建

    克隆机器人签名文件

导入机器人签名文件

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

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

    导入机器人签名文件

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

    导入机器人签名文件

使用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. 值。网址地址。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。日志的简要说明。
      6. 评论。关于允许列表url的简要说明。
      7. 单击确定

    配置机器人允许列表

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

    配置机器人允许列表

使用Citrix ADC GUI配置机器人阻止列表

使用此检测技术,您可以删除配置为阻止列出的网址。完成以下步骤以配置阻止列表url。

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

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

      1. 类型。URL类型可以是 IPv4 地址、子网 IP 地址或 IP 地址。
      2. 已启用。选中该复选框以验证url。
      3. 值。网址地址。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。登录的简要说明。
      6. 评论。关于阻止列表url的简要说明。
      7. 单击确定

    配置机器人阻止列表

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

    配置机器人阻止列表

使用Citrix ADC GUI配置IP信誉

IP信誉机器人技术使用Webroot的IP信誉数据库和云服务提供商数据库来验证客户端请求是恶意IP地址还是公有云IP地址。作为机器人类别的一部分,然后将一个机器人操作与其关联。完成以下步骤以配置Webroot IP信誉和云服务提供商数据库类别。

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

      1. 分类(类别)。选择Webroot IP信誉机器人类别,将客户端请求验证为恶意IP地址。

        1. IP_BASED-此类别检查客户端IP地址(IPv4和IPv6)是否为恶意地址。
        2. 僵尸网络-此类别包括僵尸网络C&C频道,以及由Bot master控制的受感染的僵尸机器。
        3. Spam_sours -此类别包括通过代理发送垃圾邮件,异常SMTP活动和论坛垃圾邮件活动。
        4. 扫描仪-此类别包括所有侦测,例如探测器,主机扫描,域扫描和密码暴力破解攻击。
        5. Dos -此类别包括Dos, ddos,异常同步泛洪和异常流量检测。
        6. 信誉-此类别拒绝来自当前已知感染了恶意软件的IP地址(IPv4和IPv6)的访问。此类别还包括Webroot信誉指数平均得分较低的IP地址。启用此类别将阻止从已识别为联系恶意软件分发点的来源访问。
        7. 网络钓的鱼——此类别包括托管钓鱼网站和其他类型的欺诈活动的IP地址(IPv4和IPv6),例如广告点击欺诈或游戏欺诈。
        8. 代理-此类别包括提供代理服务的IP地址(IPv4和IPv6)。
        9. 网络-提供代理和匿名服务的ip,包括洋葱路由器又名或或暗网。
        10. MOBILE_THREATS——此类别使用对移动设备有害的地址列表检查客户端IP地址(IPv4和IPv6)。
      2. 分类(类别)。选择Webroot公有云服务提供商类别以验证客户端请求是公有云IP地址。

        1. Aws -此类别使用来自Aws的公有云地址列表来检查客户端IP地址地址。
        2. GCP-此类别使用来自谷歌Cloud平台的公有云地址列表来检查客户端IP地址。
        3. AZURE-此类别使用AZURE中的公有云地址列表检查客户端地址。
        4. ORACLE-此类别将客户端IP地址与来自ORACLE的公有云地址列表一起检查
        5. Ibm -此类别将客户端IP地址与Ibm的公有云地址列表一起检查。
        6. SALESFORCE-此类别使用SALESFORCE的公有云地址列表来检查客户端IP地址。

        Webroot IP信誉机器人类别的可能值:IP,僵尸网络,垃圾邮件来源,扫描程序,DOS,信誉,网络钓的鱼,代理,网络,移动威胁。

        Webroot公有云服务提供商类别的可能值:AWS, GCP, AZURE, ORACLE、IBM、SALESFORCE。

      3. 已启用。选中该复选框以验证IP地址信誉签名检测。
      4. 机器人动作。根据配置的类别,您不能分配任何操作、删除、重定向或缓解措施。
      5. 日志。选中该复选框以存储日志条目。
      6. 日志消息。日志的简要说明。
      7. 评论。关于机器人类别的简要说明。
  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. 分类(类别)。从列表中选择恶意机器人类别。根据类别关联操作。
      2. 已启用。选中该复选框以验证传入的机器人流量。
      3. 机器人动作。为所选类别选择机器人操作。
      4. 日志。选中该复选框以存储日志条目。
      5. 日志消息。日志的简要说明。
      6. 评论。关于机器人类别的简要说明。
      7. 单击确定

    配置速率限制

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

    配置速率限制

配置基于地理位置的机器人速率限制技术

机器人速率限制技术使您能够根据用户的地理位置,客户端IP地址,会话,饼干或配置的资源(URL)在特定时间范围内限制机器人流量。通过配置机器人速率限制技术,您可以确保满足以下条件:

  • 阻止恶意机器人活动。
  • 减轻Web服务器的流量压力。

在命令提示符下,键入:

绑定机器人配置文件…-ratelimit -type  Geolocation -countryCode  -rate  -timeSlice  [-action …[-enabled (ON | OFF)] 

其中,

* SOURCE_IP-基于客户端IP地址地址的速率限制。

*会议-基于配置的cookie名称进行速率限制。

* URL-基于配置的url的速率限制。

*地理位置-基于配置的国家/地区名称的速率限制。

可能的值:会话,source_ip, url,地理位置

示例:

绑定机器人配置文件geo_prof -ratelimit -type Geolocation -countryCode IN -rate 100 -timeSlice 1000 -action log,drop -enabled on 

完成以下步骤以配置机器人速率限制检测技术:

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

    1. 已启用。选中该复选框可在检测过程中验证传入的机器人流量。B.单击”添加以配置速率限制绑定。
  5. 配置Citrix机器人管理速率限制页面中,设置以下参数。

    1. 类型。根据以下参数对机器人流量进行速率限制:

      1. 地理位置。速率限制基于用户的地理位置。
      2. source_IP。基于客户端IP地址地址的速率限制流量。
      3. 会话。基于会话或cookie名称的速率限制机器人流量。
      4. URL。根据配置的url对机器人流量进行速率限制。
    2. 国家。选择一个地理位置作为国家或地区。
    3. 已启用。选中该复选框以验证传入的机器人流量。
    4. 请求阈值。特定时间段内允许的最大请求数。
    5. 期间。时间范围(以毫秒为单位)。
    6. 操作。为所选类别选择机器人操作。
    7. 日志。选中该复选框以存储日志条目。
    8. 日志消息。日志的简要说明。
    9. 评论。关于机器人类别的简要说明。
  6. 单击确定
  7. 单击更新
  8. 单击完成

基于地理位置的机器人速率限制技术

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

移动应用程序的设备指纹技术的工作原理

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

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

先决条件

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

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

在命令提示符下,键入:

set bot profile -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机器人管理将允许您以日志消息的形式捕获其他信息。数据可以是请求url的用户的姓名,源IP地址以及用户发送请求的源端口或表达式生成的数据。要执行自定义日志记录,必须在机器人管理配置文件中配置日志表达式。

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

在命令提示符下,键入:

绑定bot profile  (-logExpression name  -expression  [-enabled (ON | OFF)]) -comment  

示例:

绑定bot profile profile1 -logExpression exp1 -expression HTTP.REQ.URL -enabled ON -comment“测试日志表达式”

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

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

机器人日志表达式

配置机器人陷阱技术

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

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

注意:

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

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

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

启用机器人陷阱url保护

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

启用ns功能Bot

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

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

add bot profile -trapURL -trap (ON | OFF) -trapAction . add bot profile -trapURL -trap (ON | OFF

其中,

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

陷阱。启用机器人陷阱检测。可能的值:打开,关闭,默认值:关闭

trapAction。基于机器人检测要采取的行动。可能的值:无,日志,删除,重定向,重置,缓解。默认值:无

示例:

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

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

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

bind bot profile trapInsertionURL -url -enabled ON|OFF -comment .

其中,

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

示例:

bind bot profile profile1 trapInsertionURL -url www.example.com -enabled ON -comment随机插入一个trap URL

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

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

-trapURLAutoGenerate (ON | OFF) -trapURLInterval -trapURLLength . set bot settings -trapURLAutoGenerate (ON | OFF

其中,

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。

    机器人管理档案中的机器人陷阱技术

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

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

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

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

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

    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机器人管理现在可以配置高级策略表达式,以便从HTTP请求标头,HTTP请求正文,HTTP请求URL或使用高级策略表达式中提取客户端IP地址。机器人检测机制(例如tps,机器人陷阱或速率限制)可以使用提取的值来检测传入的请求是否为机器人。

注意:

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

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

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

在命令提示符下,键入:

add bot profile  [-clientIPExpression ] 

示例:

添加bot profile profile1 -clientIPExpression 'HTTP.REQ.HEADER("X-Forwarded-For") '

添加bot profile profile1 -clientIPExpression 'HTTP.REQ.HEADER("X-Forwarded-For") '

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

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

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

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

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

配置机器人静态签名

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

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

机器人静态签名

机器人静态签名描述

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

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

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

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

  • 操作。根据机器人操作进行排序。
  • 分类(类别)。根据机器人类别进行排序。
  • 开发者。根据主机公司出版商进行排序。
  • 已启用。根据已启用的签名规则进行排序。
  • 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机器人管理中,验证码验证配置为在评估机器人策略后运行的策略操作。验证码操作仅适用于IP信誉和设备指纹检测技术。以下是了解captcha如何工作的步骤:

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

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

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

  1. 导航到安全> Citrix机器人管理和配置文件
  2. Citrix Bot Management配置文件页面上,选择一个配置文件,然后单击编辑
  3. Citrix Bot Management配置文件页面上,转到签名设置部分,然后单击验证码
  4. 验证码设置部分中,单击添加以将captcha设置配置到配置文件:
  5. 配置Citrix Bot Management验证码页面中,设置以下参数。
    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设备的机器人设置中启用自动更新选项。在命令提示符下,键入:

设置bot设置-signatureAutoUpdate ON

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

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

示例:

设置bot设置-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. 名称。机器人配置文件名称。
    2. 签名。机器人签名文件的名称。
    3. 错误的url。用于重定向的url。
    4. 评论。关于配置文件的简要说明。
  4. 单击创建关闭

配置bot管理配置文件

创建机器人策略

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

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

配置bot管理配置文件

每秒机器人交易量(tps)

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

注意:

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

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

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

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

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

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

在命令提示符下,键入:

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

示例:

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

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

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

设置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. 单击确定,然后单击关闭

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

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

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

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

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

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

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

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

  1. Citrix ADC管理员通过ADM样书,CLI或硝基或任何其他方法配置策略表达式。
  2. 当管理员在设备上启用该功能时,url将在机器人配置文件中设置。
  3. 当客户端发送请求时,Citrix ADC设备将跟踪会话和会话中的所有请求。
  4. 如果请求与机器人配置文件中配置的表达式匹配,则设备会在响应中插入JavaScript(网页记录器)。
  5. 然后,JavaScript收集所有键盘,鼠标活动,并以文章的URL(瞬态)发送千米数据。
  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  -KMDetection (ON | OFF) 

示例:

添加bot配置文件profile1 -KMDetection ON

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

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

在命令提示符下,键入:

绑定bot profile  -KMDetectionExpr name  -expression  -enabled (ON | OFF) -comment  

示例:

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  

示例:

设置bot profile profile1 -KMJavaScriptName script1

配置行为生物识别尺寸

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

在命令提示符下,键入:

设置bot profile profile1 -KMEventsPostBodyLimit  

示例:

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

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

机器人流量的详细日志记录

当传入请求被标识为机器人时,Citrix ADC设备会记录更多的HTTP标头详细信息以进行监控和故障排除。机器人详细日志记录功能类似于Web应用防火墙模块中的详细日志记录功能。

考虑来自客户端的传入流量。如果客户端被标识为机器人,Citrix ADC设备将使用详细日志记录功能来记录完整的HTTP标头信息,例如域地址,URL,用户代理标头,饼干标头)。然后将日志详细信息发送到adm服务器,用于监视目的并对其进行故障排除。详细日志消息未存储在" ns.log "文件中。

使用cli配置机器人详细日志记录

要将详细的HTTP标头信息捕获为日志,您可以在机器人配置文件中配置详细日志记录参数。在命令提示符下,键入:

set bot profile  [-verboseLogLevel (NONE | HTTP_FULL_HEADER)] 

示例:

设置bot profile p1 -verboseLogLevel HTTP_FULL_HEADER

使用Citrix ADC GUI配置机器人详细日志记录

按照以下步骤在机器人配置文件中配置详细日志级别。

  1. 在导航窗格上,导航到安全> Citrix Bot管理
  2. Citrix Bot Management配置文件页面中,单击添加
  3. 创建Citrix Bot Management配置文件页面中,选择详细日志级别作为HTTP完整标头
  4. 点击确定完成

    机器人流量的详细日志记录

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

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

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

的范围内。用于从失败或部分文件传输中恢复。

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

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

具有。允许以最小的开销高效更新缓存的信息。

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