AWS 云上安全最佳实践

一、账号及访问管理

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。

五、实践相应及自动化

posted @ 2019-07-15 13:55  小水滴18  阅读(1181)  评论(0编辑  收藏  举报