閱讀238 返回首頁    go 小米 go 小米6


OSS提供的安全防護功能介紹

OSS適用於存儲各類型的靜態資源,為了防止OSS的資源被惡意盜用,OSS提供了幾種安全防護功能,用戶還可以集成安全類產品進行安全防護。本文會從兩方麵展開:OSS本身提供的安全防護功能(referer、跨域、權限控製、安全排查)及結合安全產品進行安全防護(高防、WAF結合OSS使用)。

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

1. 防盜鏈
用戶可以通過OSS管理控製台或者API的方式對一個Bucket設置referer字段的白名單和是否允許referer字段為空的請求訪問。例如,對於一個名為oss-example的Bucket,設置其referer白名單為https://www.aliyun.com/ 。則所有referer為https://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簽名URL-PHPdemo
OSS SDK 獲取簽名URL看: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黑名單 進行限製訪問
數據遷移參考:OSSimport
OSS 開啟CDN加速:CDN加速OSS

2) 排查下refer監控 看看哪些refer 發起了請求
看看是否存在惡意的盜鏈行為
存在的話,OSS 層麵設置refer 白名單

3) 要詳細排查哪些IP訪問了什麼資源,得分析OSS日誌
OSS日誌開啟看: OSS日誌開啟
日誌字段說明:OSS日誌字段說明

二、結合安全產品進行安全防護
1.高防防護OSS
1) 自定義域名綁定bucket,但無需做cname 解析到bucket域名上,域名綁定可以參考: 域名綁定
4

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

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

通過https://dcgf.pier39.cn/objectname 來高防防護OSS的資源

2.WAF結合OSS使用
1) 自定義域名綁定bucket,但無需做cname 解析到bucket域名上,域名綁定可以參考: 自定義域名綁定
7

2) 自定義域名配置WAF ,參考:WAF配置
8

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

通過https://dcgf.pier39.cn/objectname 來WAF防護OSS的資源

最後更新:2017-07-26 09:04:19

  上一篇:go  java.util.concurrent解析——AbstractQueuedSynchronizer綜述
  下一篇:go  阿裏雲大數據利器之-使用sql實現流計算做實時展現業務( flume故障轉移版 )