OSS异常流量排查及防护

一、异常流量排查分析

1.如何定位恶意IP访问

分析oss资源监控数据,看看是否存在恶意IP异常请求OSS资源,资源监控路径:控制台—OSS—具体bucket—热点统计—TOP IP
OSS异常流量排查及防护

或者直接分析OSS日志,获取得到IP访问TOP情况,日志分析可以通过日志分析工具进行,如awk,过滤非cdn 回源请求的top ip :cat rplog-rabbitpre2017-04-20-20-00-00-0001 |awk '{if ($(NF-1) ~/-/) print $1}' | sort |uniq -c|sort -nr -k 1|head -20 ;
OSS日志开启看: OSS日志开启
日志字段说明:OSS日志字段说明

2.定位到恶意IP,如何防护

[1] 如果bucket私有
1] 建议迁移数据到新的bucket中,新的bucket私有,通过开启waf/高防 防护的自定义域名对外服务,如何为bucket开启WAF/高防防护看《二、高防/WAF如何防护OSS资源》

[2] 如果bucket公共读
1] 可以bucket私有对外提供签名URL访问(需要业务端集成签名算法有一定开发成本),bucket私有可以增加恶意下载的成本;
OSS签名URL算法:OSS签名URL算法
OSS签名URL实现的php demo 看:OSS签名URLdemo
OSS sdk 获取签名URL看:OSS SDK获取签名URL
2] 或者迁移数据到另外的bucket中,通过开启waf/高防防护的自定义域名对外服务,如何为bucket开启WAF/高防防护看《二、高防/WAF如何防护OSS资源》(推荐);

3] 或者迁移数据到另外的bucket中,再使用自定义域名对外服务,开启CDN加速,利用CDN的 IP黑名单 进行限制访问,CDN IP黑名单存在条数限制;
数据迁移参考;OSS import
OSS 开启CDN加速:CDN加速OSS

3. 如何定位恶意referer访问

分析oss资源监控数据,看看是否存在恶意referer异常请求OSS资源,资源监控路径:控制台—OSS—具体bucket—热点统计—refer
OSS异常流量排查及防护

或者直接分析OSS日志,获取得到refer访问TOP情况,日志分析可以通过日志分析工具进行,如awk等
OSS日志开启看: OSS日志开启
日志字段说明:OSS日志字段说明

4. 定位到恶意referer,如何进行防护

用户可以通过OSS管理控制台或者API的方式对一个Bucket设置referer字段的白名单和是否允许referer字段为空的请求访问。例如,对于一个名为oss-example的Bucket,设置其referer白名单为http://www.aliyun.com/ 。 则所有referer为http://www.aliyun.com/ 的请求才能访问oss-example这个Bucket中的Object。
控制台——OSS——具体bucket——基础设置中进行referer设置referer加白需求的域名,恶意referer域名不进行加白,那么恶意referer就不能正常访问对应的OSS资源了的。
OSS异常流量排查及防护

二、高防/WAF如何防护OSS资源

1.高防防护OSS

1) 自定义域名绑定bucket,但无需做cname 解析到bucket域名上,域名绑定可以参考: 域名绑定
OSS异常流量排查及防护

2) 自定义域名配置高防:高防配置
OSS异常流量排查及防护

3) 在域名服务商那边增加cname 解析,解析到高防提供的cname 地址上即可
OSS异常流量排查及防护

通过http://dcgf.pier39.cn/objectname 来高防防护OSS的资源

2.WAF结合OSS使用

1) 自定义域名绑定bucket,但无需做cname 解析到bucket域名上,域名绑定可以参考: 自定义域名绑定
OSS异常流量排查及防护

2) 自定义域名配置WAF ,参考:WAF配置
OSS异常流量排查及防护

3) 在域名服务商那边增加cname 解析,解析到WAF提供的cname地址上
OSS异常流量排查及防护

通过http://dcgf.pier39.cn/objectname 来WAF防护OSS的资源

上一篇:python xrange比range性能更好


下一篇:消灭bug秘籍 如何处理大型软件中的错误和异常