檢查AWS S3 Bucket的公開權限

今天看到一則國內知名募資平台在AWS S3上的資料被竊取而外洩,不論實際上外洩的資料有多少?是否屬於機密資訊?是否會被求償?對於該募資平台來說,實質上的傷害已經造成,尤其是客戶們的信任度絕對會因此而下降,需要不少時間才能挽回原有客戶們的信心~

其實在國內外很常見到對於AWS雲端服務不夠深入瞭解的企業,經常會發生的資安問題如下:

  • #root帳號沒管理好 (例如沒用MFA二次驗證等機制來做防護)

  • #IAM帳號沒管理好 (例如權限開太大而不自知、或是人員有異動後沒進行適當處置)

  • #S3 Bucket的權限沒設定好 (例如設為Public時,卻還把重要資料存在這個Bucket裡)

  • #程式碼中內嵌重要的Keys (例如IAM User的Access Key和Secret Key),忘了移除就託管在GitHub分享

這次的事件聽說是因為S3而造成的,所以我在這裡是想分享如何快速查詢S3 Bucket的權限!

 

一、使用AWS的管理平台查看

這個最簡單,只要登入AWS的管理平台,然後切換到S3的管理畫面後就能查看Access的那一個欄位,若是為Public時就要特別注意!(因為有些場景需要用到Public的設定,像是利用S3來建置HTML等靜態網站時…)

二、使用AWS Cli指令來查詢

這個方式需要有些經驗的AWS管理人員,在系統下執行AWS的Cli指令就能查出完整的S3 Bucket權限,指令如下:

aws s3api get-bucket-acl –bucket YourBucketName

若是返回的結果中有AllUsers時表示該Bucket就是屬於Public Access哦!

三、使用MyAWS來清查

這是我親自開發的好用工具,專門用來清查AWS上的重要資源,像是IAM的帳號和權限、EC2、Security Group、RDS、S3、EBS、Snapshot和AMI等重要的常見資源,而且可以一次清查多個不同的AWS帳號(我實際查過有26個不同的AWS帳0山)、15個不同的Region哦~

大中華區獨家代理 銓鍇國際

服務熱線: 02-77290880
服務信箱: aws@ckmates.com

原本「MyAWS」只有清查AWS服務的功能(A區功能),
後來加了Linux(B區功能)、Windows(C區功能)和NAS(D區功能)的服務,
我們發現在介紹MyAWS服務時會容易讓客戶感到混淆::
#聽到MyAWS以為是在介紹A區功能
#聽到MyAWS時會以為只有和AWS有關
因此「MyAWS」現已正式更名為: