一、賬號及訪問管理
1.1、多 VPC 還是多賬號模式
- 單個團可以使用多 VPC 模式來管理和創建您的應用環境;
- 多個團隊可以使用多賬戶模式來管理和隔離您的應用環境。
1.2、多賬戶模式,選擇主 master 賬號
使用一個專門的主(root)賬號,其上不啓用任何 AWS 資源;
對這個主賬戶,啓用 MFA。
可以使用 AWS Control Tower 服務。
二、系統架構安全
2.1、子網建議
- 從每個可用區至少 2 個子網開始;
- 使用子網來限制因特網的訪問,如私有子網;
- 考慮使用更大的子網(/24 或者更大)。
2.2、每個可用區子網劃分
- 從每個可用區至少 1 個公有子網,1 個私有子網開始;
- 如果採用 3 層架構,建議使用 3 層子網結構,即公有子網、私有子網、敏感子網。
2.3、安全組的建議
- 安全組默認允許所以出流量的規則;
- 在安全組上修改這條缺省的出流量規則會增加複雜性,因此不推薦,除非有合規的要求;
- 大多數企業爲每類應用在安全組中配置入站規則;
- 優先考慮使用安全組作爲源;
- 如果要安全組內實例通訊,請將源設爲自己。
2.4、NACL 什麼時候啓用
- 當需要禁止來自某特定源或者端口的流量時;
- 當子網無需訪問因特網時。
2.5、VPC 互聯建議
- 大多數的應用並不需要轉移鏈路,或者數據傳輸帶寬要求小於4Gbps,建議使用 ×××;
- 如果應用需要更加穩定的鏈路,更大的帶寬,更低的訪問延時,考慮使用 Direct Connect。
2.6、IAM 建議
- 將 IAM 策略應用到組,避免應用到單個用戶;
- 使用 IAM 角色可以避免在代碼中硬編碼用戶訪問祕鑰;
- 重要用戶啓用 MFA;
- 務必配置密碼策略,定期輪換祕鑰和密碼。
三、數據分級及保護
3.1、KMS 存儲加密建議
根據企業需求或合規需求,對數據進行分級;
根據不同的數據級別制定不同的加密策略。
3.2、傳輸中的數據加密 TLS
- 使用 ××× 對傳輸中的數據進行加密。
- 使用 HTTPS 證書對傳輸中的數據進行加密,建議在 ELB 上卸載證書,ELB 至後端 EC2 明文傳輸;
- 如果希望端到端加密,建議選擇由 ELB 先卸載 TLS 證書,再同後端的 EC2 建立加密通道。
四、安全運維,監控及日誌管理
4.1、CloudTrail 審計日誌
- 永遠在所有的區域啓用 CloudTrail;
- 將 CloudTrail 日誌存儲到獨立的審計賬戶 S3 存儲桶中,並利用 S3 生命週期管理,長期保存。
4.2、VPC Flow Logs
- 在 Trouble Shooting 時啓用 Flow Logs;
- 在應用測試,調試,試運行以及上線初期啓用 Flow Logs;
- 配合 Splunk 等商業軟件使用。
4.3、AWS Config
建議啓用 AWS Config。
4.4、Config Rule 啓用建議
- 從啓用 AWS 託管規則開始;
- 根據企業自身安全基線要求,或者合規要求,自己編寫規則,實現 Compliance as Code。