Citrix ADC

机器人检测

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

注意:

Bot管理最多支持32个配置实体,用于块列表、允许列表和速率限制技术。

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

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

IP的声誉.该规则检测传入的bot流量是否来自恶意IP地址。

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

限制:

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

Bot日志表达式.检测技术使您能够以日志消息的形式捕获附加信息。数据可以是请求URL的用户的名称、源IP地址、用户发送请求的源端口或表达式生成的数据。

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

机器人的陷阱.通过在客户端响应中通告陷阱URL来检测和阻止自动机器人。如果客户端是人类用户,则URL看起来不可见且不可访问。这种检测技术可以有效地阻止自动机器人的攻击。

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

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

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

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

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

  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 bot管理

bot管理配置允许您将一个或多个bot检测技术绑定到特定的bot配置文件。首先在设备上启用机器人管理特性。启用后,将机器人签名文件导入设备。导入后,必须创建一个bot配置文件。然后创建一个bot策略,将bot配置文件绑定到该策略,以评估传入的bot流量,并将策略全局绑定或绑定到虚拟服务器。

注意:

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

配置Citrix基于adc的bot管理,需要完成以下步骤:

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

启用bot管理

在开始之前,请确保在设备上启用了Bot Management特性。如果您有新的Citrix ADC或VPX,则必须在配置之前启用该特性。如果要将Citrix ADC设备从较早版本升级到当前版本,则必须在配置之前启用该特性。在命令提示符下,输入:

启用ns功能Bot

导入机器人签名

您可以导入默认签名bot文件,并将其绑定到bot配置文件中。在命令提示符下,输入:

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

在src。导入签名文件所在文件的本地路径、文件名或URL(协议、主机、路径、文件名)。说明:如果导入对象在HTTPS服务器上,需要客户端证书认证才能访问,则导入失败。最大长度:2047名称。要分配给Citrix ADC上的机器人签名文件对象的名称。这是一个强制参数。最大长度:31个注释。用于保存关于签名文件对象的信息的任何注释。最大长度:255。覆盖。 Overwrites the existing file. Note: Use the覆盖选项更新签名文件中的内容。或者,使用更新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消息

添加bot策略

必须添加bot策略,用于评估bot流量。

在命令提示符下,输入:

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

在那里,

的名字。bot策略的名称。只能包含字母、数字、“-”、“。”、“#”、“@”、“=”、“:”和“_”字符。可以在添加bot策略后更改。

规则。策略用于确定是否对指定的请求应用机器人概要的表达式。这是一个强制参数。最大长度:1499

profileName。如果请求匹配此bot策略,则应用的bot配置文件的名称。这是一个强制参数。最大长度:127

undefAction。策略评估结果未定义时执行的操作(UNDEF)。UNDEF事件表示内部错误条件。最大长度:127

发表评论。任何关于机器人政策的信息。最大长度:255

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

例子:

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

全局绑定bot策略

在命令提示符下,输入:

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

将bot策略绑定到虚拟服务器

在命令提示符下,输入:

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设置

您可以根据需要自定义默认设置。在命令提示符下,输入:

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

在那里,

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

javaScriptName。僵尸网络特性响应时使用的JavaScript名称。必须以字母或数字开头,由字母、数字、“-”、“_”组成,长度范围为1 ~ 31个字符。以下要求仅适用于Citrix ADC CLI:如果名称包含一个或多个空格,则用双引号或单引号将名称括起来(例如,“my cookie name”或“my cookie name”)。最大长度:31

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

最小值为1,最大值为65535

sessionCookieName。僵尸网络特性用来跟踪的SessionCookie的名称。必须以字母或数字开头,由字母、数字、“-”、“_”组成,长度范围为1 ~ 31个字符。以下要求仅适用于Citrix ADC CLI:如果名称包含一个或多个空格,则用双引号或单引号将名称括起来(例如,“my cookie name”或“my cookie name”)。最大长度:31

dfpRequestLimit。如果启用了设备指纹,则允许没有bot会话cookie的请求数。

最小值为1,最大值为4294967295

signatureAutoUpdate。用于启用/禁用bot自动更新签名的标志。

取值范围:“ON”、“OFF”

默认值:OFF

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

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

最大长度:2047

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

proxyPort。代理服务器端口,用于从AWS获取更新的签名。缺省值:8080

例子:

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

通过Citrix ADC GUI配置bot管理

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

Bot管理界面

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

启用机器人管理功能

完成以下步骤启用bot管理:

  1. 在导航窗格上展开系统然后点击设置
  2. 配置高级特性页,选择机器人管理复选框。
  3. 点击好吧,然后按关闭

    启用机器人管理

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

配置设备指纹技术。

  1. 导航到安全>Citrix Bot管理
  2. 在详细信息窗格中设置点击更改Citrix Bot管理设置
  3. 配置Citrix Bot管理设置,按如下参数配置。

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

    Bot管理设置

  4. 点击好吧

克隆机器人签名文件

执行以下步骤克隆bot签名文件:

  1. 导航到安全>Citrix Bot管理而且签名
  2. Citrix Bot管理签名页中,选择默认的bot签名记录,单击克隆
  3. 克隆机器人签名页,输入名称并编辑签名数据。
  4. 点击创建

    克隆机器人签名文件

导入机器人签名文件

如果您有自己的签名文件,则可以将其作为文件、文本或URL导入。导入bot签名文件的操作步骤如下:

  1. 导航到安全>Citrix Bot管理而且签名
  2. Citrix Bot管理签名页,导入文件为URL,文件,或文本。
  3. 点击继续

    导入机器人签名文件

  4. 2 .在“导入Citrix Bot管理签名”界面,配置以下参数。
    1. 的名字。机器人签名文件的名称。
    2. 发表评论。导入文件的简要说明。
    3. 覆盖。选中复选框允许在文件更新过程中覆盖数据。
    4. 签名数据。修改签名参数
  5. 点击完成

    导入机器人签名文件

使用Citrix ADC GUI配置bot允许列表

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

  1. 导航到安全>Citrix Bot管理而且配置文件
  2. Citrix Bot管理配置文件页,选择文件,单击编辑
  3. Citrix Bot管理配置文件Page,转到签名设置部分,单击白名单
  4. 白名单节中,设置以下参数:
    1. 启用。选中复选框以验证允许列表url作为检测过程的一部分。
    2. 配置类型。配置允许列表URL。在机器人检测期间,URL会被绕过。单击Add将URL添加到bot允许列表中。
    3. 配置Citrix Bot管理配置文件白名单绑定页,设置以下参数:
      1. 类型。“URL类型”包括IPv4地址、子网IP地址和匹配策略表达式的IP地址。
      2. 启用。选中复选框以验证URL。
      3. 价值。URL地址。
      4. 日志。选中存储日志条目的复选框。
      5. 日志消息。日志的简要描述。
      6. 评论。关于允许列表URL的简要描述。
      7. 点击好吧

    配置bot允许列表

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

    配置bot允许列表

使用Citrix ADC GUI配置bot块列表

这种检测技术使您能够删除您配置为块列表的url。完成以下步骤配置阻断列表URL。

  1. 导航到安全>Citrix Bot管理而且配置文件
  2. Citrix Bot管理配置文件页签中,选择签名文件,单击编辑
  3. Citrix Bot管理配置文件Page,转到签名设置部分,单击黑名单
  4. 黑名单节中,设置以下参数:

    1. 启用。选中复选框以验证块列表url作为检测过程的一部分。
    2. 配置类型。配置一个URL作为bot块列表检测过程的一部分。这些url在机器人检测期间被丢弃。单击“添加”将URL添加到bot阻止列表中
    3. 配置Citrix Bot管理配置文件黑名单绑定页,设置以下参数。

      1. 类型。“URL类型”包括IPv4地址、子网IP地址和IP地址。
      2. 启用。选中复选框以验证URL。
      3. 价值。URL地址。
      4. 日志。选中存储日志条目的复选框。
      5. 日志消息。登录的简要描述。
      6. 评论。关于屏蔽列表URL的简要描述。
      7. 点击好吧

    配置bot块列表

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

    配置bot块列表

使用Citrix ADC GUI配置IP信誉

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

  1. 导航到安全>Citrix Bot管理而且配置文件
  2. Citrix Bot管理配置文件页签中,选择签名文件,单击编辑
  3. Citrix Bot管理配置文件Page,转到签名设置部分,单击IP的声誉
  4. IP的声誉节中,设置以下参数:
    1. 启用。选中复选框以验证传入的bot流量作为检测过程的一部分。
    2. 配置类别。您可以对不同类别下的传入机器人流量使用IP信誉技术。根据配置的类别,可以丢弃或重定向bot流量。点击添加配置恶意机器人类别。
    3. 配置Citrix Bot管理配置文件IP信誉绑定页,设置以下参数:

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

        1. IP_BASED -该类别检查客户端IP地址(IPv4和IPv6)是否恶意。
        2. 僵尸网络——此类别包括僵尸网络C&C通道,以及受僵尸主机控制的受感染僵尸机器。
        3. SPAM_SOURCES—此类别包括通过代理挖掘垃圾邮件、异常SMTP活动和论坛垃圾邮件活动。
        4. 扫描器-此类别包括所有侦察,如探测,主机扫描,域扫描和密码暴力攻击。
        5. DOS—包括DOS、DDOS、异常同步泛滥和异常流量检测。
        6. 声誉-此类别拒绝访问当前已知已感染恶意软件的IP地址(IPv4和IPv6)。此类别还包括Webroot声誉指数平均较低的IP地址。启用此类别可防止已识别的源访问恶意软件分发点。
        7. 钓鱼-这一类别包括IP地址(IPv4和IPv6)托管钓鱼网站和其他类型的欺诈活动,如广告点击欺诈或游戏欺诈。
        8. PROXY -该类别包括提供代理服务的IP地址(IPv4和IPv6)。
        9. 网络- ip提供代理和匿名服务,包括洋葱路由器又名TOR或暗网。
        10. MOBILE_THREATS -这个类别检查客户端IP地址(IPv4和IPv6)的地址列表对移动设备有害。
      2. 类别。选择Webroot公有云服务提供商类别,验证客户端请求是否是公有云IP地址。

        1. AWS—此类别检查客户端IP地址与AWS的公共云地址列表。
        2. GCP——这个类别检查客户端IP地址与来自谷歌云平台的公共云地址列表。
        3. AZURE -这个类别检查客户端地址与来自AZURE的公共云地址列表。
        4. ORACLE -这个类别检查客户端IP地址与ORACLE公共云地址列表
        5. IBM——这个类别用IBM的公共云地址列表检查客户端IP地址。
        6. SALESFORCE——这个类别用SALESFORCE的公共云地址列表检查客户端IP地址。

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

        Webroot公共云服务提供商类别可选值:AWS、GCP、AZURE、ORACLE、IBM、SALESFORCE。

      3. 启用。选中复选框,表示IP信誉签名检测生效。
      4. 机器人的行动。根据配置的类别,您可以不分配操作、删除操作、重定向操作或缓解操作。
      5. 日志。选中存储日志条目的复选框。
      6. 日志消息。日志的简要描述。
      7. 评论。关于机器人类别的简要描述。
  5. 点击好吧
  6. 点击更新
  7. 点击完成

    配置IP信誉

使用Citrix ADC GUI配置bot速率限制

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

  1. 导航到安全>Citrix Bot管理而且配置文件
  2. Citrix Bot管理配置文件页签中,选择签名文件,单击编辑
  3. Citrix Bot管理配置文件Page,转到签名设置部分,单击速率限制
  4. 速率限制节中,设置以下参数:
    1. 启用。选中复选框以验证传入的bot流量作为检测过程的一部分。
    2. 会话。基于会话的速率限制请求。单击“新建”,配置基于会话的限速请求。
    3. 配置Citrix Bot管理签名速率限制页,设置以下参数。
      1. 类别。从列表中选择一个恶意机器人类别。基于类别关联操作。
      2. 启用。选中复选框以验证传入的bot流量。
      3. 机器人的行动。为所选类别选择一个机器人操作。
      4. 日志。选中存储日志条目的复选框。
      5. 日志消息。日志的简要描述。
      6. 评论。关于机器人类别的简要描述。
      7. 点击好吧

    配置速率限制

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

    配置速率限制

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

bot速率限制技术使您能够根据用户的地理位置、客户端IP地址、会话、cookie或配置的资源(URL)在特定时间范围内限制bot流量。通过配置bot速率限制技术,可以确保:

  • 阻止恶意机器人活动。
  • 减少网络服务器的流量压力。

在命令提示符下,输入:

绑定机器人配置文件…-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 

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

  1. 导航到安全> Citrix Bot管理而且配置文件
  2. Citrix Bot管理配置文件页签中,选择目标配置文件,单击编辑
  3. Citrix Bot管理配置文件Page,转到配置文件设置部分,单击速率限制
  4. 速率限制节中,设置以下参数:

    1. 启用。选中复选框以验证传入的bot流量作为检测过程的一部分。b。点击添加配置速率限制绑定。
  5. 配置Citrix Bot管理速率限制页,设置以下参数。

    1. 类型。基于以下参数对bot流量进行限速:

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

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

通过Citrix ADC GUI配置设备指纹技术

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

  1. 导航到安全>Citrix Bot管理而且配置文件
  2. Citrix Bot管理配置文件页签中,选择签名文件,单击编辑
  3. Citrix Bot管理配置文件Page,转到签名设置部分,单击设备的指纹
  4. 设备的指纹节中,设置以下参数:

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

配置设备指纹

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

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

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

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

下面的步骤解释了机器人检测工作流,以检测来自移动设备的请求是来自人类还是机器人。

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

先决条件

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

该任务指导用户通过CLI配置移动应用(Android)指纹检测技术

在命令提示符下,输入:

set bot profile -deviceFingerprintMobile (NONE | Android)

例子:

set bot profile profile 1 -deviceFingerprintMobile Android

该任务指导用户通过图形化界面配置移动应用(Android)的设备指纹检测技术

  1. 导航到安全>Citrix Bot管理而且配置文件
  2. Citrix Bot管理配置文件页,选择文件,单击编辑
  3. Citrix Bot管理配置文件页面,点击设备的指纹配置文件设置
  4. 配置Bot Mobile SDK节中,选择移动客户端类型。
  5. 点击更新而且完成

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

配置bot日志表达式

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

通过CLI绑定bot配置文件中的日志表达式

在命令提示符下,输入:

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

例子:

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

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

  1. 导航到安全> Citrix Bot管理>配置文件
  2. Citrix Bot管理配置文件页面,选择Bot日志表达配置文件设置部分。
  3. Bot日志表达式设置*部分,单击“**添加”
  4. 配置Citrix Bot管理配置文件Bot日志表达式绑定页,设置以下参数。
    1. 日志表达式名称。日志表达式名称。
    2. 表达式。输入日志表达式。
    3. 启用。启用或禁用日志表达式绑定。
    4. 评论。关于bot日志表达式绑定的简要描述。
  5. 点击好吧而且完成

Bot日志表达式

配置bot trap技术

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

trap URL由字母和数字组成,长度可配置,每隔一段时间自动生成。此外,该技术还允许您为访问次数最多的网站或频繁访问的网站配置陷阱插入URL。通过这样做,您可以为匹配trap插入URL的请求指定插入bot trap URL的目的。

注意:

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

要完成bot trap的配置,必须完成以下步骤。

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

启用bot trap URL保护

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

启用ns功能Bot

在bot配置文件中配置bot trap URL

可以配置bot trap URL,并在bot配置文件中指定trap动作。
在命令提示符下,输入:

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

在那里,

trapURL.Bot保护作为Trap URL使用的URL。最大长度:127

陷阱.启用bot trap检测。取值范围:ON、OFF、默认值:OFF

trapAction.基于机器人检测采取的行动。可能的值:NONE, LOG, DROP, REDIRECT, RESET, MITIGATION。默认值:NONE

例子:

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

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

您可以配置bot trap插入URL,并将其绑定到bot配置文件。在命令提示符下,输入:

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

在那里,

URL.请求插入bot trap URL的URL正则表达式模式。最大长度:127

例子:

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

在bot设置中配置bot trap URL长度和间隔

您可以通过配置bot trap URL的长度和间隔来自动生成bot trap URL。在命令提示符下,输入:

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

在那里,

trapURLInterval.更新bot trap URL的时间(以秒为单位)。默认值:3600,最小值:300,最大值:86400

trapURLLength.自动生成的bot trap URL的长度。缺省值:32,最小值:10,最大值:255

例子:

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

通过GUI配置bot trap URL

  1. 导航到安全> Citrix Bot管理>配置文件
  2. Citrix Bot管理配置文件页面,点击编辑来配置bot trap URL技术。
  3. 创建Citrix Bot管理配置文件页面,在general部分输入bot trap URL。

    机器人管理文件中的机器人陷阱技术

  4. 创建Citrix Bot管理配置文件页面,点击机器人的陷阱配置文件设置
  5. 机器人的陷阱节中,设置以下参数。

    启用。选中复选框,启用bot trap检测。b.描述。URL的简要描述。c.配置动作。通过bot trap访问检测到的bot所采取的动作。

    Bot trap配置的Bot trap技术

  6. 配置Trap插入url部分中,点击添加
  7. 配置Citrix Bot Management Profile Bot Trap绑定页,设置以下参数。

    1. 陷阱的URL。输入要确认为bot trap插入URL的URL。
    2. 启用。启用或禁用bot trap插入URL。
    3. 发表评论。简要说明trap插入URL。用于绑定机器人陷阱的机器人陷阱技术
  8. 签名设置部分中,点击机器人的陷阱
  9. 机器人的陷阱节中,设置以下参数:

    1. 启用。选中复选框,启用bot trap检测。
    2. 2 .在“Configure”区域设置如下参数。

      1. 行动。通过bot trap访问检测到的bot所采取的动作。
      2. 日志。启用或禁用bot trap绑定的日志记录。
  10. 点击更新而且完成

配置bot trap URL

完成以下步骤配置bot trap URL设置:

  1. 导航到安全> Citrix Bot管理
  2. 在详细信息窗格中设置点击更改Citrix Bot管理设置
  3. 配置Citrix Bot管理设置,按如下参数配置。

    1. Trap URL间隔时间。更新bot trap URL的时间(以秒为单位)。
    2. Trap URL长度。自动生成的bot trap URL的长度。
  4. 点击好吧而且完成

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

bot检测的客户端IP策略表达式

Citrix bot管理现在允许您配置高级策略表达式,以从HTTP请求头、HTTP请求体、HTTP请求URL或使用高级策略表达式提取客户端IP地址。bot检测机制(如TPS、bot trap或速率限制)可以使用提取的值来检测传入的请求是否是bot。

注意:

如果您没有配置客户端IP表达式,则将使用默认或现有的源客户端IP地址进行bot检测。如果配置了表达式,则计算结果将提供可用于bot检测的客户端IP地址。

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

通过CLI配置bot profile中的客户端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配置bot配置文件中的客户端IP策略表达式

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

    使用bot配置文件中的策略表达式为客户端IP地址进行GUI配置

配置CAPTCHA用于IP信誉和设备指纹检测

CAPTCHA是“区分计算机和人类的完全自动化公共图灵测试”的首字母缩写。CAPTCHA旨在测试输入的流量是来自人类用户还是自动机器人。CAPTCHA有助于阻止自动机器人对web应用程序造成安全违规。在ADC设备中,CAPTCHA使用挑战-响应模块来识别传入的流量是否来自人类用户而不是自动机器人。

配置bot静态签名

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

  1. 在导航窗格上展开安全> Citrix Bot管理>签名
  2. Citrix Bot管理签名页签中,选择签名文件,单击编辑
  3. Citrix Bot管理签名Page,转到签名设置部分,单击机器人签名
  4. 机器人签名节中,设置以下参数:
    1. 配置静态签名本节列出了bot静态签名记录的列表。您可以选择一条记录,单击编辑给它分配一个机器人动作。
    2. 点击好吧
  5. 点击更新签名
  6. 点击完成

机器人静态签名

机器人静态签名描述

Citrix ADC机器人管理保护您的web应用程序免受机器人。机器人静态签名有助于根据传入请求中的user-agent等请求参数来识别好机器人和坏机器人。
文件中的签名列表非常庞大,并且会定期添加新规则和删除旧规则。作为管理员,您可能希望搜索类别下的特定签名或签名列表。为了方便地过滤签名,机器人签名页提供了增强的搜索功能。通过查找签名规则,可以根据动作、签名ID、开发人员、签名名称等一个或多个签名参数,对签名规则的属性进行配置。

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

  • 使选中。启用所有选中的签名规则。
  • 禁用选中。禁用所有选中的签名规则。
  • 放弃选择。选中选中的所有签名规则的“删除”动作。
  • 重定向选择。对选中的所有签名规则应用“重定向”动作。
  • 重新选择。对选中的所有签名规则应用“重置”操作。
  • 日志。选中的所有签名规则均应用“日志”操作。
  • Remove Drop Selected。取消选中所有签名规则的删除操作。
  • 删除重定向选定。取消将重定向动作设置为所有选中的签名规则。
  • 移除重置选中。取消对所有选中签名规则的重置动作。
  • 删除选中日志。取消将日志操作设置为选中的所有签名规则。

类别。选择类别过滤签名规则。以下是可用于排序签名规则的类别列表。

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

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

  1. 导航到安全> Citrix Bot管理>签名
  2. 在详细信息页面,单击添加
  3. Citrix Bot管理签名页中,单击“编辑”静态签名部分。
  4. 配置静态签名节中,在下拉列表中选择签名动作。
  5. 使用搜索功能选择类别并对规则进行过滤。
  6. 点击更新

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

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

  1. 导航到安全> Citrix Bot管理>签名
  2. 在详细信息页面,单击添加
  3. Citrix Bot管理签名页中,单击“编辑”静态签名部分。
  4. 配置静态签名节中,从下拉列表中选择操作。
  5. 使用搜索功能选择类别并对规则进行过滤。
  6. 在静态签名列表中选择需要修改属性的签名。

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

  7. 点击好吧来确认。

CAPTCHA在思杰ADC机器人管理中的工作原理

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

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

通过Citrix ADC GUI配置CAPTCHA设置

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

  1. 导航到安全> Citrix Bot管理和配置文件
  2. Citrix Bot管理配置文件页签中,选择目标配置文件,单击编辑
  3. Citrix Bot管理配置文件Page,转到签名设置部分,单击验证码
  4. 验证码设置部分中,点击添加以配置CAPTCHA配置文件的设置:
  5. 配置Citrix Bot Management CAPTCHA页,设置以下参数。
    1. URL。在IP信誉和设备指纹检测技术中应用CAPTCHA操作的Bot URL。

    2. 启用。设置此选项以启用CAPTCHA支持。
    3. 格蕾丝。在接收到当前有效的CAPTCHA响应后,直到没有发送新的CAPTCHA挑战为止。
    4. 等待时间。ADC设备等待客户端发送CAPTCHA响应所需的时间。
    5. 沉默的时期。发送错误CAPTCHA响应的客户端必须等待的持续时间,直到允许下一次尝试。在此静音期间,ADC设备不允许任何请求。范围:60 ~ 900秒,推荐:300秒
    6. 请求长度限制。CAPTCHA质疑被发送到客户端的请求长度。如果长度大于阈值,请求将被丢弃。缺省值为10 ~ 3000字节。
    7. 重试尝试。允许客户端重试解决CAPTCHA挑战的次数。取值范围:1 ~ 10,推荐:5。
    8. 如果客户端CAPTCHA验证失败,将采取No Action/Drop/Redirect操作。
    9. 日志。设置此选项以在响应CAPTCHA失败时存储来自客户端的请求信息。数据存储在ns.log文件。
    10. 发表评论。关于CAPTCHA配置的简要描述。
  6. 点击好吧而且完成

    Bot验证码GUI配置

  7. 导航到安全> Citrix Bot管理>签名
  8. Citrix Bot管理签名页签中,选择签名文件,单击编辑
  9. Citrix Bot管理签名Page,转到签名设置部分,单击机器人签名
  10. 机器人签名节中,设置以下参数:

  11. 配置静态签名.选择一个机器人静态签名记录并单击Edit为其分配一个机器人操作。
  12. 点击好吧
  13. 点击更新签名
  14. 点击完成

机器人静态签名

自动更新机器人签名

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

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

注意:

您还可以配置代理服务器,并通过代理定期将签名从AWS云更新到设备。配置代理时,需要在bot设置中设置代理IP地址和端口地址。

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

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

Bot签名自动更新

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

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

配置机器人签名自动升级

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

启用机器人签名自动更新

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

设置bot设置-signatureAutoUpdate ON

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

如果通过代理服务器访问AWS特征库,需要配置代理服务器和端口。设置bot设置-proxyserver -proxyport

例子:

设置bot设置-proxy server 1.1.1.1 -proxyport 1356

使用Citrix ADC GUI配置bot签名自动更新

通过以下步骤配置机器人签名自动更新:

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

    Bot自动更新签名设置

  4. 点击好吧而且关闭

创建机器人管理配置文件

bot配置文件是用于检测bot类型的bot管理设置的集合。在配置文件中,您确定Web应用防火墙如何应用其每个过滤器(或检查)到您的网站的机器人流量,以及它们的响应。

完成以下步骤来配置bot配置文件:

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

    1. 的名字。Bot配置文件名称。
    2. 签名。机器人签名文件的名称。
    3. 错误的URL。URL用于重定向。
    4. 发表评论。简要介绍配置文件。
  4. 点击创建而且关闭

配置机器人管理概要文件

创建机器人策略

bot策略控制流向bot管理系统的流量,也控制发送到auditlog服务器的bot日志。请按照以下步骤配置bot策略。

  1. 导航到安全>Citrix Bot管理>机器人的政策
  2. 在详细信息窗格中,单击添加
  3. 创建Citrix Bot管理策略页,设置以下参数。
    1. 的名字。Bot策略名称。
    2. 表达式。直接在文本区域中键入策略表达式或规则。
    3. 机器人概要文件。Bot配置文件应用Bot策略。
    4. 未定义的行为。选择一个您喜欢分配的操作。
    5. 发表评论。政策的简要描述。
    6. 日志的行动。审计日志消息操作,用于记录机器人流量。有关审计日志操作的详细信息,请参见审计日志主题。
  4. 点击创建而且关闭

配置机器人管理概要文件

Bot每秒事务数(TPS)

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

注意:

bot技术仅在配置了两个参数并且两个值都超过阈值限制时才将传入流量检测为bot。让我们考虑一个场景,其中设备接收来自特定URL的许多请求,并且您希望Citrix ADC机器人管理系统检测是否存在机器人攻击。TPS检测技术检测1秒内来自该URL的请求数(配置值)和30分钟内收到的请求数增加的百分比(配置值)。如果值超过阈值限制,则将流量视为bot,设备将运行配置的操作。

配置bot每秒事务数(TPS)技术

配置TPS需要完成以下步骤:

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

将TPS设置绑定到机器人管理配置文件

启用bot TPS特性后,必须将TPS设置绑定到bot管理配置文件。

在命令提示符下,输入:

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日志

启用bot每秒事务数(TPS)

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

设置bot profile profile1 -enableTPS ON

使用Citrix ADC GUI配置bot每秒事务数(TPS)

完成以下步骤来配置bot每秒事务数:

  1. 导航到安全> Citrix Bot管理>配置文件
  2. Citrix Bot管理配置文件页签中,选择目标配置文件,单击编辑
  3. 创建Citrix Bot管理配置文件页面,点击TPS签名设置部分。
  4. TPS部分,启用该特性,然后单击添加

    Bot管理每秒事务部分

  5. 配置Citrix Bot管理配置文件TPS绑定页,设置以下参数。

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

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

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

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

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

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

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

    4. 行动。对TPS绑定检测到的bot采取的操作。

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

    6. 日志消息。由TPS绑定检测到的bot的日志消息。最大长度:255。

    7. 评论。简要介绍TPS配置。最大长度:255

  6. 点击好吧然后关闭

Bot管理每秒事务部分

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

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

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

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

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

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

以下步骤解释了组件之间如何交互:

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

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

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

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

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

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

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

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

在命令提示符下,输入:

add bot profile  -KMDetection (ON | OFF) 

例子:

添加bot配置文件profile1 -KMDetection ON

为JavaScript插入配置bot表达式

配置bot表达式来计算流量并插入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 Bot管理和配置文件
  2. Citrix Bot管理配置文件页签中,选择目标配置文件,单击编辑
  3. 基于键盘和鼠标的机器人检测节中,设置以下参数:
    1. 使检测。选中复选框以检测基于机器人的键盘和鼠标动态行为。
    2. 事件后身体限制。由浏览器发送要由Citrix ADC设备处理的键盘和鼠标动态数据的大小。
  4. 点击好吧

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

  5. Citrix Bot管理配置文件Page,转到配置文件设置部分,单击基于键盘和鼠标的机器人表达式设置
  6. 基于键盘和鼠标的机器人表达式设置部分中,点击添加
  7. 配置Citrix Bot管理配置文件Bot键盘鼠标表达式绑定页,设置以下参数:
    1. 表达式的名字。用于检测键盘和鼠标动态的机器人策略表达式的名称。
    2. 表达式。Bot策略表达式。
    3. 启用。选中复选框以启用键盘和机器人键盘和鼠标表达式绑定。
    4. 评论。关于bot策略表达式及其与bot配置文件的绑定的简要描述。
    5. 点击好吧而且关闭
  8. 基于键盘和鼠标的机器人表达式设置部分中,点击更新

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

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

当传入请求被标识为bot时,Citrix ADC设备将记录更多HTTP报头详细信息,以便进行监视和故障排除。bot详细日志功能类似于Web App Firewall模块中的详细日志功能。

考虑来自客户端的传入流量。如果客户端被识别为bot, Citrix ADC设备将使用详细日志记录功能来记录完整的HTTP报头信息,例如域地址、URL、用户代理报头、cookie报头)。然后将日志详细信息发送到ADM服务器进行监控和故障排除。详细日志不会保存在“ns.log”文件中。

该任务指导软件调测工程师通过CLI配置bot详细日志

为了以日志的形式捕获详细的HTTP报头信息,您可以在bot概要文件中配置详细日志参数。在命令提示符下,输入:

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

例子:

设置bot profile p1 -verboseLogLevel HTTP_FULL_HEADER

使用Citrix ADC GUI配置bot详细日志记录

按照下面的步骤在bot概要文件中配置详细日志级别。

  1. 在导航窗格中,导航到安全> Citrix Bot管理
  2. Citrix Bot管理配置文件页面,点击添加
  3. 创建Citrix Bot管理配置文件页,选择详细日志级别为HTTP完整报头
  4. 点击好吧而且完成

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

为欺骗机器人请求配置一个动作

攻击者可能试图模拟一个优秀的机器人,并向您的应用程序服务器发送请求。这样的机器人被识别为使用机器人签名的欺骗机器人。配置以下针对欺骗机器人的操作来保护您的应用程序服务器:

  • 下降
  • 没有一个
  • 重定向
  • 重置

使用CLI为欺骗机器人请求配置一个动作

运行如下命令配置欺骗机器人请求的动作:

set bot profile  -spoofedReqAction  LOG 

例子

set bot profile bot_profile -spoofedReqAction DROP LOG 

在本例中,来自欺骗机器人的请求被丢弃,并记录在Citrix ADC设备中。

提示

要记录来自欺骗机器人的事件,请指定日志在命令中。

使用GUI为欺骗机器人请求配置操作

按照以下步骤为欺骗机器人请求配置动作:

  1. 导航到安全> Citrix Bot管理

  2. Citrix Bot管理配置文件页面,点击添加

  3. 对象中选择操作欺骗请求动作列表。

  4. 选择日志欺骗请求

    此操作记录来自欺骗机器人的事件。

    对欺骗机器人采取行动

  5. 点击创建

Citrix Bot Management丢弃的请求头

许多与缓存相关的请求头被丢弃,以查看会话上下文中的每个请求。类似地,如果请求包含编码头以允许web服务器发送压缩响应,bot管理将删除此头,以便bot管理检查未压缩服务器响应中的内容以插入javascript。

bot管理删除以下请求头:

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

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

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

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

接受编码。对于特定的对象,比如gzip,允许使用哪些编码方法。