写点什么

通过 AWS Config 管理 AWS 服务配置

  • 2019-11-18
  • 本文字数:4481 字

    阅读完需:约 15 分钟

通过AWS Config 管理AWS服务配置

在之前的一篇安全相关的文章《从永恒之蓝开始,安全防范没有结束》中,提到通过 AWS Config 自动规范 AWS 服务的安全、合规方面的配置。


为更好遵从各行业的合规要求,构建安全的 IT 环境,企业的安全团队一般都会在明确安全/管理边界的前提下,选择相关安全框架,用对应的风险评估方法梳理出符合自身业务特点的安全模型。根据安全模型,通常也会用各种文档标准化抽象为各种管理策略,例如可能包含以下常见的内容:


  • 用户权限策略

  • 访问控制策略

  • 服务器安全策略

  • 应用接入策略

  • 网络分区策略

  • 数据传输策略

  • 数据存储策略

  • 备份归档策略

  • 日志记录策略

  • 审计管理策略


……….


在实际的应用场景中,标准策略可能会因为业务的变化或管理方式的变化动态调整,如何持续评估和审核在 AWS 云端的资源配置的合规性是否与企业规划一致?如何帮助用户在云端更好的实现变更管理,安全分析甚至自动修正不合规的配置 ?这种场景下,可以考虑用 AWS Config 服务来帮忙。

一、AWS config 是什么

AWS Config 是一项托管服务,借助 Config 您可以盘点 AWS 资源、查看配置更改以及 AWS 资源之间的关系并深入探究详细的资源配置历史记录。使用 Config,还能通过自定义规则来定义所需的资源配置、内部最佳实践和指南,并依据这些规则评估您记录的配置。


AWS Config 的主要应用功能:


  • 评估您 AWS 资源配置是否具备所需设置。

  • 获得与您的 AWS 账户关联的受支持资源的当前配置快照。

  • 检索您的账户中的一个或多个资源配置。

  • 检索一个或多个资源的历史配置。

  • 在资源被创建、修改或删除时接收通知。

  • 查看不同资源之间的关系。例如,您可能想要找到使用特定安全组的所有资源


AWS Config 工作原理



更多 AWS Config 的信息可以参考https://aws.amazon.com/cn/config/

二、 AWS config 配置测试

为了更好了解 AWS Config 的工作过程,以下 将以 AWS 安全组的配置监控为例做一个简短测试 。

1. 测试场景:

  • 一个为 web 服务器配置的安全组,该安全组策略只允许对 Internet 开放 HTTP 和 HTTPS 两个端口;

  • 配置 AWS Config 规则,当该安全组配置规则中添加了其他端口时,AWS Config 自动记录,并触发修复机制自动删除新加入的不合规的配置。

2. 配置过程

**a. 权限准备。**为成功配置 AWS Config 规则,需要创建 IAM 角色,授予 AWS Config 权限,使其可以访问 Amazon S3 存储桶、Amazon SNS 主题,获取受支持的 AWS 资源的配置详细信息。IAM 内置了一个 AWSConfigRole 的托管策略 。



新建一个 IAM Role 命名为 awsconfigrole, 可以直接附加该策略:



另外,测试过程中将使用 lambda 自动对安全组执行安全组操作,cloudwatch log 操作,也需要建立好对应的 IAM role 并编辑策略赋予对应的权限,在测试中该 IAM role 为:awsoncifgec2security



{


"Version": "2012-10-17",


"Statement": [


{


"Effect": "Allow",


"Action": [


"logs:CreateLogGroup",


"logs:CreateLogStream",


"logs:PutLogEvents"


],


"Resource": "arn:aws:logs:*:*:*"


},


{


"Effect": "Allow",


"Action": [


"config:PutEvaluations",


"ec2:DescribeSecurityGroups",


"ec2:AuthorizeSecurityGroupIngress",


"ec2:RevokeSecurityGroupIngress"


],


"Resource": "*"


}


]


}


**b. 配置 AWS Config Setting。**在 AWS 控制台,打开 AWS Config ,具体过程可以参考:http://docs.aws.amazon.com/zh_cn/config/latest/developerguide/gs-console.html


在本测试过程中,我们选择资源类型为 SecurityGroup:



在配置过程中,指定一个存储桶保存日志,并指定预先为 AWS Config 的 IAM Role ,当然也可以在这个步骤选择新建角色:



在上述页面中,可以选择是否通过 SNS 启用通知将信息流式传输到 Amazon SNS 主题,发送配置历史记录传输、配置快照传输和合规性等通知。


在 Resources 页面中验证一下,评估的对象是否能正常的筛选出来,本例中我们是对测试的安全组进行查找:



**c. AWS Config 规则配置。**AWS Config 提供一些内置的规则,也支持自定义规则创建。在前文中提及测试的背景中需要通过自动机制保证安全组规则符合设定的合规配置,我们将通过 lambda 完成该步骤。在创建规则的过程中,按向导设置规则名称,点击新建 lambda 功能按钮:




在 lambda 创建过程中,选择 blank blueprint 并为函数指定 runtime 为 python2.7 ,将准备好的代码保存在 s3(可以在 github 中找到相关代码参考,比如https://github.com/awslabs/aws-config-rules )并上传。


Lambda 函数主要完成以下工作:


  • lambda 函数中按照要求只开启 tcp 80 和 tcp 443 端口;

  • 如果有其他端口添加到配置规则中将被删除,最终保证安全组的配置规则条目中只有 tcp80 和 tcp443 相关的配置;

  • 相关的操作将记录在 cloudwath logs 中。


在创建过程中,为 lambda 指定对应的 IAM Role.



lambda 创建完成后,需要在 AWS Config 规则页面中指定 Lambda ARN, 配置触发器。本例中,当安全组配置发生变化时即触发对安全组的评估,也可以配置按照时间周期的评估对象。 另外,为了详细记录评估信息,为规则启用 debug 级别的记录。



AWS config 规则后,当前的安全组配置将自动被评估。



**d. 验证。**为触发 AWS Config 对安全组的评估, 我们在对应的安全组规则中除 tcp 80 和 tpc443,额外新添加 tcp445 端口。在 cloudwathc logs 中创建了 logs group,可以进行相关日志查看:



在日志中可以清楚看到对安全组有 revoking 的行为,操作的端口正是额外添加的 tcp445 , 并且最终将安全组只开启 tcp80 和 tcp443 端口。

三、进一步讨论

在上述测试过程中,大致可以了解 AWS Config 的工作机制和配置流程,下面进一步对一些场景的应用场景做进一步说明。

资产发现

AWS Config 不仅会发现账户中的资源、记录其当前配置并捕获对这些配置所做的任何更改,Config 还会保留已删除资源的详细配置信息。所有资源及其配置属性的完全快照在您的账户中提供完整的资源库。


持续安全分析

AWS Config 提供的数据可使您持续监控您的资源配置情况,并评估这些配置是否具有潜在的安全弱点。对您的资源配置进行更改,将触发系统发送 Amazon Simple Notification Service (SNS) 通知,这些通知可发送给您的安全团队,以便他们查看通知并采取相应措施。发生潜在的安全事件后,您可以使用 Config 查看资源的配置历史记录并检查您的安全状况。


正如测试过程中展示,企业 IT 团队只需明确制定相关的策略,配置 AWS Config 规则,AWS Config 提供了托管规则和自定义规则,能满足各种就能持续监控相关的安全标准是否合规。借助 AWS Config,利用 AWS Lambda 中的自定义规则将合规性要求编制成代码,这些代码会定义资源配置内部最佳实践和指南。您可以使用 Config 自动评估您的资源配置和资源更改,从而确保整个 AWS 基础设施实现持续合规性和自主监管。通过这个机制,为企业的安全自动化提供了一个可行选项。

变更管理

在创建、更新或删除资源时,AWS Config 会将这些配置更改流式传输到 Amazon Simple Notification Service (SNS),如此便会收到所有配置更改通知。根据通知机制也可以考虑引入基于事件触发的机制,进一步集成各个管理环节。



在 AWS Config 按照既定规则完成评估后,可以在规则的详细信息中查看到具体的变更事件记录:



审计

AWS CloudTrail 将记录账户上的用户 API 活动,将保存有关 API 操作的完整详细信息,如发起人的身份、该 API 调用的时间、请求参数和 AWS 服务返 。AWS Config 与 AWS CloudTrail 集成 ,回答“谁进行了修改此资源的 API 调用?”例如下图, 使用集成的 AWS CloudTrail 信息,可以发现是哪个用户错误配置了安全组。




综合上述讨论,企业内部资产管理团队可以清楚明确当前在 AWS 云端的数字资产,安全团队可以将严格制定的安全体系持续的在云端自动化运行,任何相关的变更和配置管理都能详尽的记录,方便后续的审计。


更多关于 AWS Config 的一些常见问题可参考:https://aws.amazon.com/cn/config/faq/


作者介绍



李艺明


AWS 解决方案架构师,负责基于 AWS 的云计算方案架构规划和咨询。在企业数字化转型,物联网和大规模并发场景有广泛的规划和实践经验。拥有超过 10 年的 IT 从业经验,为各种规模的企业客户提供 IT 项目实施和顾问服务。在加入 AWS 之前,服务于微软担任解决方案工程师,负责 Windows Azure 方案和架构设计,在此之前负责企业私有云和企业协同应用系统的架构规划和设计。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/management-by-aws-config/


2019-11-18 08:00906

评论

发布
暂无评论
发现更多内容

Petal 出行新人超值百元大礼包,中秋国庆优惠等你领!

最新动态

KubeCon China 2023 | 以开源促进智能世界底座共建,给世界提供更好选择

新消费日报

Mac如何内录系统声音

展初云

录屏 Mac软件

QCN6274 VS QCN9274|QCN9074 VS QCN6122|Exploring the World of Wi-Fi 6E and the Latest Chip Innovations

wallyslilly

QCN9074 QCN6122 qcn9274 qcn6274

【AIGC】只要10秒,AI生成IP海报,解放双手!!! | 京东云技术团队

京东科技开发者

人工智能 IP AIGC 企业号9月PK榜

CPU性能指标简览

DevOps和数字孪生

仿真建模 CPU性能

关于 TDengine 的论文资料都在这里了,等你来取!

TDengine

时序数据库 国产数据库 ​TDengine

英伟达张玮东:NVIDIA核心GPU技术与软件生态助力大模型开发和部署

TRaaS

英伟达 大模型训练

打造香港最安全便捷的银行,众安银行发布首份技术白皮书

ZA技术社区

科技 众安保险 ZA Bank 虚拟银行

实战指南,SpringBoot + Mybatis 如何对接多数据源

华为云开发者联盟

大数据 华为云 华为云开发者联盟 企业号9月PK榜

分分钟搞定来源list添加到目标list,据说只要5%的人知道

SoFlu软件机器人

苹果电脑pdf文档大小压缩推荐 PDF Squeezer激活中文最新版

胖墩儿不胖y

Mac软件 pdf编辑器 pdf处理工具

AI编程助手工具,走过路过别错过

SoFlu软件机器人

徐刚:AIGC时代,人力资源数智化的关键趋势与应对

用友BIP

人力资源 AIGC

DxO PureRAW for Mac(RAW照片处理器)v3.6.0永久激活版

mac

苹果mac Windows软件 DxO PureRAW raw智能照片处理工具

中秋国庆花式玩法,用低代码DIY假日大屏“Vlog”

华为云开发者联盟

低代码 开发 华为云 华为云开发者联盟 企业号9月PK榜

WIFI7-802.11be/EHT-IPQ9574-IPQ9554-QCN9274-QCN6274 support-320/240MHz and Multi-RU technology

wifi6-yiyi

WiFi7 ipq9554 802.11be

强强联合!天翼云与神州信息共助银行数字化转型升级!

天翼云开发者社区

数据库 云计算

DApp区块链公链智能合约质押挖矿系统开发

l8l259l3365

专业强大的字体管理软件:RightFont 直装激活最新版

mac大玩家j

字体设置 Mac软件 字体设计 字体管理工具

1分钟完成1000万key数据对比

NineData

redis Redis 核心技术与实战 redis 精讲 数据对比 NineData

ARTS-week7(23.9.25-23.9.30)

EchoZhou

牵引数字经济重要增长极,天翼云智能边缘云助力元宇宙加速发展!

天翼云开发者社区

云计算

“开放原子开源大赛”来袭, inBuilder低代码开发创新赛火热报名中!

inBuilder低代码平台

MAC手动修复『已损坏』问题 终端运行命令报错处理

展初云

Mac Mac软件

软件测试/测试开发丨岗位内推-58同城岗位开放

测试人

软件测试 招聘 校招 岗位内推

基于Java开发的工作流系统(springboot+activiti源码)

金陵老街

springboot Activit

元服务助力山东舜和酒店数字化转型,促鸿蒙生态繁荣!

最新动态

DxO FilmPack 6 for Mac(胶片模拟效果滤镜软件) 6.15.0完美激活版

mac

图像处理软件 苹果mac Windows软件 DxO FilmPack 6

通过AWS Config 管理AWS服务配置_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章