The Art of Readable Code && High Performance Comments

剛聽見某公司丟 AWS Access / Secret Keys ,被開 spot instance 噴了些錢。因此想分享 AWS 的一些(安全相關)心得。

  1. 閱讀並遵照官方建議 (Best Practices)

    這乍看這與安全無關,但 AWS 係根據實際案例經驗來撰寫建議;很可能其中某些項目,背後便隱藏著安全考量。逆天土砲前,先照建議做過一輪,明瞭各環節的選擇及取捨,再開始設計自己的系統,比較能避免錯誤。
    最近聽過一集 AWS Podcast 即以安全為主題,但我剛沒能找到;另外可參考 Security Best Practice whitepaper AWS Security Center 則是個不錯的閱讀起點。

  2. 權責劃分

    AWS 採用 Shared Responsibility Model,而用戶要對自己上傳的程式、發出的 API Request、以及有管理權限的 instance (例如透過 EB 開出來的機器)負責。因而善用 Managed Service 能節省維護環境的時間。

  3. 備份

    AWS 的服務之間整合完整,善用 S3 / Glacier 進行備份,或選用內建備份(例如 snapshot, RDS, 或調用 Data Pipeline 轉存),能省下不少相關功夫。

  4. 稽核

    除了官方服務 Trusted Advisor 以外,有不少第三方服務能做到自動化權限稽核;現在 marketplace 上也有試用 Security Software 送 $175 AWS Credits 的活動(5/15 止)。除事先檢查設置之外,透過稽核 Log 或用量,往往是更實際的手段;為此可使用 CloudWatch, CloudTrail (遲早全區上線) 與 Billing Alert。

  5. 網路連線管理

    VPC 與其下 subnet, NetACL, Security Group 能在 instance-based service 間,建立起類似 Vlan 與 firewall 的低階防護。

  6. 權限管理

    IAM 是 AWS 服務中的權限稽核中樞,應善用 user, group 與 role 功能,提供可能的最低權限給各用戶 / instance / worker。透過 S3 作為轉介,也可以實作出預設低權級(IAM role),需要時使用高權級(例:透過 S3 取得具寫入權限的 Access Keys)的 Pattern。
    另外記得常 Rotate Keys,系統必須能輕鬆做到這點。

發表迴響

分類

%d 位部落客按了讚: