序言
一直以来,公有云安全是横亘在广大用户面前的一道鸿沟。云安全(Cloud Security)是指用于控制云计算的安全性、合规性和其他使用风险的过程、机制和服务。公有云提供商们都强调安全是其最高优先级工作,动辄就发布上百页的云上安全最佳实践白皮书,举办几百几千人安全大会,发布几十甚至上百个安全服务。但与此同时,用户们对云上安全的担心一直挥之不去。在福布斯(Forbes)2019年的一份报告中,66%的IT从业人员认为安全是他们使用公有云服务最大的担心。Gartner预测到2020年,至少50%的企业用户会在不知情或误操作地将一些IAAS存储服务、网络、应用或API直接暴露到互联网上,而到2023年,至少99%的云上安全问题都是用户的错误引起的。
正文
那到底是什么造成了这条鸿沟呢?笔者认为原因主要有三:一是用户不知道自己该为云中安全承担什么责任,二是用户不知道云中安全服务的用途和用法,三是用户不知道要为自己的应用选择哪些安全服务。只有对症下药,从明确自己的责任开始,在了解云中的安全服务后,再选择合适的安全服务,才能跨越鸿沟,开启云中安全之旅。
第一步:明晰职责 – 搞清楚你要为云中安全承担的责任
要实施成功的云安全,第一要务是分清云提供商和作为用户的你的责任。公有云中的安全性和本地数据中心中的安全性有所不同。在传统数据中心安全模型中,你要为全部的安全性负责,包括机房、物理网络、物理服务器、虚拟机、应用等等。当负载被迁移到了公有云上后,一部分安全责任由公有云提供商承担了,但企业安全团队依然需要承担部分安全责任。此时,安全模型变成了安全责任共担模型,也就是说你和公有云提供商一起来为你在他们云中的应用的安全负责。
Amazon Web Service(AWS)是全球最大公有云提供商。其安全责任共担模型(Shared Responsibility Model)明确指出,AWS负责提供安全的基础设施和服务,而客户负责保护操作系统、平台和数据。
图1:AWS安全责任共担模型(基础设施服务)
在AWS安全共担模型中,AWS负责保障云“的”安全性,这是AWS的第一责任。以可用区(Availability Zone,AZ)为例,这是AWS云基础设施的一部分,AWS负责为数百万活跃客户提供安全的可用区。AWS云的每个可用区由两个或以上的互相隔离的数据中心构成,数据中心之间有足够的隔离距离,每个数据中心有独立的电力供应,数据中心采用冗余高速网络互连等等。
图2:AWS可用区设计
AWS有一整套安全制度来保障每个数据中心的安全平稳运行。比如每个数据中心内部都采用视频监控,结合AWS的Kinesis Video Stream、S3以及人工智能等服务,来对视频做实时传输、存储和分析,实时发现可能存在的问题。
图3:AWS对其机房实时视频监控
而你,作为AWS 云的一用户,则需为云“中”的安全性负责,这包括以下五个部分:
第二步:了解工具 – 搞清楚云服务商提供了哪些安全服务
AWS首席信息安全官史蒂芬·施密特曾经说过:“客户常常跟我们说,帮他们保持安全最好的方式,就是交给他们更智能的工具,让他们可以更容易地搞定安全。”为了帮助用户实现上述五大安全责任,到目前为止,AWS提供超过200种身份认证、安全及合规服务。下表中列出了AWS主要安全服务。
类别 | 描述 | 场景 | 安全服务 |
---|---|---|---|
身份和访问管理 | 针对不同AWS服务、操作和资源来定义、执行和审核用户权限 | 安全地控制对AWS服务和资源的访问 | AWS Identity & Access Management (IAM) |
云单点登录服务 | AWS Single Sign-On | ||
App身份管理 | Amazon Cognito | ||
托管的Microsoft Active Directory服务 | AWS Directory Service | ||
用于共享AWS资源的简单而安全的服务 | AWS Resource Access Manager | ||
基础策略管理多个AWS账户 | AWS Organizations | ||
轮换、管理以及检索数据库凭证、API密钥和其它密钥 | AWS Secrets Manager | ||
检测性控制 | 在问题影响业务之前识别和应用问题、改进安全状况并降低环境中的风险 | 统一安全与合规中心 | AWS Security Hub |
智能威胁检测和持续监控 | Amazon GuardDuty | ||
分析应用程序安全性 | Amazon Inspector | ||
记录和评估AWS资源的配置 | AWS Config | ||
跟踪用户活动和API使用情况 | AWS CloudTrail | ||
物联网设备的安全管理服务 | AWS IoT Device Defender | ||
利用机器学习自动发现、分类和保护敏感数据 | Amazon Macie | ||
生成进出VPC的IP流量的日志信息 | VPC Flow Logs | ||
基础设施保护 | 管理和提高基础设施的整体安全性 | 分布式拒绝服务攻击防护 | AWS Shield |
过滤恶意网络流量 | AWS Web Application Firewall (WAF) | ||
跨账号管理AWS WAF规则 | AWS Firewall Manager | ||
安全地配置和管理EC2 | AWS Systems Manager | ||
数据保护 | 通过数据的自动加密和管理服务,增强数据安全性 | 创建用于数据加密的加密密钥 | AWS Key Management Service (KMS) |
AWS云中托管的硬件安全模块 | AWS CloudHSM | ||
创建、管理和部署公共和私有的SSL/TLS证书 | AWS Certificate Manager | ||
回滚、管理以及回收密钥 | AWS Secrets Manager | ||
通过多种密钥对S3中的数据进行服务器端加密 | AWS S3 Server-side Encryption | ||
事件响应 | 帮助快速响应时间并返回到已知的良好状态 | 调查潜在安全问题 | Amazon Detective |
快速、自动、经济高效地灾难恢复 | CloudEndure Disaster Recovery |
表1:AWS主要安全服务
AWS所有这些安全服务,构成了一个多层次的完整保护机制,为你在AWS云中的应用保驾护航。
图4:AWS分层安全保护机制
除了安全服务外,AWS还在AWS Architecture Center(AWS架构中心)网站上提供了最佳参考架构方案、工具、培训和实验,涵盖敏捷性、安全性、可靠性、高性能和成本等多个方面。而且,在AWS Marketplace中,还有几百家安全合作伙伴,在应用安全、数据保护、合规、主机安全、身份和访问控制、日志和威胁检测等提供众多工具和方案。
了解每种安全服务的用途、使用场景、工作流程乃至计费方式等非常重要。下面就深入介绍下Security Hub和GuardDuty这两种安全服务。
(一)Amazon GuardDuty 服务
在AWS环境中,对网络活动和账户行为进行持续监控非常重要。启用CloudTrail后,AWS账户内几乎所有API调用活动都会记录下来,但从海量日志中发现可疑活动会非常困难。VPC流日志服务负责记录的VPC内的网络活动也是如此。为了解决这些困难,AWS发布了Amazon GuardDuty服务,它通过分析多个日志数据源(包括VPC流日志、AWS CloudTrail事件日志和DNS查询日志),持续监测AWS账号、VPC网络和负载的运行情况,使用威胁情报源和机器学习来标识AWS 环境中可疑的和未经授权的恶意活动,而且还可利用Amazon CloudWatch事件和AWS Lambda来执行自动化的通知和修复操作。
图5:Amazon GuardDuty产品架构
Amazon GuardDuty会使用由AWS安全团队负责维护和不断改进的算法来进行日志检测。主要检测类别包括非法探测、实例盗用和账号盗用等,而且还在持续增加中。
图6:不断增加中的GuardDuty能发现的安全风险类型数
然后,它将分析结果按照三个级别 (低、中和高) 之一呈现出来,并附有详细的证据和修复建议。
图7:Amazon GuardDuty截图
这些结果可作为事件输入到 Amazon CloudWatch之中,再使用AWS Lambda 函数来自动通知甚至修复特定类型的问题。在下图所示的例子中,GuardDuty收集日志里的数据进行分析并将结果存放在S3中,同时通过CloudWatch Events采集特定的安全事件或风险等级事件。对于中等风险,通过AWS SNS服务邮件通知管理员,对于高风险则通过AWS Connect结合AWS Lambda电话通知管理员。
图8:基于 Amazon GuardDuty 威胁级别的自动化通知
(二)AWS Security Hub
实现云上安全的一大挑战是可视性(Visibility)。你可能会用到多种安全工具,每种工具都会提供安全保护并产生大量数据,这使得你得每天在这些工具之间来回切换,处理数百甚至数千个安全警报。
为了解决此问题,AWS发布了Security Hub服务,它可让你在一个可视化平台上就能查看AWS账户中的所有安全警报与合规性状态。它对来自多个AWS服务(如Amazon GuardDuty、Amazon Inspector 和 Amazon Macie),以及AWS合作伙伴(比如Splunk, Qualys, Crowdstrike, Alert Logic等)的解决方案的安全警报或检测结果进行聚合、组织和设置优先级,然后在具有可操作图形和表格的集成控制面板上对所有检测结果进行直观汇总。
图9:AWS Security Hub产品架构
GuardDuty从VPC流日志、AWS CloudTrail事件日志和DNS日志中发现AWS账户、VPC网络和负载中的安全问题,Macie则利用人工智能算法从被监控的S3存储桶中发现安全问题,Inspector从EC2实例中发现操作系统和应用的安全问题。所有安全问题都汇总到Security Hub后,它处理数据并进行关联性分析,以确定最终检测结果的优先级,然后在集成的控制面板上将所有安全检测结果汇总起来,展示出当前的安全性与合规性状态。
图10:AWS Security Hub产品界面截图
类似GuardDuty,Security Hub也支持通过CloudWatch Events与Lambda以及Step Functions集成。首先你在Security Hub配置数据来源以及响应方式,然后安全检测结果条目会被以事件(Event)形式发送到CloudWatch中,CloudWatch中的规则(Rule)被触发,然后事件信息会被推送到各种通知和事件管理或处理系统中。
图11:AWS Security Hub自动响应示例
第三步:合理选择 – 搞清楚要选择哪些安全服务为你所用
要搞清楚需为你在AWS上的应用选择哪些安全服务,还是得从你所选择的云功能服务入手。下图显示了针对一个典型三层Web应用部署架构所选择的主要安全服务。
图12:一典型Web应用部署架构中用到的安全服务
小结
需要指出的是,完整的云上安全管理流程包括识别(Identity)、保护(Protect)、检测(Detect)、响应(Respond)、恢复(Recover)等五大环节。因此,文中介绍的这三步 - 明晰责任、了解工具、合理选择,只是云上安全旅程的前几步而已,但走好这几步,你就能顺利开启你的云上安全之旅了。
图13:AWS完整安全管理流程
现在就出发,开启你的云上安全之旅吧!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有