什么是DoS攻击?为应用程序配置DoS保护

什么是 DoS 攻击?拒绝服务攻击(DoS 攻击)或分布式拒绝服务攻击(DDoS 攻击)使目标用户无法使用受害者的资源,或阻碍目标用户与受害站点之间的通信媒体,以便他们可以不再充分沟通。DoS 攻击的实施者通常以网站或服务为目标,例如银行、信用卡支付网关和电子商务网站。

什么是DoS攻击?为应用程序配置DoS保护-南华中天

Application Security Manager™ (ASM) 有助于保护 Web 应用程序免受针对用于为应用程序提供服务的资源的 DoS 攻击:Web 服务器、Web 框架和应用程序逻辑。Advanced Firewall Manager™ (AFM) 有助于防止网络、SIP 和 DNS DoS 和 DDoS 攻击。

HTTP-GET 攻击和页面泛洪攻击是应用 DoS 攻击的典型例子。这些攻击是从单个用户(单个 IP 地址)或从数千台计算机(分布式 DoS 攻击)发起的,这会使目标系统不堪重负。在页面泛洪攻击中,攻击者会下载页面上的所有资源(图像、脚本等),而 HTTP-GET 泛洪会重复请求特定的 URL,而不管它们在应用程序中的位置。

关于识别 DoS 攻击

Application Security Manager™ 根据客户端(基于 TPS)的交易率或服务器端(基于压力)的延迟计算确定流量是 DoS 攻击。您可以指定希望系统使用的阈值,或者让系统根据检查流量模式自动检测合理的阈值。

注意:您可以将两种检测方法设置为独立工作,也可以将它们设置为同时工作以检测客户端和服务器端的攻击。无论哪种方法检测到攻击都会处理 DoS 保护。

您还可以让系统主动识别和防止网络机器人的自动攻击。此外,该系统还可以保护 Web 应用程序免受针对重 URL 的 DoS 攻击。重 URL 保护意味着在 DoS 攻击期间,系统会保护可能对服务器造成压力的重 URL。

您可以在事件日志和 DoS 报告中查看系统检测并记录的 DoS 攻击的详细信息。您还可以在创建日志记录配置文件时为 DoS 攻击配置远程日志记录支持。

何时使用不同的 DoS 保护

Application Security Manager™ 提供了几种不同类型的 DoS 保护,您可以设置这些保护来保护应用程序。此表描述了何时使用不同的保护最有利。您可以使用任何保护组合。

DoS 保护 何时使用
主动机器人防御 在破坏系统之前阻止 DoS 攻击。提供强大的保护并在非人为流量到达 ASM 之前阻止它。
机器人签名 允许来自合法(良性)机器人的请求,并指示系统如何处理恶意机器人(您可以忽略、记录或阻止它们)。记录恶意机器人使它们在报告中可见。
基于 TPS 的检测 将保护重点放在客户端以立即检测攻击,主要是通过查看每秒请求阈值。
基于压力的检测 将保护重点放在发生服务器减速时检测到攻击的服务器端。此保护基于延迟和每秒请求阈值提供更准确的 DoS 检测。
行为检测 使用流量的行为分析和机器学习来自动发现和缓解 DoS 攻击。
重度 URL 保护 如果应用程序用户可以查询数据库或提交可能会减慢系统速度的复杂查询。
验证码挑战 通过向可疑用户提出字符识别挑战来阻止非人类攻击者。

关于主动机器人防御

Application Security Manager™ (ASM) 可以主动保护您的应用程序免受网络机器人(简称机器人)的自动攻击。这种防御方法称为主动僵尸防御,可以防止启动第 7 层 DoS 攻击、网络抓取和暴力攻击。通过阻止机器人访问网站,主动机器人防御也可以防止这些攻击。

与其他 DoS 保护一起使用,主动机器人防御有助于在攻击对站点造成损害之前识别和缓解攻击。此功能检查大多数流量,但比传统的网络抓取和蛮力保护需要更少的资源。除了 ASM 安全策略中提供的 Web 抓取和蛮力保护之外,您还可以使用主动机器人防御。主动机器人防御通过 DoS 配置文件强制执行,不需要安全策略。

当客户端第一次访问受保护的网站时,系统会向浏览器发送 JavaScript 质询。因此,如果您打算使用此功能,请务必让客户端使用允许 JavaScript 的浏览器。

如果客户端成功评估挑战并使用有效的 cookie 重新发送请求,则系统允许客户端访问服务器。不回答质询的请求仍然没有回答,也不会发送到服务器。发送到没有 cookie 的非 HTML URL 的请求将被丢弃并被视为机器人。

您可以配置 URL 列表以认为安全,以便系统不需要验证它们。这加快了访问网站的时间。如果您的应用程序访问许多跨域资源并且您拥有这些域的列表,您可能需要选择一个选项来验证对这些域的跨域请求。

主动机器人防御和 CORS

跨域资源共享 (CORS)是网站可以允许来自其他来源的资源访问您的站点(即域 + 协议 + 端口)的一种方式,例如在使用 AJAX、@font-face 和其他一些情况时. Proactive Bot Defense 甚至可以阻止合法用户的 CORS 请求。CORS 请求被阻止是因为浏览器在允许跨域请求时通常不包含所需的 cookie,以防止攻击者试图访问实时会话和来自其他域的敏感数据。

因此,如果您启用主动机器人防御并且您的网站使用 CORS,我们建议您将 CORS URL 添加到主动机器人 URL 白名单。这些 URL 不会主动防御机器人,但不会被阻止,并且仍会受到其他启用的 DoS 检测和缓解措施的保护。

一种常见的跨域请求类型是当 HTML 页面引用来自其他域的资源时,例如嵌入式图像、样式表 (CSS) 和 JavaScript。Proactive Bot Defense 支持这种类型的跨域请求,您可以在跨域请求设置中配置允许资源的特定域。

关于配置基于 TPS 的 DoS 保护

设置 DoS 保护时,您可以配置系统以防止基于事务速率的 DoS 攻击(基于 TPS 的异常检测)。如果您使用基于 TPS 的异常保护,系统会使用以下计算检测来自客户端的 DoS 攻击:

交易率检测区间
每 10 秒更新一次的每秒最近请求的短期平均值(针对特定 URL 或来自 IP 地址)。
注意: IP 地址和 URL 计数的平均值是针对每个站点进行的,即针对每个虚拟服务器和关联的 DoS 配置文件。如果一个虚拟服务器有多个 DoS 配置文件(使用本地流量策略实现),那么每个 DoS 配置文件在虚拟服务器的上下文中都有自己的统计信息。
交易率历史间隔
过去一小时计算的每秒请求数(针对特定 URL 或来自 IP 地址)的长期平均值,每 10 秒更新一次。

如果交易率检测区间与历史区间内的交易率的比值大于TPS中设置的增加百分比,则系统认为该网站受到攻击,或URL、IP地址或地理位置怀疑。此外,如果事务率检测间隔大于TPS 达到设置(无论历史间隔如何),那么相应的 URL、IP 地址或地理位置也是可疑的,或者该站点正在受到攻击。

请注意,基于 TPS 的保护可能会检测到 DoS 攻击,这仅仅是因为许多用户试图同时访问服务器,例如在繁忙时间或新产品推出时。在这种情况下,攻击可能是误报,因为用户是合法的。但基于 TPS 的 DoS 保护的优势在于,可以比使用基于压力的保护更早地检测到攻击。因此,在设置 DoS 保护时了解系统上的典型最大峰值负载并使用最适合您的应用程序的方法非常重要。

关于配置基于压力的 DoS 保护

在设置 DoS 保护时,可以配置系统以防止基于服务器端的 DoS 攻击(基于压力的检测)。在基于压力的检测中,需要延迟增加和至少一个可疑的 IP 地址、URL、重 URL、站点范围的条目或地理位置才能将活动视为攻击。

注意:平均延迟是针对每个站点测量的,即针对每个虚拟服务器和关联的 DoS 配置文件。如果一个虚拟服务器有多个 DoS 配置文件(使用本地流量策略实现),那么每个 DoS 配置文件在虚拟服务器的上下文中都有自己的统计信息。

基于压力的 DoS 保护还包括行为 DoS。启用后,系统会检查流量行为以自动检测 DoS 攻击。行为 DoS 审查违规流量,并以最少的用户干预缓解攻击。

与基于 TPS 的保护相比,基于压力的保护更不容易出现误报,因为在 DoS 攻击中,服务器正在达到容量极限并且服务/响应时间很慢:这会影响所有用户。增加的延迟可用作检测 L7 攻击的触发步骤。在检测到延迟显着增加后,确定您是否需要采取进一步措施非常重要。在检查每秒请求的增加并将这些数字与过去的活动进行比较后,您可以识别出可疑的延迟增加与正常延迟增加。

关于行为 DoS 保护

行为 DoS (BADoS)通过使用机器学习和数据分析分析流量行为来提供针对 DDoS 攻击的自动保护。与其他 BIG-IP ® DoS 保护一起使用,行为 DoS 检查数据中心中客户端和应用程序服务器之间的流量,并自动为第 7 层 (HTTP) 和第 3 层和第 4 层建立基线流量/流量配置文件。

例如,在来自僵尸网络的 DDoS 攻击的情况下,每个请求可能是完全合法的,但同时许多请求可能会减慢或崩溃服务器。行为 DoS 可以通过减慢流量来减轻攻击,但前提是保持服务器处于良好状态。

行为 DoS 通过客户反馈循环持续监控服务器运行状况和负载,以确保实时关联,并验证服务器状况、攻击和缓解措施。任何后续异常都会受到关注,系统会根据需要应用缓解措施(减速或阻塞)。

这就是行为 DoS 的工作方式:

  • 学习正常流量的典型行为
  • 根据当前条件(服务器运行状况)检测攻击
  • 发现行为异常(什么和谁改变导致拥堵?)
  • 通过减慢可疑客户端的速度来缓解
  • 随着经验的提高

您可以在基于压力的检测设置的 DoS 配置文件中启用行为 DoS,这需要最少的配置。由于系统正在跟踪交通数据,它会适应不断变化的条件,因此无需指定阈值。您可以设置希望发生的缓解级别,范围从无缓解(仅限学习)到积极保护(主动 DoS 保护)。该系统可以快速检测第 7 层 DoS 攻击,表征违规流量并缓解攻击。

您可以使用启用了行为 DoS 的 DoS 配置文件来保护一个或最多两个虚拟服务器。

关于 DoS 缓解方法

在设置基于事务或基于压力的 DoS 保护时,您可以指定确定系统如何识别和处理 DoS 攻击的缓解方法。您可以使用以下方法:

  • JavaScript 挑战(也称为客户端完整性防御)
  • 验证码挑战
  • 请求阻塞(包括速率限制或全部阻塞)

您可以将系统配置为发出 JavaScript 质询,以在系统遇到可疑 IP 地址、URL、地理位置或站点范围的标准时分析客户端是否使用合法浏览器(可以响应质询)。如果客户端确实执行 JavaScript 以响应质询,系统会故意减慢交互速度。客户端完整性防御缓解措施仅在操作模式设置为阻止时实施。

基于相同的可疑标准,系统还可以发出 CAPTCHA(字符识别)质询,以确定客户端是人类还是非法脚本。根据您希望实施 DoS 保护的严格程度,您可以限制允许通过服务器的请求数量或阻止被视为可疑的请求。

您还可以在 DoS 配置文件中使用可以使用请求阻止来指定系统何时阻止请求的条件。请注意,当基于 TPS 或基于压力的检测的操作模式设置为阻止时,系统仅在 DoS 攻击期间阻止请求。您可以使用请求阻止来限制或阻止来自可疑 IP 地址、可疑国家或疑似受到攻击的 URL 的所有请求。站点范围的速率限制还阻止对怀疑受到攻击的网站的请求。如果您阻止所有请求,系统会阻止可疑 IP 地址和地理位置,但白名单上的除外。如果您使用速率限制,系统会根据 DoS 配置文件中设置的阈值检测标准阻止一些请求。

您选择的缓解方法按照它们在屏幕上出现的顺序使用。仅当先前的方法无法阻止攻击时,系统才会根据需要强制执行这些方法。

关于地理定位缓解

您可以通过检测来自发送可疑流量的国家/地区的流量来缓解基于地理位置的 DoS 攻击。这是 DoS 配置文件中针对基于压力和基于 TPS 的异常的缓解方法的一部分,此方法有助于防止异常活动,如下所示:

  • 基于地理位置的客户端完整性:如果来自国家/地区的流量与 DoS 配置文件中配置的阈值匹配,系统会认为这些国家/地区可疑,并向每个可疑国家/地区发送 JavaScript 质询。
  • 基于地理位置的 CAPTCHA 质询:如果来自国家/地区的流量与 DoS 配置文件中配置的阈值匹配,系统会认为这些国家/地区可疑,并向每个可疑国家/地区发出 CAPTCHA 质询。
  • 基于地理位置的请求阻止:系统阻止来自可疑国家的所有或部分请求。

此外,您可以将国家添加到地理位置白名单(来自这些国家的流量永远不会被阻止)和黑名单(来自这些国家的流量在检测到 DoS 攻击时总是被阻止)。

关于重 URL 保护

重型 URL是每个请求可能会消耗大量服务器资源的 URL。大多数情况下,重度 URL 以低延迟响应,但在特定条件下(例如 DoS 攻击)很容易达到高延迟。重 URL 不一定总是很重,但往往会变得很重,尤其是在攻击期间。因此,对这些 URL 的低速率请求可能会导致严重的 DoS 攻击,并且难以与合法客户端区分开来。

通常,繁重的 URL 涉及复杂的数据库查询;例如,检索历史股票报价。在大多数情况下,用户以每周分辨率请求最近的报价,这些查询很快就会产生响应。但是,攻击可能涉及请求逐日解析的五年报价,这需要检索大量数据,并消耗大量资源。

Application Security Manager™ (ASM) 允许您在 DoS 配置文件中配置针对重型 URL 的保护。您可以为自动检测繁重的 URL 指定延迟阈值。如果网站的某些 URL 可能成为重 URL,您可以手动添加它们,以便系统关注它们,并且您可以添加应该被忽略且不被视为重的 URL。

ASM™ 测量每个 URL 和整个站点 24 小时的尾部延迟,以获得良好的请求行为样本。如果一个 URL的平均尾部延迟是 24 小时内站点延迟的两倍以上,则该URL 被认为是重度。

关于跨域请求

DoS 配置文件中的主动机器人防御允许您指定哪些跨域请求是合法的。跨域请求是对来自与发出请求的资源域不同的域的资源的 HTTP 请求。

如果您的应用程序访问许多跨域资源并且您拥有这些域的列表,则可以验证对这些域的跨域请求。

例如,您的网站使用两个域,site1.com(主站点)和site2.com(存储资源的地方)。您可以通过启用主动机器人防御、为跨域请求设置选择允许的已配置域选项之一并在相关站点域列表中指定这两个网站,在 DoS 配置文件中进行配置。当浏览器向 发出请求时,它会同时独立地获取 cookie ,并且允许来自to的跨域请求。site1.comsite1.comsite2.comsite1.comsite2.com

如果 onlysite1.com配置为相关站点域,当浏览器向 发出请求时site1.com,它会获取site1.comonly 的 cookie。如果浏览器发出跨域请求以从 获取图像site2.com,它会获取一个 cookie,并且只有当它已经有一个有效的site1.comcookie 时才被允许。

关于站点范围的 DoS 缓解

为了缓解高度分布式的 DoS 攻击,例如那些使用大规模僵尸网络攻击多个 URL 的攻击,您可以在 DoS 配置文件中指定何时使用站点范围的缓解。您可以为基于 TPS 或基于压力的 DoS 保护配置站点范围的缓解。在这种情况下,与特定 URL 或 IP 地址相比,整个站点都可能被视为可疑。当系统确定整个站点正在经历高流量但无法查明和处理问题时,站点范围的缓解措施就会生效。

系统实施站点范围的缓解方法仅作为最后的手段,因为它可能导致系统丢弃合法请求。然而,它至少部分地保持了网站的可用性,即使它受到攻击也是如此。当系统应用站点范围的缓解时,这是因为所有其他主动检测方法都无法阻止攻击。

当超过配置的阈值时,整个站点都被认为是可疑的,同时,特定的 IP 地址和 URL 也可能被发现是可疑的。缓解一直持续到最长持续时间过去或整个站点不再可疑为止。即没有可疑的URL,没有可疑的IP地址,整个站点不再可疑。

关于 DoS 检测中的 CAPTCHA 挑战

CAPTCHA(或视觉字符识别)质询显示字符供客户识别,然后才能访问网站或应用程序。客户端能否正确识别字符决定了客户端是人还是可能是非法脚本。您可以将 CAPTCHA 质询配置为基于 TPS 的 DoS 检测、基于压力的 DoS 检测的缓解策略的一部分,或作为主动机器人防御的一部分。如果您已配置它,系统会向可疑流量发起验证码挑战。

系统提供客户将看到的标准验证码响应。如果需要,您可以自定义响应。

关于 DoS 保护和 HTTP 缓存

HTTP 缓存使 BIG-IP ®系统能够将频繁请求的 Web 对象(或静态内容)存储在内存中,以节省带宽并减少 Web 服务器上的流量负载。Web 加速配置文件具有配置缓存的设置。

如果您将 HTTP 缓存与 DoS 保护一起使用,您需要了解缓存内容的 DoS 保护是如何工作的。在这种情况下,如果提供缓存内容的 URL 超过按百分比增加的相对 TPS(而不是明确的TPS 达到数) ,则将其视为 DoS 攻击。对静态或可缓存 URL 的请求总是通过速率限制来缓解。即使在使用客户端完整性或 CAPTCHA 进行缓解期间,并且当这些缓解不仅基于 URL 时也是如此。

概述:防止对应用程序的 DoS 攻击

您可以配置 Application Security Manager™ 以防止对 Web 应用程序的 DoS 攻击。根据您的配置,系统会根据客户端的每秒事务数 (TPS)、基于压力的服务器延迟、大量 URL、地理位置、可疑浏览器和失败的验证码响应来检测 DoS 攻击。行为 DoS (BADoS) 是基于压力的检测的一部分,使用行为数据自动发现和缓解 DoS 攻击。

您可以通过创建启用应用程序安全的 DoS 配置文件来为第 7 层配置 DoS 保护。然后,您将 DoS 配置文件与代表您要保护的应用程序的一个或多个虚拟服务器相关联。DoS 保护是一种不属于安全策略的系统保护。

制定预防政策的主要因素是:

  • 攻击者:发起实际攻击的客户端。它们由它们的 IP 地址和它们来自的地理位置表示。
  • 服务器:受到攻击的 Web 应用程序服务器。您可以将它们视为虚拟服务器和 DoS 配置文件的配对、通过 URL 或作为池成员在站点范围内查看。
  • BIG-IP 系统:检测攻击和相关可疑实体的中间层,然后根据您在 DoS 配置文件中配置的选项缓解攻击、阻止或丢弃请求。

任务摘要

为应用程序配置 DoS 保护

您可以配置 Application Security Manager™ 以防止和减轻 DoS 攻击,并提高系统安全性。
  1. 在主选项卡上,单击安全DoS 保护DoS 配置文件 
    DoS 配置文件列表屏幕打开。
  2. 单击创建
    创建新的 DoS 配置文件屏幕打开。
  3. 名称字段中,输入配置文件的名称,然后单击完成
  4. 在 DoS 配置文件列表中,单击您刚刚创建的配置文件的名称,然后单击应用程序安全选项卡。
    这是您设置应用程序级 DoS 保护的地方。
  5. General Settings中,对于Application Security,单击Edit并选中Enabled复选框。
    显示您可以配置的常规设置。
  6. 要配置重 URL 保护,请编辑要包含或排除哪些 URL 的设置,或使用自动检测。
    另一项任务更详细地描述了重型 URL 保护。
  7. 要根据请求发起的国家/地区设置 DoS 保护,请编辑地理位置设置,选择允许或禁止的国家/地区。
    1. 点击编辑
    2. 将您希望系统在 DoS 攻击期间阻止其流量的国家/地区移至地理位置黑名单
    3. 将您希望系统允许的国家(除非请求有其他问题)移到地理位置白名单中。
    4. 使用基于压力或基于 TPS 的检测设置在如何检测攻击者和使用哪种缓解设置中按地理位置选择适当的缓解措施。
    5. 完成后,单击关闭
  8. 如果您编写了 iRule 来指定系统如何处理 DoS 攻击并在之后恢复,请启用Trigger iRule设置。
  9. 为了更好地保护由一个动态加载新内容的页面组成的应用程序,请启用Single Page Application
  10. 如果您的应用程序使用许多 URL,在URL Patterns中,您可以创建类似 URL 的逻辑集,其中 URL 的不同部分充当参数。单击未配置并键入一个或多个 URL 模式,例如,/product/*.php
    然后,系统会查看将多个 URL 合二为一的 URL 模式,并且可以更容易地识别 DoS 攻击,例如,通过聚合来自其他类似 URL 的统计信息可能不太频繁访问的 URL。
  11. 如果要使用性能加速,请在性能加速中选择 TCP fastL4 配置文件以用作加速的快速路径。
    列出的配置文件是在Local Traffic > Profiles > Protocol > Fast L4 中创建的配置文件。
  12. 单击更新以保存 DoS 配置文件。
您已创建提供基本 DoS 保护的 DoS 配置文件,包括基于 TPS 的检测和重 URL 检测(自动启用)。
接下来,考虑配置其他级别的 DoS 保护,例如基于压力的保护、主动机器人防御和行为 DoS。查看应用程序安全下可用的其他选项并根据需要进行调整。例如,如果使用地理定位,请使用基于压力或基于 TPS 的检测设置来选择适当的缓解措施。此外,您需要将 DoS 配置文件与虚拟服务器相关联,然后才能防御 DoS 攻击。

创建 DoS 保护白名单

您可以创建一个白名单,它是系统在执行 DoS 保护时不检查的 IP 地址列表。
  1. 在主选项卡上,单击安全DoS 保护DoS 配置文件 
    DoS 配置文件列表屏幕打开。
  2. 在 DoS 配置文件列表中,单击要为其指定白名单的配置文件的名称。
    DoS 配置文件属性选项卡打开。
  3. 要省略对某些受信任地址的 DoS 攻击检查,请编辑默认白名单设置:
    1. 在屏幕右侧的共享对象框架中,地址列表旁边,单击+
    2. 在下面的“属性”面板中,键入一个名称,然后一次键入一个名称,键入不需要检查 DoS 攻击的可信 IP 地址或子网,然后单击“添加” 。
      注意:您最多可以添加 20 个 IP 地址。
    3. 完成后,单击更新
      新的白名单将添加到地址列表中。
    4. 要使用新的白名单,请在Default Whitelist之后输入您添加的白名单的名称。
  4. 如果要为 HTTP 流量创建单独的白名单而不是默认白名单,请为HTTP Whitelist选择Override Default并像创建默认白名单一样创建白名单。
  5. 完成后,单击更新
您为默认或 HTTP 创建的白名单被创建为可用于所有 DoS 保护的共享对象。您可以在任何 DoS 配置文件中使用它,包括那些包含应用程序、网络、SIP 和/或 DNS 的 DoS 保护的配置文件。

使用主动机器人防御

要使用主动机器人防御,访问您网站的客户端浏览器必须能够接受 JavaScript。由于此防御机制使用反向查找,因此您需要配置 DNS 服务器(系统>配置>设备DNS)和 DNS 解析器(网络DNS 解析器DNS 解析器列表)才能工作。DNS 解析器必须在其路由域名字段中使用默认路由域。如果您不确定默认路由域,可以在Network > Route Domains下进行检查。对于默认路由域,Partition Default 字段定义为 Yes。

您可以配置 Application Security Manager™ (ASM) 以在攻击发生之前保护您的网站免受网络机器人(简称bots)的攻击。主动机器人防御检查所有进入网站的流量(白名单 URL 除外),而不仅仅是可疑流量。此 DoS 保护使用一组 JavaScript 评估和机器人签名来确保访问您网站的浏览器是合法的。

重要提示:如果您的网站使用跨域资源共享 (CORS)(例如 AJAX 请求),则主动机器人防御会受到限制。
  1. 在主选项卡上,单击安全DoS 保护DoS 配置文件 
    DoS 配置文件列表屏幕打开。
  2. 单击现有 DoS 配置文件的名称(或创建一个新配置文件,然后将其打开),然后单击应用程序安全选项卡。
  3. 在左侧的 Application Security 下,单击General Settings,并确保Application Security已启用。
    屏幕显示附加设置。
  4. 在左侧,单击Proactive Bot Defense
  5. 设置操作模式以指定何时实施主动机器人防御。
    选项 描述
    攻击期间 在 DoS 攻击期间检查所有流量,并防止检测到的攻击升级。
    总是 随时检查所有流量,并防止 DoS 攻击开始。
    重要提示:如果您启用主动机器人防御并且您的网站使用 CORS(跨源资源共享),我们建议您将 CORS URL 添加到主动机器人 URL 白名单中。
    该系统使机器人签名能够强制执行主动机器人防御。默认情况下,系统会阻止来自高度可疑浏览器的请求,并向可疑浏览器显示默认验证码(或视觉字符识别)质询。
  6. 默认情况下,阻止来自可疑浏览器的请求设置和复选框已启用。如果您不想阻止可疑浏览器或发送验证码质询,您可以清除阻止可疑浏览器验证码质询复选框。
    您还可以通过单击CAPTCHA 设置来更改 CAPTCHA 响应。(另一项任务说明了在设置 DoS 保护时如何配置 CAPCHA。)
  7. 宽限期字段中,输入系统阻止可疑机器人之前等待的秒数。
    默认值为300秒。
    宽限期允许网页(包括复杂页面,例如包含图像、JS 和 CSS 的页面)有时间被识别为非机器人、接收验证和完全加载,而不会不必要地丢弃请求。
    宽限期在客户端通过验证、发生配置更改或由于检测到 DoS 攻击或高延迟而启动主动机器人防御后开始。
  8. 使用跨域请求设置,指定系统如何验证跨域请求(例如对嵌入图像、CSS 样式表、XML、JavaScript 或 Flash 等非 HTML 资源的请求)。
    跨域请求是 Host 和 Referrer 标头中具有不同域的请求。
    选项 描述
    允许所有请求 如果通过简单质询,则允许请求到达由不同域引用且没有有效 cookie 的非 HTML URL。系统发送一个测试基本浏览器功能的质询,例如 HTTP 重定向和 cookie。
    允许配置的域;批量验证 允许对本节中配置的其他相关内部或外部域的请求,并提前验证相关域。对相关站点域的请求必须包含来自站点域之一的有效 cookie;如果外部域通过了简单的质询,则允许它们。如果您的网站不使用很多域,请选择此选项,然后将它们全部包含在下面的列表中。此外,如果您的网站使用 COR,请选择此选项,然后在“相关站点域”列表中指定 WebSocket 域。
    允许配置的域;应要求验证 允许对本节中配置的其他相关内部或外部域的请求。对相关站点域的请求必须包含来自主域的有效 cookie;如果外部域通过了简单的质询,则允许它们。如果您的网站使用许多域,请选择此选项,并将主域包括在下面的列表中。
  9. 如果您在上一步中选择了允许配置的域选项之一,则需要添加属于您网站一部分的相关站点域,以及允许链接到您网站中的资源的相关外部域。
  10. URL 白名单设置中,添加网站期望接收请求并且您希望系统认为安全的资源 URL。

    在表单中键入 URL /index.html,然后单击添加。. 支持通配符。

    提示:如果您的网站使用 CORS,请将 CORS URL 添加到白名单,否则将被阻止。
    系统不会对此列表中的 URL 的请求执行主动机器人防御。
  11. 单击更新以保存 DoS 配置文件。

您现在已经配置了主动机器人防御,可以防止 DDoS、Web 抓取和暴力攻击(在使用此 DoS 配置文件的虚拟服务器上)。通过创建机器人防御日志配置文件,您可以在Security > Event Logs > Bot Defense 查看机器人防御事件日志。系统向首次访问该站点的流量发送 JavaScript 质询。合法流量正确回答挑战,并使用有效 cookie 重新发送请求;然后它被允许访问服务器。系统会丢弃浏览器发送的未回答系统初始 JavaScript 质询的请求(将这些请求视为机器人)。该系统还自动启用机器人签名并阻止已知恶意的机器人。

如果主动机器人检测一直在运行,ASM™ 会在它们设法对系统发起攻击并造成损害之前过滤掉它们。如果仅在攻击期间使用主动 bot 防御,则一旦 ASM 检测到 DoS 攻击,系统就会在攻击期间使用主动 bot 防御。

主动机器人防御与 TPS 和基于压力的检测中指定的主动缓解方法一起使用。任何未被主动缓解方法阻止的请求仍然必须通过主动机器人防御机制才能到达服务器(除非它在 ​​URL 白名单上)。主动机器人防御阻止对不在 URL 白名单上的 CORS(跨源资源共享)URL 的请求。

配置机器人防御日志

在开始配置机器人防御日志之前,请确保您已为您的系统配置了到 Splunk 的远程日志记录。F5 DevCentral 和 Splunk 网站都有关于如何配置 BIG-IP 以将日志发送到 Splunk 平台的信息。不推荐本地记录。
  1. 选项卡上,单击安全>事件日志>日志记录配置文件 
    记录配置文件屏幕打开。
  2. 单击现有日志记录配置文件的名称(或创建一个新配置文件,然后将其打开)。
    日志配置文件属性屏幕打开。
  3. 启用机器人防御
    机器人防御选项卡打开。
  4. Bot Defense选项卡中,从下拉列表中选择您预先配置的Remote Publisher 。
  5. 启用要捕获的日志详细信息。
  6. 单击更新以保存日志记录配置文件。
  7. 在主选项卡上,单击本地流量>虚拟服务器>虚拟服务器列表 
  8. 选择要将机器人防御日志记录配置文件关联到的虚拟服务器。
    属性选项卡打开。
  9. 单击安全>策略选项卡。
  10. 启用DoS 保护配置文件
  11. 日志配置文件部分,从 ui可用列表中选择机器人防御配置文件并将其移动到已选择列表中。
  12. 单击更新以保存策略设置。
您可以通过导航到Security > Event Logs > Bot Defense > Requests 来查看 bot 防御日志。

配置机器人签名检查

如果您需要为您的应用程序创建自定义机器人签名和类别,您应该在配置机器人签名检查之前执行此操作。导航到安全>选项DoS 保护>机器人签名列表 。否则,您可以使用系统提供的机器人签名和在同一位置列出的类别。由于此防御机制使用反向查找,因此您需要配置 DNS 服务器(系统>配置>设备DNS)和 DNS 解析器(网络DNS 解析器DNS 解析器列表)才能工作。

机器人签名检查通常与主动机器人防御一起使用(并且在您使用主动机器人防御时默认启用)。系统执行机器人签名检查,根据其 HTTP 特征将已知机器人识别为合法或恶意。您可以指定是否忽略、报告或阻止某些类别的恶意或良性机器人。如果需要,您还可以禁用特定的机器人签名。
  1. 在主选项卡上,单击安全DoS 保护DoS 配置文件 
    DoS 配置文件列表屏幕打开。
  2. 单击现有 DoS 配置文件的名称(或创建一个新配置文件,然后将其打开),然后单击应用程序安全选项卡。
  3. 在左侧的 Application Security 下,单击General Settings,并确保Application Security已启用。
    屏幕显示附加设置。
  4. 在左侧,单击机器人签名以显示设置。
  5. 对于Bot Signature Check设置,如果尚未选择,请选择Enabled 。
  6. 机器人签名类别字段中,对于每个类别的机器人,无论是恶意的还是良性的,选择当请求与该类别中的签名匹配时要采取的操作。
    选项 行动
    没有任何 忽略此类别中的请求。
    报告 在此类别中记录请求。
    堵塞 阻止和报告此类别中的请求。

    您可以为所有恶意或所有良性类别选择一项操作,或为不同类%E