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

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: OSS适用于存储各类型的静态资源,为了防止OSS的资源被恶意盗用,OSS提供了几种安全防护功能,用户还可以集成安全类产品进行安全防护。本文会从两方面展开:OSS本身提供的安全防护功能(referer、跨域、权限控制、安全排查)及结合安全产品进行安全防护(高防、WAF结合OSS使用)

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

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

1. 防盗链

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

2.跨域设置

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

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

点击管理
3

3.权限控制

Bucket私有的情况下,object的访问得通过签名URL访问,签名URL存在过期时间,会定期过期,增加了一直恶意下载的成本,同时需要用户集成oss签名URL的API,有一定开发成本;
OSS签名URL算法:OSS签名URL算法
OSS签名URL实现的PHP demo 看:
OSS SDK 获取签名URL看:

4.异常流量安全排查

在控制台--OSS--资源监控--IP统计,看看哪些IP发起的请求,是否存在异常IP发起了请求

1)对于异常IP发起了请求

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

[2]如果bucket公共读: 可以bucket私有对外提供签名URL访问(需要业务端集成签名算法有一定开发成本)

或者 迁移数据到另外的bucket中,通过开启waf/高防 防护的自定义域名对外服务,如何为bucket开启WAF/高防防护看二

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

2) 排查下refer监控 看看哪些refer 发起了请求

看看是否存在恶意的盗链行为
存在的话,OSS 层面设置refer 白名单

3) 要详细排查哪些IP访问了什么资源,得分析OSS日志

OSS日志开启看: OSS日志开启
日志字段说明:OSS日志字段说明

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

1.高防防护OSS

1) 自定义域名绑定bucket,但无需做cname 解析到bucket域名上,域名绑定可以参考: 域名绑定
4

2) 自定义域名配置高防:
5

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

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

2.WAF结合OSS使用

1) 自定义域名绑定bucket,但无需做cname 解析到bucket域名上,域名绑定可以参考: 自定义域名绑定
7

2) 自定义域名配置WAF ,参考:
8

3) 在域名服务商那边增加cname 解析,解析到WAF提供的cname地址上
9

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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
7月前
|
存储 Java 对象存储
springboot配置阿里云OSS存储实现文件上传下载功能
【1月更文挑战第1天】springboot配置阿里云OSS存储实现文件上传下载功能
2339 2
|
对象存储 开发者
对象OSS生命周期(LifeCycle)管理功能|学习笔记
快速学习对象 OSS 生命周期(LifeCycle)管理功能
2658 0
对象OSS生命周期(LifeCycle)管理功能|学习笔记
|
存储 前端开发 Java
四步解决!OSS对象存储文件上传功能(服务端签名后直传,建议收藏)
普通上传方式通过InputStream作为OSS文件的数据源。用户(浏览器)把文件交给我们自已的服务器,再由服务器携带相关验证信息上传文件至阿里云,这种方式每上传一次,文件就会经过一次我们自已的服务器(占用大量带宽),我们的服务器也会在大量的用户下带来瓶颈。影响服务器处理别的请求,大大降低了效率。
3882 0
四步解决!OSS对象存储文件上传功能(服务端签名后直传,建议收藏)
|
3月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
185 9
|
6月前
|
存储 分布式计算 关系型数据库
实时数仓 Hologres产品使用合集之是否提供相应的功能接口和指令,可以将数据从OSS存储同步到Hologres中进行分析
实时数仓Hologres的基本概念和特点:1.一站式实时数仓引擎:Hologres集成了数据仓库、在线分析处理(OLAP)和在线服务(Serving)能力于一体,适合实时数据分析和决策支持场景。2.兼容PostgreSQL协议:Hologres支持标准SQL(兼容PostgreSQL协议和语法),使得迁移和集成变得简单。3.海量数据处理能力:能够处理PB级数据的多维分析和即席查询,支持高并发低延迟查询。4.实时性:支持数据的实时写入、实时更新和实时分析,满足对数据新鲜度要求高的业务场景。5.与大数据生态集成:与MaxCompute、Flink、DataWorks等阿里云产品深度融合,提供离在线
|
7月前
|
存储 对象存储 Python
Python中使用阿里云OSS存储实现文件上传和下载功能
Python中使用阿里云OSS存储实现文件上传和下载功能
1857 2
|
存储 对象存储 索引
针对OSS数据集成场景下的功能全面优化【Dataphin V3.12]
OSS(Object Storage Service)是对象存储服务,适用于存放各种文件类型,Dataphin已经支持连接到OSS进行文件数据的读取与写入。本期版本升级中,Dataphin对于OSS的数据同步场景做了全面的功能升级,包括数据源、输入组件与数据组件,一起来了解一下吧~
308 0
|
存储 前端开发 Java
四步解决!OSS对象存储文件上传功能(服务端签名后直传,建议收藏)
四步解决!OSS对象存储文件上传功能(服务端签名后直传,建议收藏)
2995 2
四步解决!OSS对象存储文件上传功能(服务端签名后直传,建议收藏)
|
存储 Java 测试技术
后台管理系统引入OSS实现图片上传功能
后台管理系统引入OSS实现图片上传功能
487 0
|
对象存储 开发者
对象存储 OSS 文件(Object)管理功能|学习笔记
快速学习对象存储 OSS 文件(Object)管理功能
501 0