AWS 云上安全最佳实践

1、帐号及访问管理

1.一、多 VPC 仍是多帐号模式

  • 单个团可使用多 VPC 模式来管理和建立您的应用环境;
  • 多个团队可使用多帐户模式来管理和隔离您的应用环境。

1.二、多帐户模式,选择主 master 帐号

使用一个专门的主(root)帐号,其上不启用任何 AWS 资源;
对这个主帐户,启用 MFA。后端

可使用 AWS Control Tower 服务。安全

2、系统架构安全

2.一、子网建议

  • 从每一个可用区至少 2 个子网开始;
  • 使用子网来限制因特网的访问,如私有子网;
  • 考虑使用更大的子网(/24 或者更大)。

2.二、每一个可用区子网划分

  • 从每一个可用区至少 1 个公有子网,1 个私有子网开始;
  • 若是采用 3 层架构,建议使用 3 层子网结构,即公有子网、私有子网、敏感子网。

2.三、安全组的建议

  • 安全组默认容许因此出流量的规则;
  • 在安全组上修改这条缺省的出流量规则会增长复杂性,所以不推荐,除非有合规的要求;
  • 大多数企业为每类应用在安全组中配置入站规则;
  • 优先考虑使用安全组做为源;
  • 若是要安全组内实例通信,请将源设为本身。

2.四、NACL 何时启用

  • 当须要禁止来自某特定源或者端口的流量时;
  • 当子网无需访问因特网时。

2.五、VPC 互联建议

  • 大多数的应用并不须要转移链路,或者数据传输带宽要求小于4Gbps,建议使用 ×××;
  • 若是应用须要更加稳定的链路,更大的带宽,更低的访问延时,考虑使用 Direct Connect。

2.六、IAM 建议

  • 将 IAM 策略应用到组,避免应用到单个用户;
  • 使用 IAM 角色能够避免在代码中硬编码用户访问秘钥;
  • 重要用户启用 MFA;
  • 务必配置密码策略,按期轮换秘钥和密码。

3、数据分级及保护

3.一、KMS 存储加密建议

根据企业需求或合规需求,对数据进行分级;
根据不一样的数据级别制定不一样的加密策略。架构

3.二、传输中的数据加密 TLS

  • 使用 ××× 对传输中的数据进行加密。
  • 使用 HTTPS 证书对传输中的数据进行加密,建议在 ELB 上卸载证书,ELB 至后端 EC2 明文传输;
  • 若是但愿端到端加密,建议选择由 ELB 先卸载 TLS 证书,再同后端的 EC2 创建加密通道。

4、安全运维,监控及日志管理

4.一、CloudTrail 审计日志

  • 永远在全部的区域启用 CloudTrail;
  • 将 CloudTrail 日志存储到独立的审计帐户 S3 存储桶中,并利用 S3 生命周期管理,长期保存。

4.二、VPC Flow Logs

  • 在 Trouble Shooting 时启用 Flow Logs;
  • 在应用测试,调试,试运行以及上线初期启用 Flow Logs;
  • 配合 Splunk 等商业软件使用。

4.三、AWS Config

建议启用 AWS Config。运维

4.四、Config Rule 启用建议

  • 从启用 AWS 托管规则开始;
  • 根据企业自身安全基线要求,或者合规要求,本身编写规则,实现 Compliance as Code。

5、实践相应及自动化