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。
五、实践相应及自动化
AWS 云上安全最佳实践的更多相关文章
- 基于AWS的云服务架构最佳实践
ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...
- Knative 应用在阿里云容器服务上的最佳实践
作者|元毅 阿里云智能事业群高级开发工程师 相信通过前面几个章节的内容,大家对 Knative 有了初步的体感,那么在云原生时代如何在云上玩转 Knative?本篇内容就给你带来了 Knative 应 ...
- 【AWS】使用X-Ray做AWS云上全链路追踪监控系统
功能 AWS X-Ray 是一项服务,收集应用程序所请求的相关数据,并提供用于查看.筛选和获取数据洞察力的工具,以确定问题和发现优化的机会. 对于任何被跟踪的对您应用程序的请求,不仅可以查看请求和响应 ...
- 容器服务 TKE 存储插件与云硬盘 CBS 最佳实践应用
引言 随着自研上云的深入,越来越多的有状态服务对于在 TKE 集群中使用云上存储能力的需求也越来越强烈. 目前腾讯云容器服务 TKE(Tencent Kubernetes Engine已支持在 TKE ...
- Aggregated APIServer 构建云原生应用最佳实践
作者 张鹏,腾讯云容器产品工程师,拥有多年云原生项目开发落地经验.目前主要负责腾讯云 TKE 云原生 AI 产品的开发工作. 谢远东,腾讯高级工程师,Kubeflow Member.Fluid(CNC ...
- 阿里云应用高可用 AHAS 正式商用,可一键提升云上应用可用性
在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战. 7月17日,阿里云应用高可用服务AHAS 正式商用,包含架构感知.流控降 ...
- 探索云数据库最佳实践 阿里云开发者大会数据库专场邀你一起Code up!
盛夏.魔都.科技 三者在一起有什么惊喜? 7月24日,阿里云峰会·上海——开发者大会将在上海世博中心盛大启程,与未来世界的开发者们分享数据库.云原生.开源大数据等领域的技术干货,共同探讨前沿科技趋势, ...
- “行业客户云原生最佳实践日” 亮相KubeCon上海
2018年11月13日至15日,由CNCF主办的KubeCon + CloudNativeCon将首次登陆中国上海,这是全球范围内规模最大的Kubernetes和云原生技术盛会. 唯一聚焦客户实践的分 ...
- fir.im Weekly - 2016 年 Android 最佳实践列表
2016 年已经过去一半,你在年初制定的成长计划都实现了吗? 学海无涯,技术成长不是一簇而就的事情.本期 fir.im Weekly 推荐 王下邀月熊_Chevalier的 我的编程之路--知识管理与 ...
随机推荐
- 你所不知道的printf函数
#include <stdio.h> int main(void) { int a = 4; int b = 3; int c = a / b; float d = *(float *)( ...
- java对象转换
对象转换: 对象的分层涉及到各个层级之间的对象转换(Entity2DTO , DTO2VO, VO2DTO,DTO2Entity等),传统的采用set/get 方法硬编码实现写的代码比较多:或者采用B ...
- 理解git 中的HEAD指针&branch指针
理解git 中的HEAD指针&branch指针 Yooye关注 2019.02.28 10:44:32字数 492阅读 668 HEAD指针 使用git checkout 来移动HEAD指针, ...
- JQ实现点击两个按钮切换内容
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- docker笔记--容器之间如何互相免密?
在使用docker搭建hadoop分布式集群的时候,需要各容器之间相互免密登录,传统的方式我想或许会很麻烦,特别是当容器达到几百上千台的时候,这时就需要有一种方式来更简单实现免密登录了. 环境介绍: ...
- Spring boot + mybatis 只读取到一个jar包中的mapper配置文件
采用spring boot 开发了一个多模块项目,有多个模块中都有mapper配置文件. 采用如下的方式配置,制度去到了一个模块jar包中配置文件: @Bean(name = "sqlSe ...
- 小程序 image跟view标签上下会有间隙
图片文字等inline元素默许是跟父级元素的baseline对齐,而baseline又和父级底边有必定间距 我是使用: 加上这个消除了间隙,如果没有解决,你可以分别用 vertical-align:t ...
- 编程微语 2019-Summer
不支持重新生成不是好的代码生成器.重新生成就会覆盖手工修改,实用性大打折扣.相比工具,更接近玩具.2019-05-04 有很多个标准,各自为政,就相当于没有标准.目前地球的文档(如纯文本/Word/P ...
- sqlserver 动态sql执行execute和sp_executesql
sp_executesql的运用 书写语法要点: exec sp_executesql @sql,N’参数1 类型1,参数2 类型2,参数3 类型3 OUTPUT’,参数1,参数2,参数3 OUTPU ...
- 编译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