一、账号及访问管理

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。

五、实践相应及自动化

AWS 云上安全最佳实践的更多相关文章

  1. 基于AWS的云服务架构最佳实践

    ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...

  2. Knative 应用在阿里云容器服务上的最佳实践

    作者|元毅 阿里云智能事业群高级开发工程师 相信通过前面几个章节的内容,大家对 Knative 有了初步的体感,那么在云原生时代如何在云上玩转 Knative?本篇内容就给你带来了 Knative 应 ...

  3. 【AWS】使用X-Ray做AWS云上全链路追踪监控系统

    功能 AWS X-Ray 是一项服务,收集应用程序所请求的相关数据,并提供用于查看.筛选和获取数据洞察力的工具,以确定问题和发现优化的机会. 对于任何被跟踪的对您应用程序的请求,不仅可以查看请求和响应 ...

  4. 容器服务 TKE 存储插件与云硬盘 CBS 最佳实践应用

    引言 随着自研上云的深入,越来越多的有状态服务对于在 TKE 集群中使用云上存储能力的需求也越来越强烈. 目前腾讯云容器服务 TKE(Tencent Kubernetes Engine已支持在 TKE ...

  5. Aggregated APIServer 构建云原生应用最佳实践

    作者 张鹏,腾讯云容器产品工程师,拥有多年云原生项目开发落地经验.目前主要负责腾讯云 TKE 云原生 AI 产品的开发工作. 谢远东,腾讯高级工程师,Kubeflow Member.Fluid(CNC ...

  6. 阿里云应用高可用 AHAS 正式商用,可一键提升云上应用可用性

    在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战. 7月17日,阿里云应用高可用服务AHAS 正式商用,包含架构感知.流控降 ...

  7. 探索云数据库最佳实践 阿里云开发者大会数据库专场邀你一起Code up!

    盛夏.魔都.科技 三者在一起有什么惊喜? 7月24日,阿里云峰会·上海——开发者大会将在上海世博中心盛大启程,与未来世界的开发者们分享数据库.云原生.开源大数据等领域的技术干货,共同探讨前沿科技趋势, ...

  8. “行业客户云原生最佳实践日” 亮相KubeCon上海

    2018年11月13日至15日,由CNCF主办的KubeCon + CloudNativeCon将首次登陆中国上海,这是全球范围内规模最大的Kubernetes和云原生技术盛会. 唯一聚焦客户实践的分 ...

  9. fir.im Weekly - 2016 年 Android 最佳实践列表

    2016 年已经过去一半,你在年初制定的成长计划都实现了吗? 学海无涯,技术成长不是一簇而就的事情.本期 fir.im Weekly 推荐 王下邀月熊_Chevalier的 我的编程之路--知识管理与 ...

随机推荐

  1. 你所不知道的printf函数

    #include <stdio.h> int main(void) { int a = 4; int b = 3; int c = a / b; float d = *(float *)( ...

  2. java对象转换

    对象转换: 对象的分层涉及到各个层级之间的对象转换(Entity2DTO , DTO2VO, VO2DTO,DTO2Entity等),传统的采用set/get 方法硬编码实现写的代码比较多:或者采用B ...

  3. 理解git 中的HEAD指针&branch指针

    理解git 中的HEAD指针&branch指针 Yooye关注 2019.02.28 10:44:32字数 492阅读 668 HEAD指针 使用git checkout 来移动HEAD指针, ...

  4. JQ实现点击两个按钮切换内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  5. docker笔记--容器之间如何互相免密?

    在使用docker搭建hadoop分布式集群的时候,需要各容器之间相互免密登录,传统的方式我想或许会很麻烦,特别是当容器达到几百上千台的时候,这时就需要有一种方式来更简单实现免密登录了. 环境介绍: ...

  6. Spring boot + mybatis 只读取到一个jar包中的mapper配置文件

    采用spring boot  开发了一个多模块项目,有多个模块中都有mapper配置文件. 采用如下的方式配置,制度去到了一个模块jar包中配置文件: @Bean(name = "sqlSe ...

  7. 小程序 image跟view标签上下会有间隙

    图片文字等inline元素默许是跟父级元素的baseline对齐,而baseline又和父级底边有必定间距 我是使用: 加上这个消除了间隙,如果没有解决,你可以分别用 vertical-align:t ...

  8. 编程微语 2019-Summer

    不支持重新生成不是好的代码生成器.重新生成就会覆盖手工修改,实用性大打折扣.相比工具,更接近玩具.2019-05-04 有很多个标准,各自为政,就相当于没有标准.目前地球的文档(如纯文本/Word/P ...

  9. sqlserver 动态sql执行execute和sp_executesql

    sp_executesql的运用 书写语法要点: exec sp_executesql @sql,N’参数1 类型1,参数2 类型2,参数3 类型3 OUTPUT’,参数1,参数2,参数3 OUTPU ...

  10. 编译grub时报告"grub_script.yy.c:19:22: error: statement with no effect [-Werror=unused-value]"怎么处理?

    答: 在configure时加--disable-werror选项,如下: ./configure --target=aarch64-linux-gnu --disable-werror