Citrix ADC

机器人检测

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

注意:

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

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

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

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

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

限制:

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

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

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

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

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

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

如何升级到基于 Citrix ADC CLI 的机器人程序管理配置

要将设备升级到基于 Citrix ADC CLI 的机器人管理配置,必须完成以下步骤:

  1. 备份现有的机器人特征码

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

create system backup [<fileName>] -comment <string>

  1. 从机器人配置文件取消设置机器人签名

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

unset bot profile <profile_name> -signature

  1. 删除机器人签名文件

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

rm bot signature <signature_file_name>

  1. 保存配置

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

save ns config

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

save ns config

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

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

注意:

如果要从旧版本升级设备,则必须首先手动将现有的机器人管理配置转换为基于 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。 覆盖。覆盖现有文件。 注意:使用覆盖选项更新签名文件中的内容。或者,使用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>]

其中,

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

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

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

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

评论。有关此机器人策略的任何类型的信息。最大长度: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

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

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

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。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

签名自动更新。用于启用/禁用机器人自动更新签名的标志。 可能值:ON,OFF 默认值:OFF

签名 URL。从服务器下载机器人特征码映射文件的 URL。默认值:https://s3.amazonaws.com/NSBotSignatures/BotSignatureMapping.json。最大长度:2047 代理服务器。代理服务器 IP 从 AWS 获取更新的签名称。 代理端口。代理服务器端口,从 AWS 获取更新的签名称。默认值:8080

示例:

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。机器人管理系统用于跟踪的会话 cookie 的名称。
    5. 设备指纹请求限制。如果启用了设备指纹,则在没有机器人会话 cookie 的情况下允许的请求数

    机器人管理设置

  4. 单击确定

克隆机器人签名文件

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

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

    克隆机器人签名文件

导入机器人签名文件

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

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

    导入机器人签名文件

  4. 在“导入 Citrix 机器人管理签名”页面上,设置以下参数。
    1. 名称。机器人签名文件的名称。
    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. 单击确定

    配置速率限制

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

    配置速率限制

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

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

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

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

配置设备指纹

使用 Citrix ADC GUI 配置机器人陷阱 URL

机器人陷阱技术通告客户端响应中的陷阱 URL。如果客户端是人类用户,URL 将显示不可见且无法访问。但是,如果客户端是自动机器人,则 URL 是可访问的,当访问时,攻击者被归类为机器人,并阻止来自机器人的任何后续请求。陷阱技术有效阻止来自机器人的攻击。

注意:

默认陷阱 URL 是静态的。但是,Citrix ADC 机器人管理允许您在机器人管理配置文件中配置自定义陷阱 URL。这样做是为了加强机器人检测技术,并使攻击者更难找到陷阱 URL。

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

  1. 启用机器人陷阱 URL
  2. 在机器人配置文件中配置机器人陷阱 URL

启用机器人陷阱 URL

在开始之前,必须确保设备上已启用 Bot 陷阱 URL 功能。在命令提示窗口中,键入:

enable ns feature Bot

使用 Citrix ADC GUI 配置机器人陷阱 URL

按照以下给出的步骤设置机器人陷阱 URL:

  1. 导航到安全性”>“Citrix 机器人管理”>“配置文件”
  2. Citrix 机器人管理概要文件 页面中,单击 编辑 以配置机器人陷阱 URL 设置。
  3. 创建 Citrix 机器人管理配置文件页面中,设置以下参数。 1. 陷阱 URL。键入要确认为自动程序陷阱 URL 的 URL。

    机器人陷阱配置

  4. 签名设置部分中,单击机器人陷阱
  5. 在“机 器人陷阱部分,设置以下参数:
    1. 已启用。选中该复选框可启用自动程序陷阱检测。
    2. 在“配置”部分中,设置以下参数。
      1. 操作。对机器人陷阱访问检测到的机器人采取的操作。
      2. 日志。启用或禁用机器人陷阱绑定的日志记录。 机器人陷阱日志记录
  6. 单击更新完成

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

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

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

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

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

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

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

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

只有 IP 信誉和设备指纹检测技术才支持机器人管理验证码操作。按照以下步骤配置验证码设置。

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

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

    机器人验证码 GUI 配置

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

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

机器人静态签名

自动更新机器人签名

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

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

注意:

您还可以配置代理服务器,并通过代理定期将签名从 AWS 云更新到 ADC 设备。对于代理配置,必须在机器人设置中设置代理 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 机器人管理设置
  3. 配置 Citrix 机器人管理设置中,选中自动更新签名复选框。

    机器人自动更新签名设置

  4. 单击确定关闭

创建机器人管理配置文件

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

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

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

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

配置机器人管理配置文件

创建机器人策略

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

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

配置机器人管理配置文件

每秒机器人事务 (TPS)

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

注意:

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

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

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

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

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

启用机器人 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 机器人管理配置文件 页面中,选择一个配置文件,然后单击 编辑
  3. 创建 Citrix 机器人管理配置文件页中,单击签名设置部分下的 TPS
  4. TPS 部分中,启用该功能并单击 添加

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

  5. 配置 Citrix 机器人管理概要文件 TPS 绑定页中,设置以下参数。

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

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

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

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

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

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

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

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

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

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

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

  6. 单击确定,然后关闭

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