OSS被攻击恶意刷流量出现异常流量的排查方法

概述

OSS被攻击恶意刷流量,出现大量的异常流量时,可能是由于恶意Referer盗链或者恶意IP请求访问OSS资源导致的。针对该情况,本文主要介绍OSS存在异常流量的排查方法。

详细信息

您可以排查并分析异常流量。异常流量主要分为恶意IP访问和恶意Referer访问,详情如下:

恶意IP访问

  1. 定位恶意IP。

    • 方式一:OSS管理控制台的热点统计数据

    • 通过对象存储OSS管理控制台的热点统计数据,进行恶意IP定位,详情请参见用量查询

      1. 登录OSS管理控制台,在左侧导航栏中单击Bucket列表,选择目标Bucket的名称进入Bucket概览页面。

      2. 在左侧导航栏,选择用量查询>热点统计,切换到热点Refer/IP标签页。

      3. 查看IP(TOP 10)列表,结合业务的实际情况判断这些IP对应的错误访问次数流量以及PV是否正常。

    • 方式二:Bucket的访问日志

      您可以通过查看OSS的日志记录,根据查询结果针对恶意请求的IP进行封禁。您可通过以下两种方法查看Bucket的访问日志:

      • 访问日志存储:此方法需要Bucket已经开启OSS访问日志,详情请参见开启OSS访问日志。通过日志分析工具分析Bucket的访问日志,例如使用awk命令过滤非CDN回源请求的Top IP地址,示例命令如下。最终判断Top IP是否为恶意IP。

        cat mylog-oss-example2017-09-10-04-00-00-0000 |awk '{if ($(NF-1) ~/-/) print $1}' | sort |uniq -c|sort -nr -k 1|head -20
        说明

        OSS日志各字段说明请参见访问日志存储

      • 实时日志查询:OSS实时日志是可以免费查看七天内OSS的日志记录,可通过查看实时日志,过滤非CDN回源请求的Top IP地址。

  2. 根据Bucket权限进行防护。

    • Bucket为私有权限:建议迁移数据到新的Bucket中,详情请参见迁移数据,新Bucket的访问权限也应该为私有,通过高防IP或者WAF防护的自定义域名对外提供服务,详情请参见自定义域名

    • Bucket为公共读权限:建议选择下列一种防护方法。

      • 将Bucket访问权限改为私有,通过签名后的URL对外提供服务。私有Bucket可以增加恶意下载的成本,但是也需要业务端集成签名算法,详情请参见集成签名算法,因此会产生一定的开发成本。

      • (推荐)迁移数据到新的Bucket中,详情请参见迁移数据,通过高防IP或者WAF防护的自定义域名对外提供服务,详情请参见自定义域名

      • 迁移数据到新的Bucket中,使用自定义域名对外提供服务,同时开启CDN加速,利用CDN的IP黑名单进行限制访问。详情请参见IP黑名单

        说明

        CDN的IP黑名单存在数量限制。

恶意Referer访问

  1. 定位恶意Refere。

    • 方式一:OSS管理控制台的热点统计数据

      1. 登录OSS管理控制台,在左侧导航栏中单击Bucket列表,选择目标Bucket的名称进入Bucket概览页面。

      2. 在左侧导航栏,选择用量查询>热点统计,切换到热点Refer/IP标签页。

      3. 查看Referer(TOP 10)列表,结合业务的实际情况判断Referer对应的访问次数是否正常。

    • 方式二:Bucket的访问日志

      可以开启OSS的实时日志,根据查询结果针对恶意Referer进行封禁。您可通过以下两种方法查看Bucket的访问日志:

      • 访问日志存储:此方法需要Bucket已经开启OSS访问日志,详情请参见开启OSS访问日志。通过日志分析工具分析Bucket的访问日志,例如使用awk命令过滤Top Referer,判断其是否为恶意Referer。

        说明

        OSS日志各字段说明请参见访问日志存储

      • 实时日志查询:OSS实时日志是可以免费查看七天内OSS的日志记录,可通过查看实时日志,过滤非CDN回源请求的Top IP地址。

  2. 设置防盗链。

    您可以通过OSS管理控制台或者API的方式设置Bucket的防盗链进行防护,详情请参见防盗链

相关文档

当您的OSS Bucket遭受攻击出现异常流量时,请参见如何防止OSS被攻击恶意刷流量导致Bucket切入沙箱,添加安全防护措施。