在使用公有云服务的时候,云安全问题一直是备受关注的话题。随着云计算的快速发展,传统的信息安全技术已经不能满足云计算的信息安全要求,同时,恶意软件、数据泄露、用户身份认证等安全问题也成为云时代的安全挑战。
应对这些问题,云厂商也提供了很多的安全保护措施和云端的安全解决方案,了解、并利用好这些方案,将为我们的云端数据和应用带来强劲的保护。在光环云社群1月2日的在线直播《云时代从AWS看云安全》上,李成文(网名:重生的胖胖)老师就与我们分享了AWS在云安全方面的解决方案。
以下是本次直播的精华内容回顾:
AWS的安全框架
AWS从四个方面对云安全提供了相应的解决方案,包含了ID访问控制,检测式控制,基础设置保护和数据保护,其中每个方面都提供了一些对应的服务来帮助大家实现云上的安全。
首先是ID访问控制,包含了IAM,SSO,AWS DS,Cognito等服务。
然后是检测式控制,包含了Security Hub, GuardDuty, Inspector, Macie和Detective。
下面是基础设置保护,包含了shield,WAF和Firewall manager
最后是数据保护,包括了KMS,CloudHSM和Certificate manager
我们在了解了安全框架以后,还需要理解一个责任共担模式:作为服务提供商,AWS将自己的责任和客户的责任进行了一个区分,AWS负责基础设施方面的安全,其他的方面则由客户自己负责。但请大家注意,这只是一个理论模型, 在现实生活中,AWS提供了不同的服务并配以不同的责任模式,具体可以看下文介绍。
AWS账户安全服务
AWS公司提供IAM,cognito和secrets manager等服务来对账户的安全进行保护。
AWS Identity and Access Management (IAM)
使用 AWS IAM,您可以安全控制对 AWS 资源的个人访问权限或组访问权限。您可以创建并管理用户身份(“IAM 用户”),并授予这些 IAM 用户访问您资源的权限。您也可以为 AWS 以外的用户( 联合用户)授权。
Amazon Cognito
借助 Amazon Cognito,您可以快速轻松地为 Web 和移动应用程序添加用户注册/登录和访问控制功能。Amazon Cognito 可将用户规模扩展到数百万,并支持通过 SAML 2.0 使用社交身份提供商 (如 Facebook、Google 和 Amazon) 以及企业身份提供商进行登录。
AWS Secrets Manager
AWS Secrets Manager 可帮助您保护访问应用程序、服务和 IT 资源所需的密钥。该服务使您能够轻松地跨整个生命周期轮换、管理和检索数据库凭证、API 密钥和其他密钥。
AWS实例安全服务
实例安全服务 – Iaas
AWS 托管实例 EC2
Amazon Elastic Compute Cloud (Amazon EC2) 是一种 Web 服务,可以在云中提供安全并且可调整大小的计算容量。
该服务旨在让开发人员能够更轻松地进行 Web 规模的云计算。Amazon EC2 的 Web 服务接口非常简单,您可以最小的阻力轻松获取和配置容量。使用该服务,您可以完全控制您的计算资源,并可以在成熟的 Amazon 计算环境中运行。
实例安全服务 – Paas
AWS Elastic Beanstalk
AWS Elastic Beanstalk 是一项易于使用的服务,用于在熟悉的服务器(例如 Apache 、Nginx、Passenger 和 IIS )上部署和扩展使用 Java、.NET、PHP、Node.js、Python、Ruby、GO 和 Docker 开发的 Web 应用程序和服务。
您只需上传代码,Elastic Beanstalk 即可自动处理从容量预置、负载均衡、自动扩展到应用程序运行状况监控的部署。同时,您能够完全控制为应用程序提供支持的 AWS 资源,并可以随时访问底层资源。
Elastic Beanstalk 不额外收费,您只需为存储和运行应用程序所需的 AWS 资源支付费用。
实例安全服务 – Saas
AWS Lambda
通过 AWS Lambda,无需预置或管理服务器即可运行代码。您只需按使用的计算时间付费 – 代码未运行时不产生费用。借助 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码,而且完全无需管理。只需上传您的代码,Lambda 会处理运行和扩展高可用性代码所需的一切工作。您可以将您的代码设置为自动从其他 AWS 产品触发,或者直接从任何 Web 或移动应用程序调用。
实例安全服务
AWS Systems Manager
AWS Systems Manager 是一项管理服务,可以帮助您自动收集软件清单、应用操作系统补丁、创建系统映像以及配置 Windows 和 Linux 操作系统。这些功能可以帮助您定义和跟踪系统配置、防止出现偏差,并保持 EC2 和本地配置的软件合规性。通过提供在设计上具备云的规模和敏捷性,又能扩展到您的本地数据中心的管理方法,Systems Manager 使您可以更轻松地将现有基础设施与 AWS 无缝连接。
AWS网络安全服务
NSG是一个配置在单个或者多个实例的虚拟防火墙,可以控制进出两个方向,默认是禁止访问。
利用NSG,我们可以控制允许访问,也就是为来访的IP地址单独打开端口。请注意,我们只能允许访问。如果需要禁止访问则需要用到ACL,访问控制列表。作为实例级的服务,NSG的配置是放在EC2下。
ACL是配置在子网上的,不是实例上,所以这个服务是在VPC下配置的。ACL在默认状态下是允许一切的网络流量,如果我们需要单独阻止一个或者多个IP地址或者端口,则需要设置相应的规则来阻止访问。
在这里需要说一下NSG是有状态的服务而ACL则是无状态的。NSG在对来访IP在进入方向允许访问以后,那么在出口方向则自动允许相应的配置,这就是有状态的,也就是你只需要配置进入方向的规则就行。 而ACL需要双向配置,不然外来访问还是不通的。
通过NSG和ACL的搭配使用,我们可以很好的控制来访的IP地址和端口。
AWS WAF – Web 应用程序防火墙
AWS WAF 是一种 Web 应用程序防火墙,可帮助保护您的 Web 应用程序或 API 免遭常见 Web 漏洞的攻击,这些漏洞可能会影响可用性、损害安全性或消耗过多的资源。AWS WAF 允许您创建防范常见攻击模式(例如 SQL 注入或跨站点脚本)的安全规则,以及滤除您定义的特定流量模式的规则,从而让您可以控制流量到达您的应用程序的方式。您可以通过适用于 AWS WAF 的托管规则快速入门,这是由 AWS 或 AWS Marketplace 卖家托管的一套预配置规则。适用于 WAF 的托管规则可以解决 OWASP 十大安全风险等问题。这些规则会随新问题的出现定期更新。AWS WAF 包含功能全面的 API,借此您可以让安全规则的创建、部署和维护实现自动化。
AWS Shield
AWS Shield 是一种托管式分布式拒绝服务 (DDoS) 防护服务,可以保护在 AWS 上运行的应用程序。AWS Shield 提供持续检测和自动内联缓解功能,能够尽可能缩短应用程序的停机时间和延迟,因此您不需要联系 AWS Support 来获得 DDoS 防护。
AWS数据安全
AWS Key Management Service (KMS)
AWS Key Management Service (KMS) 可让您轻松创建和管理加密密钥,并控制其在各种 AWS 服务和应用程序中的使用。
AWS KMS 是一种安全且有弹性的服务,它使用已经过 FIPS 140-2 验证或正在验证的硬件安全模块来保护您的密钥。AWS KMS 还能与 AWS CloudTrail 集成,从而为您提供所有密钥的使用记录,帮助您满足监管和合规性要求。
AWS Certificate Manager
AWS Certificate Manager 是一项服务,可帮助您轻松地预置、管理和部署公有和私有安全套接字层/传输层安全性 (SSL/TLS) 证书,以便用于 AWS 服务和您的内部互联资源。SSL/TLS 证书用于保护网络通信的安全,并确认网站在 Internet 上的身份以及资源在私有网络上的身份。使用 AWS Certificate Manager,您无需再为购买、上传和续订 SSL/TLS 证书而经历耗时的手动流程。
AWS安全监控与管理
上面讲了那么多安全相关的服务,那么如果我们使用了这些服务,如果得知它们是否工作正常呢?如果有警报或者错误该怎么办呢?AWS对于这些疑问都提供了相应的服务。
Amazon CloudWatch
Amazon CloudWatch 是一种面向开发运营工程师、开发人员、站点可靠性工程师 (SRE) 和 IT 经理的监控和可观测性服务。CloudWatch 为您提供相关数据和切实见解,以监控应用程序、响应系统范围的性能变化、优化资源利用率,并在统一视图中查看运营状况。CloudWatch 以日志、指标和事件的形式收集监控和运营数据,让您能够在统一查看在 AWS 和本地服务器上运行的资源、应用程序和服务。您可以使用 CloudWatch 检测环境中的异常行为、设置警报、并排显示日志和指标、执行自动化操作、排查问题,以及发现可确保应用程序正常运行的见解。
AWS CloudTrail
AWS CloudTrail 是一项支持对您的 AWS 账户进行监管、合规性检查、操作审核和风险审核的服务。借助 CloudTrail,您可以记录日志、持续监控并保留与整个 AWS 基础设施中的操作相关的账户活动。CloudTrail 提供 AWS 账户活动的事件历史记录,这些活动包括通过 AWS 管理控制台、AWS 开发工具包、命令行工具和其他 AWS 服务执行的操作。此事件历史记录可以简化安全性分析、资源更改跟踪和问题排查工作。 此外,您可以使用 CloudTrail 来检测 AWS 账户中的异常活动。这些功能可帮助您简化分析和问题排查。
AWS VPC Flow Logs 网络流量日志
VPC Flow Logs可以用来监控和截取网络传输中双向的数据,包括进入或者流出的数据,并生成对应的日志,以便管理员在遇到网络相关问题的时候进行检查和拍错。
这里通过一个AWS经典最佳实践来说明一下AWS在推荐的系统部署中如何实现安全的。
如上图所示:首先看一下基础框架, 经典的三层结构,所有的服务器都在内网。每个子网都有自己的NSG网络安全组,对外的访问全部通过路由表指向到NAT网关。在公有子网中只有NAT网关,堡垒机和ALB应用程序负载平衡。外来访问都是通过ALB再发送到web服务器。这样实现了内外阻断。唯一可以从来访问内网的方法就是通过堡垒机来实现。
所有的服务器都是多可用区部署,实现了服务的高可用性和数据的冗余。利用IAM和KMS来实现对访问的管控,内部数据传输和保存的加密。而Cloudwatch则用来监控整个系统的运行状况。
从安全的角度来看,这个最佳实践还欠缺一些服务,比如AWS WAF,Shield。这个案例里还有哪些安全隐患?如何才能解决这些问题?这个问题留给大家思考。
以上就是本次直播的精华内容了。了解AWS更多云安全方面的内容,你可以查看AWS 安全性最佳实践白皮书,或官网上关于云安全的介绍:https://aws.amazon.com/cn/security/
获取直播回顾视频,请添加光环云活动助手微信:Sinnet-cloud 索要。
下期直播预告
1月15日起,我们将为您推出“云与数字化转型”系列直播内容,第一期,由光环云讲师、AWS认证解决方案架构师陈昕老师来为我们分享《云时代企业的机遇和挑战》,直播活动报名已经开启。请扫描如下海报太阳码报名。