• 首页 > 
  • OSS异常流量的排查及防护

OSS异常流量的排查及防护

KB: 57868

 · 

更新时间:2021-03-03 15:13

概述

OSS出现大量的异常流量时,可能是由于恶意Referer盗链或者恶意IP请求访问OSS资源导致的。针对该情况,本文介绍如何排查及防护OSS的异常流量。

详细信息

排查并分析异常流量

异常流量主要分为恶意IP访问和恶意Referer访问,详情如下。

恶意IP访问

通过如下两种方法,定位恶意IP,然后进行防护,详情请参见进行防护

OSS管理控制台的热点统计数据
  1. 登录OSS管理控制台,在左侧导航栏中单击Bucket列表,选择目标Bucket的名称进入Bucket概览页面。
  2. 菜单栏中依次选择数据统计 > 热点统计,切换到热点标签页。
  3. 查看IP(TOP 10)列表,结合业务的实际情况判断这些IP对应的错误访问次数流量以及PV是否正常。
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日志各字段说明请参见访问日志存储

防护恶意IP

根据Bucket的访问权限选择对应的防护方法。

  • Bucket为私有权限:建议迁移数据到新的Bucket中,详情请参见迁移数据,新Bucket的访问权限也应该为私有,通过高防IP或者WAF防护的自定义域名对外提供服务,详情请参见自定义域名
  • Bucket为公共读权限:建议选择下列一种防护方法。
    • 将Bucket访问权限改为私有,通过签名后的URL对外提供服务。私有Bucket可以增加恶意下载的成本,但是也需要业务端集成签名算法,详情请参见集成签名算法,因此会产生一定的开发成本。
    • (推荐)迁移数据到新的Bucket中,详情请参见迁移数据,通过高防IP或者WAF防护的自定义域名对外提供服务,详情请参见自定义域名
    • 迁移数据到新的Bucket中,使用自定义域名对外提供服务,同时开启CDN加速,利用CDN的IP黑名单进行限制访问。详情请参见IP黑名单
      说明:CDN的IP黑名单存在数量限制。

恶意Referer访问

通过如下两种方法,定位恶意Referer访问,然后进行防护。

OSS管理控制台的热点统计数据
  1. 登录OSS管理控制台,在左侧导航栏中单击Bucket列表,选择目标Bucket的名称进入Bucket概览页面。
  2. 菜单栏中依次选择数据统计 > 热点统计,切换到热点标签页。
  3. 查看Refer(TOP 10)列表,结合业务的实际情况判断Refer对应的访问次数是否正常。
Bucket的访问日志

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

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

防护恶意Referer

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

通过高防IP或者WAF防护OSS

此处分别介绍如何通过高防IP或者WAF防护OSS。

高防IP防护

参考如下步骤,通过高防IP防护OSS。更多信息请参见高防IP接入配置

  1. 开启Bucket的自定义域名,详情请参见自定义域名,但是不要在DNS中添加CNAME解析到Bucket域名。
  2. 配置高防IP,将自定义域名作为被防护的网站,Bucket域名作为高防IP的源站域名。
    3
  3. 配置DNS解析,为自定义域名添加一条CNAME记录,指向高防IP提供的CNAME地址。

WAF防护

参考如下步骤,通过WAF防护OSS。更多信息请参见WAF使用教程

  1. 开启Bucket的自定义域名,详情请参见自定义域名,但是不要在DNS中添加CNAME解析到Bucket域名。
  2. 配置WAF应用防火墙,将自定义域名作为网站域名,Bucket域名作为WAF的回源域名。
    6
  3. 配置DNS解析,为自定义域名添加一条CNAME记录,指向WAF提供的CNAME地址。

适用于

  • 对象存储OSS