全部产品
对象存储 OSS

OSS提供的安全防护功能介绍

更新时间:2017-08-16 10:37:46   分享:   

OSS适用于存储各种类型的静态资源,为防止OSS的资源被恶意盗用,OSS提供了几种安全防护功能,用户还可以集成安全类产品进行安全防护。本文会从OSS本身提供的安全防护功能(Referer、跨域、权限控制、安全排查)和结合安全产品两方面进行安全防护(高防、WAF结合OSS使用)的介绍。

OSS本身提供的安全防护功能

防盗链

您可以通过OSS管理控制台或者API的方式对一个Bucket设置Referer字段的白名单和是否允许Referer字段为空的请求访问。例如,对于一个名为oss-example的Bucket,设置其Referer白名单为http://www.aliyun.com/,则所有Referer为 http://www.aliyun.com/的请求才能访问oss-example这个Bucket中的Object。具体设置方法请参考:设置防盗链

防盗链

跨域设置

跨域访问,或者说JavaScript的跨域访问问题是浏览器出于安全考虑而设置的一个限制,即同源策略。当来自于A网站的页面中的JavaScript代码希望访问B网站的时候,浏览器会拒绝该访问,因为A、B两个网站是属于不同的域。

在实际应用中,经常会有跨域访问的需求,比如用户的网站www.a.com,后端使用了OSS。在www.a.com的网页中提供了使用JavaScript实现的上传功能,但是在该页面中,只能向www.a.com发送请求,向其他网站发送的请求都会被浏览器拒绝。这样就导致用户上传的数据必须从www.a.com中转。如果设置了跨域访问的话,用户就可以直接上传到OSS而无需从www.a.com中转。具体设置方法请参考:设置跨域访问

权限控制

Bucket私有的情况下,需要通过签名URL访问object。由于签名URL存在一个过期时间,所以签名URL会定期过期,增加了一直恶意下载的成本,同时用户需要集成OSS签名URL的API,有一定的开发成本。具体的签名算法请参考:

异常流量安全排查

您可以通过OSS 管理控制台->Bucket名称->热点统计,查看哪些IP发起的请求,是否存在异常IP发起了请求。

  • 对于异常IP发起了请求

    • 如果Bucket私有,建议迁移数据到新的Bucket中。若新的Bucket私有,通过开启waf/高防防护的自定义域名对外服务。

    • 如果Bucket公共读: 可以使用Bucket私有对外提供的签名URL来访问(需要业务端集成签名算法,有一定开发成本)。或者迁移数据到另外的Bucket中,方式一通过开启waf/高防防护的自定义域名对外服务,方式二使用自定义域名对外服务,开启CDN加速,利用CDN的IP黑名单进行限制访问。数据迁移请参考:OSSimport,OSS开启CDN加速:CDN加速OSS

  • 排查Refer监控,查看哪些Refer发起了请求。看看是否存在恶意的盗链行为,若存在,OSS层面要设置Refer白名单

  • 要详细排查哪些IP访问了什么资源,需要分析OSS日志。

结合安全产品进行安全防护

高防防护OSS

  1. 自定义域名绑定Bucket,无需做cname解析到Bucket域名上,域名绑定请参考: 域名绑定

    绑定域名

  2. 自定义域名配置高防,具体操作请参考:高防配置

    自定义域名配置高防

  3. 在域名服务商那边增加cname 解析,解析到高防提供的cname地址上即可。

    cname解析

WAF结合OSS使用

  1. 自定义域名绑定Bucket,但无需做cname解析到Bucket域名上,域名绑定请参考: 域名绑定

    绑定域名

  2. 自定义域名配置WAF,请参考:WAF配置

    waf

  3. 在域名服务商那边增加cname解析,解析到WAF提供的cname地址上即可。

    cname解析

本文导读目录
本文导读目录
以上内容是否对您有帮助?