标签: 安全

AWS云中的WEB应用防火墙

大型的Web应用易受多种攻击,造成宕机、效率降低、数据失窃、违规罚款、品牌受损、服务中断、客户不满等。企业通常利用Web应用防火墙来保护Web应用程序。AWS WAF 是一种 Web 应用程序防火墙,让您能够监控转发到 Amazon API Gateway、Amazon CloudFront 或 应用程序负载均衡器 的 HTTP 和 HTTPS 请求,支持识别并阻拦常见的web攻击,比如SQL注入、XSS跨站、HTTP协议异常、HTTP协议畸形、命令注入、非法扫描等。

工作原理

AWS WAF可以让您可以在几分钟内设置并开始保护您的应用程序。您只需创建一个或多个Web访问控制列表(Web ACL),每个列表包含规则(定义可接受或不可接受请求/IP地址的条件集)和满足规则时要采取的操作。然后将Web ACL附加到应用程序的Amazon CloudFront分发。

从这一刻开始,通过分发到达的传入HTTP和HTTPS请求将根据相关Web ACL中的每个规则进行检查,规则的条件可以为正(允许某些请求或IP地址)或负(阻止某些请求或IP地址)。

优势和功能

针对 Web 攻击灵活提供保护

AWS WAF 规则的传播和更新只需不足一分钟时间,因此您可以在问题出现时在您的环境中快速进行安全更新。WAF 支持数百条规则,这些规则可以检查 Web 请求的任意部分,同时尽可能降低延迟对传入流量的影响。AWS WAF 可以根据您创建的规则筛选流量,从而保护 Web 应用程序免遭攻击。例如,您可以筛选 Web 请求的任意部分,例如 IP 地址、HTTP 标头、HTTP 正文或 URI 字符串。这样一来,您可以防范常见攻击模式,例如 SQL 注入或跨站点脚本。

易于部署和维护

无论是作为 CDN 解决方案的一部分部署在 Amazon CloudFront 上,还是部署在位于所有来源服务器之前的 Application Load Balancer、适用于您的 REST API 的 Amazon API Gateway 或者是适用于您的 GraphQL API 的 AWS AppSync 上,AWS WAF 都能轻松部署和保护应用程序。无需部署其他软件、无需配置 DNS、无需管理 SSL/TLS 证书,也无需进行反向代理设置。使用 AWS Firewall Manager 集成,您可以集中定义并管理规则,并在您需要保护的所有 Web 应用程序中反复使用这些规则。

使用托管规则节省时间

使用AWS WAF 托管规则,您可以快速入门并保护您的 Web应用程序或 API 免遭常见的威胁。有多种规则类型供您选择,例如解决诸如开放式 Web 应用程序安全项目 (OWASP) 十大安全风险、内容管理系统 (CMS) 特有的威胁或新出现的常见漏洞和泄露 (CVE) 等问题的规则。托管规则会随新问题的出现而自动更新,这样您就有更多的时间来构建应用程序。 

经济高效的 Web 应用程序防护

使用 AWS WAF,您只需按使用量付费。AWS WAF 属于可自定义的自助服务,基于您部署的规则数量和您的 Web 应用程序收到的 Web 请求数量进行定价。既没有最低费用,也无需预先承诺。

提高 Web 流量可见性

AWS WAF 让您能够近乎实时地查看 Web 流量,借此在 Amazon CloudWatch 中创建新的规则或警报。您可以精确控制指标的发出方式,因此可以从规则级别到完整入站流量进行监控。此外,AWS WAF 还会捕获每个接受检查的 Web 请求的完整标头数据,用于自动提供安全保护、分析或审计用途,从而提供全面的日志记录。

集成于应用程序开发流程中的安全性

AWS WAF 中的所有功能都可以通过 AWS WAF API 或 AWS 管理控制台进行配置。因此,您的开发运营团队可以在应用程序开发流程中定义特定于应用程序的规则,从而增强 Web 安全性。而且,您可以将 Web 安全问题放到开发流程链中的多个环节:从最初撰写代码的开发人员,到部署软件的开发运营工程师,再到跨组织实施安全规则组的安全管理员等。

如何收费

您需要为创建的每个 Web ACL 和针对每个 Web ACL 创建的每个规则付费。此外,您还需要为 Web ACL 处理的 Web 请求数付费。

Web ACL 每月 5.00 USD(按小时收取)

规则 每月 1.00 USD(按小时收取)

请求 每 100 万个请求 0.60 USD

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

陈汉卿

云业务事业部 | 高级系统架构师

神州泰岳软件股份有限公司·AWS战略合作伙伴

AWS Solution Provider | Migration | DevOps | Cloud Management Tools(CMT) ISV Partner

AWS云中安全合规中心

C:\Users\jiayf\AppData\Local\Temp\WeChat Files\9389aec478fcd1aaf30c98585160e19.jpg

AWS Security Hub 是一项安全与合规性服务,于2019年6月25日正式推出通用版本。Security Hub在各个区域的统一仪表板中为用户提供涵盖多个AWS账户的安全性与合规性状态的直观支持。通过此项服务,您可以监控各关键设置,保证AWS账户始终安全可靠,同时确保能够时刻关注环境中出现的各类变化、并有针对性地做出快速反应。

工作原理

优势和功能

全面查看安全问题

AWS Security Hub 会收集和整合您环境中启用的 AWS 安全服务的检测结果,例如来自 Amazon GuardDuty 的入侵检测结果、来自 Amazon Inspector 的漏洞扫描和来自 Amazon Macie 的 S3 存储桶策略检测结果。AWS Security Hub 还会整合来自集成的 AWS 合作伙伴网络 (APN) 安全解决方案的检测结果。所有检测结果都将在 AWS Security Hub 存储至少 90 天。

自动化、持续的安全性检查

使用行业标准和最佳实践,进行自动化、持续的账户和资源级配置与安全性检查。例如,AWS Security Hub 会自动执行互联网安全中心(CIS) AWS Foundations 基准,后者是一组 AWS 的安全配置最佳实践。如果您的任何账户或资源偏离最佳实践,AWS Security Hub 会标记问题并建议补救措施。

自定义响应和补救措施

将 AWS Security Hub 与 Amazon CloudWatch Events 集成后,您将能创建自定义响应和补救工作流程。您可以轻松地将检测结果发送到 SIEM、聊天工具、开单系统、安全业务流程自动化和响应工具及呼叫待命管理平台。您也可以使用 AWS System Manager 自动化文档、AWS Step Functions 和 AWS Lambda 函数构建可从 Security Hub 启动的自动补救工作流程。

多账户支持

在 AWS Security Hub 控制台中单击几次,您即可连接多个 AWS 账户并整合这些账户的检测结果。通过指定主安全账户,您可以让您的安全团队查看所有账户的整合检测结果,不过各账户拥有者仅可查看与其账户相关的检测结果。

使用场景

安全扫描

使用各种安全性标准连续扫描您的 AWS 账户,检查是否存在配置错误,并在账户和多账户级别汇总安全性检查结果,以了解您的整体安全性状态。

分类安全问题并确定优先级

使用 AWS Security Hub 的摘要控制面板以及筛选条件规则来识别 AWS 安全服务和合作伙伴安全集成中的检测结果并确定其优先级,确定哪些最重要,以及哪些需要最直接的关注。

如何收费

安全性检查 定价

每账户每区域每月前 100000 次检查 每次检查 0.0010 USD

每账户每区域每月接下来的 400000 次检查 每次检查 0.0008 USD

每账户每区域每月 500000 次以后的检查 每次检查 0.0005 USD

检查结果提取事件

与 Security Hub 安全性检查关联的检查结果提取事件 免费

每账户每区域每月前 10000 个事件 免费

每账户每区域每月 10000 个以后的事件 每个事件 0.00003 USD

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

C:\Users\jiayf\AppData\Local\Temp\WeChat Files\1a85fa68f8ae79e77c5c5439b168133.jpg

AWS云中的WEB应用防火墙

C:\Users\jiayf\AppData\Local\Temp\WeChat Files\9389aec478fcd1aaf30c98585160e19.jpg

大型的Web应用易受多种攻击,造成宕机时间、效率降低、数据失窃、违规罚款、品牌受损、服务中断、客户不满等。企业通常利用Web应用防火墙来保护Web应用程序。AWS WAF 是一种 Web 应用程序防火墙,让您能够监控转发到 Amazon API Gateway API、Amazon CloudFront 或 应用程序负载均衡器 的 HTTP 和 HTTPS 请求,支持识别并阻拦常见的web攻击,比如SQL注入、XSS跨站、HTTP协议异常、HTTP协议畸形、命令注入、非法扫描等。

工作原理

AWS WAF可以让您可以在几分钟内设置并开始保护您的应用程序。您只需创建一个或多个web访问控制列表(Web ACL),每个列表包含规则(定义可接受或不可接受请求/IP地址的条件集)和满足规则时要采取的操作。然后将Web ACL附加到应用程序的Amazon CloudFront分发。

从这一刻开始,通过分发到达的传入HTTP和HTTPS请求将根据相关Web ACL中的每个规则进行检查,规则的条件可以为正(允许某些请求或IP地址)或负(阻止某些请求或IP地址)。

优势和功能

针对 Web 攻击灵活提供保护

AWS WAF 规则的传播和更新只需不足一分钟时间,因此您可以在问题出现时在您的环境中快速进行安全更新。WAF 支持数百条规则,这些规则可以检查 Web 请求的任意部分,同时尽可能降低延迟对传入流量的影响。AWS WAF 可以根据您创建的规则筛选流量,从而保护 Web 应用程序免遭攻击。例如,您可以筛选 Web 请求的任意部分,例如 IP 地址、HTTP 标头、HTTP 正文或 URI 字符串。这样一来,您可以防范常见攻击模式,例如 SQL 注入或跨站点脚本。

易于部署和维护

无论是作为 CDN 解决方案的一部分部署在 Amazon CloudFront 上,还是部署在位于所有来源服务器之前的 Application Load Balancer、适用于您的 REST API 的 Amazon API Gateway 或者是适用于您的 GraphQL API 的 AWS AppSync 上,AWS WAF 都能轻松部署和保护应用程序。 无需部署其他软件、无需配置 DNS、无需管理 SSL/TLS 证书,也无需进行反向代理设置。使用 AWS Firewall Manager 集成,您可以集中定义并管理规则,并在您需要保护的所有 Web 应用程序中反复使用这些规则。

使用托管规则节省时间

使用 AWS WAF 托管规则,您可以快速入门并保护您的 Web应用程序或 API 免遭常见的威胁。有多种规则类型供您选择,例如解决诸如开放式 Web 应用程序安全项目 (OWASP) 十大安全风险、内容管理系统 (CMS) 特有的威胁或新出现的常见漏洞和泄露 (CVE) 等问题的规则。托管规则会随新问题的出现而自动更新,这样您就有更多的时间来构建应用程序。

经济高效的 Web 应用程序防护

使用 AWS WAF,您只需按使用量付费。AWS WAF 属于可自定义的自助服务,基于您部署的规则数量和您的 Web 应用程序收到的 Web 请求数量进行定价。既没有最低费用,也无需预先承诺。

提高 Web 流量可见性

AWS WAF 让您能够近乎实时地查看 Web 流量,借此在 Amazon CloudWatch 中创建新的规则或警报。您可以精确控制指标的发出方式,因此可以从规则级别到完整入站流量进行监控。此外,AWS WAF 还会捕获每个接受检查的 Web 请求的完整标头数据,用于自动提供安全保护、分析或审计用途,从而提供全面的日志记录。

集成于应用程序开发流程中的安全性

AWS WAF 中的所有功能都可以通过 AWS WAF API 或 AWS 管理控制台进行配置。因此,您的开发运营团队可以在应用程序开发流程中定义特定于应用程序的规则,从而增强 Web 安全性。而且,您可以将 Web 安全问题放到开发流程链中的多个环节:从最初撰写代码的开发人员,到部署软件的开发运营工程师,再到跨组织实施安全规则组的安全管理员等。

如何收费

您需要为创建的每个 Web ACL 和针对每个 Web ACL 创建的每个规则付费。此外,您还需要为 Web ACL 处理的 Web 请求数付费。

Web ACL 每月 5.00 USD(按小时收取)

规则 每月 1.00 USD(按小时收取)

请求 每 100 万个请求 0.60 USD

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

C:\Users\jiayf\AppData\Local\Temp\WeChat Files\1a85fa68f8ae79e77c5c5439b168133.jpg

AWS云中的DDos防护

C:UsersjiayfAppDataLocalTempWeChat Files9389aec478fcd1aaf30c98585160e19.jpg

分布式拒绝服务 (DDoS) 攻击是指多个被入侵系统尝试用流量来“淹没”目标 (如网络或 Web 应用程序) 的攻击。DDoS 攻击会阻止合法用户访问服务,并可能导致系统由于流量过大而崩溃。AWS 提供两级防护 DDoS 攻击: AWS Shield Standard 和 AWS Shield Advanced.

简介

AWS Shield Standard

全部 AWS 客户受益于的自动保护 AWS Shield Standard,无需额外收费。 AWS Shield Standard 抵御最常见的、经常发生的网络和传输层 DDoS 针对您的网站或应用程序的攻击。虽然 AWS Shield Standard 有助于为所有 AWS 客户提供保护,但如果您使用 Amazon CloudFront 和 Amazon Route 53,则可以获得特殊的优势。这些服务获得全面的可用性保护,可以防范所有已知的基础设施(第 3 层和第 4 层)攻击,参考下图。

D:backupbakyoudaonuno_3023@163.com(1)5bede8d8e97a4fce99d24b71d4a2a9f1clipboard.png

AWS Shield Advanced

要获得更高级别的攻击防护,您可以订购 AWS Shield Advanced。当您订阅 AWS Shield Advanced 并添加需要保护的特定资源, AWS Shield Advanced 对在资源上运行的Web应用程序提供扩展的 DDoS进行攻击保护。

AWS哪些资源可以被保护

您可以为任何以下类型的资源添加保护:

Amazon CloudFront 分发

Amazon Route 53 托管区域

AWS Global Accelerator 加速器

应用程序负载均衡器

Elastic Load Balancing (ELB) 负载均衡器

Amazon Elastic Compute Cloud (Amazon EC2) 弹性 IP 地址

Shield和Shield Advanced的对比

如何选择

您可以将 AWS WAFAWS Firewall Manager 和 AWS Shield 一起使用来创建全面的安全解决方案。

一切都从 AWS WAF 入手。您可以实现自动化,然后简化 AWS WAF 使用 AWS Firewall Manager。 Shield Advanced 在的顶部添加其他功能 AWS WAF,例如来自 DDoS 响应小组 (DRT) 和高级报告。

如果您希望对添加到您的资源的保护进行精细控制,单独使用 AWS WAF 是正确的选择。如果您希望跨账户使用 AWS WAF、加快您的 AWS WAF 配置或自动执行新资源的保护,请将 Firewall Manager 与 AWS WAF 结合使用。

最后,如果您拥有高可见度的网站,或者容易频繁 DDoS 攻击时,您应该考虑购买 Shield Advanced 提供。

如何收费

AWS Shield Standard 为所有 AWS 客户提供保护,使其免受以网站或应用程序为目标的最频繁发生的常见网络和传输层 DDoS 攻击,且无需支付额外费用。

AWS Shield Advanced 是付费服务,可为在 Amazon Elastic Compute (EC2)、Elastic Load Balancing (ELB)、Amazon CloudFront、AWS Global Accelerator 和 Amazon Route 53 上运行的面向互联网的应用程序提供额外保护。AWS Shield Advanced 对所有客户开放,但只有 AWS Premium Support 的企业支持计划或商业支持计划客户才能联系 DDoS 响应团队。它需要为期 1 年的订购承诺,按月收费3000美金。数据传输资费情况如下表:

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

C:UsersjiayfAppDataLocalTempWeChat Files1a85fa68f8ae79e77c5c5439b168133.jpg

AWS云中的敏感数据保护

当你把越来越多的数据放到云端时,你需要依靠安全自动化来保证它的安全。许多数据泄露不是未经授权用户的恶意行为造成的,而是授权用户的错误造成的。要监视和管理敏感数据的安全性,首先必须能够识别它。AWS推出了Amazon Macie,这是一项完全托管的数据安全和数据隐私服务,使用机器学习和模式匹配帮助您检测、分类,并更好地保护存储在AWS云中的敏感数据。 

Macie原理

Macie将机器学习和模式匹配技术应用于您选择的S3存储桶,以识别敏感数据,并向您发出警报,例如个人身份信息(PII)。您可以在AWS管理控制台中搜索和筛选Macie的警报或调查结果,并将其发送到Amazon EventBridge(前称 Amazon CloudWatch Events),以便轻松与现有工作流程或事件管理系统集成,或与AWS服务(例如 AWS Step Functions)结合使用,以执行自动修复操作。这可以帮助您满足法规要求,例如《健康保险携带和责任法案》(HIPAA) 以及《通用数据隐私条例》(GDPR)。

Macie使用场景

在数据迁移中识别敏感数据

将大量数据迁移到 AWS 时,您可以设置一个安全的 Amazon S3 环境,用作使用 Macie 发现敏感数据的初始暂存区。您还可以从应用程序(如电子邮件、文件共享、协作工具)中提取文件,并传输到 S3 以供 Macie 评估。评估结果可帮助您了解迁移数据应存储在何处以及需要应用哪些安全控制(如加密和资源标记)。利用 Macie 的调查结果,您可以在数据迁移到 AWS 时自动配置数据保护和基于角色的访问策略。

评估您的数据隐私性和安全性

保持正确的数据安全级别的一个重要方面是能够持续地识别敏感数据并评估安全性和访问控制。Amazon Macie 让您可以在整个 Amazon S3 环境中做到这一点,生成可指导行动的调查结果,以便在需要时快速响应。使用 Macie,您还可以通过将敏感数据临时移动到 S3 来灵活地识别驻留在其他数据存储中的敏感数据。例如,您可以启动 Amazon Relational Database Service (RDS) 或 Amazon Aurora 快照,将这些服务中的数据导出到 Amazon S3,在其中可以使用 Macie 对敏感数据进行评估。这样您就可以利用 Macie 来帮助您维护数据隐私性和安全性。

保持合规性

合规团队需要监控敏感数据所在的位置,对其进行适当保护,并提供证据证明他们正在实施数据安全和隐私保护,以满足合规要求。Amazon Macie提供了不同的数据分析计划选项,如一次、每日、每周或每月敏感数据发现作业,以帮助您满足和保持数据隐私和合规要求。Macie会自动将所有敏感数据发现作业的输出(包括调查结果、评估结果、时间戳以及被扫描是否存在敏感数据的所有存储桶和对象的历史记录)发送到您拥有的S3存储桶。这些敏感数据发现详细报告可用于数据隐私和保护审核以及长期保留。

Macie如何收费

Macie针对存储桶级安全性及访问控制评估的Amazon S3存储桶数量,以及针对敏感数据发现处理的数据量进行收费。Macie仅对其检查的受支持对象类型中处理的字节收费。

作为Macie敏感数据发现作业的一部分,还将产生针对GET和LIST请求的标准Amazon S3费用。

以俄亥俄区域为例:

收费示例

一个账户中启用了 Macie,该账户拥有 15 个 Amazon S3 存储桶。而且,您为存储桶提交了敏感数据发现作业,S3 标准存储中有 1000000 个对象,结果处理了 100GB 数据。

• 15 个 Amazon S3 存储桶
• 针对敏感数据发现处理 100GB 的数据
• 1000000 个对象,所有支持的对象类型

Macie 费用 =15 * 0.10 USD(每个 S3 存储桶每月 0.10 USD)+ 1 * 0.00 USD(每月前 1GB)+ 99 * 1.00 USD(每月超出 1GB 后的 50000GB)= 1.50 USD + 0.00 USD + 99.00 USD= 100.50 USD Macie 费用

S3 费用 =0.005 USD(1000 个 S3 LIST 请求返回 1000 个对象,每 1000 个调用的费用为 0.005 USD)+ 0.0004 USD * 1000(1000000 个对象,每 1000 个 S3 GET 请求的费用为 0.0004 USD)= 0.005 USD + 0.4 USD= 0.405 USD S3 费用

陈汉卿

云业务事业部 | 高级系统架构师

神州泰岳软件股份有限公司·AWS战略合作伙伴

AWS Solution Provider | Migration | DevOps | Cloud Management Tools(CMT) ISV Partner

AWS 容器服务的安全实践

随着微服务的设计模式得到越来越多开发者的实践,容器和微服务已经在生产环境中开始了规模化的部署。在这一过程中,也面临着越来越多的挑战。比如说,很多的微服务之间是相互依赖的,我们需要有更多的手段和方式来进行微服务的计划,扩展和资源管理,另外微服务之间的隔离更少,它们通常会共享内核或者网络,也对安全性提出了更高的要求。 

AWS是运行容器工作负载的首选平台。有第三方数据显示,云中80%的容器工作负载,和82%的Kubernetes工作负载构建在AWS云平台之上。在AWS上运行容器时,我们提供了更多的选择。首先,您可以选择编排工具,您可以选择AWS原生的Amazon ECS或者支持Kubernetes的Amazon EKS。其次,您可以选择启动类型,就是您是否要管理服务器。如果您想要进行容器的无服务器计算,您可以选择AWS Fargate模式,如果您想要控制计算环境的安装,配置和管理,您可以选择Amazon EC2模式。我们提供更多的选择,也是希望能够以更灵活的方式帮助您把容器工作负载更快更好更安全的迁移到云端。

安全性和合规性是AWS和客户共同的责任,基于此,AWS提出了云安全的责任共担模式。这种责任区分为云本身的安全和云内部的安全。AWS负责云本身的安全,包括保护所有运行AWS云服务的基础设施,包括区域,可用区,边缘站点,计算存储网络,数据库等等。客户负责云内部的安全。客户的责任由客户使用的AWS服务确定,通常来讲,客户会负责操作系统的安全,网络和防火墙的配置,身份和访问管理,应用,平台和客户数据的安全。同时,对于客户负责的云内部安全,AWS提供了大量的工具帮助用户提升安全性。

我们来看一下把上述安全和合规的责任共担模式应用于AWS容器服务Amazon ECS和Amazon EKS的具体实践。

首先,我们看一下身份和访问管理。谈到身份和访问管理,我们很容易就会想到AWS IAM服务,它能够安全的管理对AWS服务和资源的访问。您可以使用IAM创建和管理AWS用户和组,并使用各种权限来允许或者拒绝这些用户和组对AWS资源的访问。对于ECS来说,由于它是AWS原生的容器解决方案。使用IAM就可以完全管理身份和访问控制。而对于EKS则需要同时了解和配置IAM和Kubernetes RBAC,就是基于角色的访问控制。IAM负责将权限分配到AWS服务,而RBAC负责控制资源的权限。

下面我们看一下Kubernetes的管理工具kubectl的执行过程是如何在EKS上进行身份认证的。比如说启动命令kubectl get pods,在这里我们通过kubectl访问Kubernetes的API,在其中我们会传递AWS相关的身份信息,Kubernetes会向IAM验证身份信息,这里我们会用到IAM认证的一个插件,aws-iam-authenticator,它是AWS官方用于连接验证身份信息的一个工具,验证返回之后,Kubernetes API针对RBAC来授权AWS身份的资源访问权限,最后向kubectl返回执行结果是允许还是拒绝。

对于Kubernetes来说,RBAC很重要,在这里我们不详细展开,大家有需要可以参阅Kubernetes的相关文档。这里我们只做一些基本介绍。在RBAC中,一个角色,role,它包含一组相关权限的规则。在RBAC中,权限是纯粹累加的,并不存在拒绝某操作的规则。角色可以用Role定义到某个命名空间上,或者用ClusterRole定义到整个集群。在RBAC中,可以定义描述资源,比如pod和node;允许对资源使用动词,比如get,update和delete。同时,RBAC上内置了一系列默认的ClusterRoles,包括cluster-admin,admin,edit,view,赋予不同的用户对不同的资源进行不同的操作的权限。

另外,通过 Amazon EKS 集群上服务账户 (service account)的 IAM 角色,您可以将 IAM 角色与 Kubernetes 服务账户关联。然后,此服务账户就能够为使用它的任何一个 Pod 中的容器提供 AWS 权限。您可以将 IAM 权限范围限定到服务账户,并且只有使用该服务账户的 Pod 可以访问这些权限。

其次,我们看一下平台安全。在这里,我们考虑的是记录和审核控制平面的安全。控制平面的日志记录,特别是围绕API动作的审核记录,是平台安全的重要部分。对于ECS来讲,由于它是AWS原生的容器服务,所以和其它AWS产品一下,控制平面的日志会进入AWS CloudTrail中,进行云资源调用的记录。CloudTrail 是一项支持对AWS 账户进行监管、合规性检查、操作审核和风险审核的服务。借助 CloudTrail,您可以记录日志、持续监控并保留与整个 AWS 基础设施中的操作相关的账户活动。对于Kubernetes来讲,它的控制平面包括审计跟踪,但这些日志在默认情况下不会公开。EKS有一个功能可以启用这些日志,我们建议启用并且将它们发送到Amazon CloudWatch进行进一步的处理并发现洞察。

第三,我们看一下网络和防火墙的配置,这也是容器安全实践中最重要的部分。对于ECS来讲,由于它是AWS的原生服务,您只需要了解和配置Amazon VPC和AWS安全组即可。而对于EKS,除了管理VPC和安全组之外,还需要安装和配置Kubernetes的网络插件和网络策略等。

我们先来看一下ECS的网络配置。当我们将ECS与VPC结合使用的时候,每个任务都会有自己专用的弹性网络接口 (ENI)。由于每个任务和每个ENI是一一对应的,而每个ENI和安全组也是一一对应的,因此每个任务进出的任何通信都会通过安全组来进行,从而简单便捷的实现网络的安全性。

对于EKS来讲,在创建新的Kubernetes集群的时候,EKS会为与集群通信的托管Kubernetes API服务器创建一个终端节点。默认情况下,这个API终端节点对于Internet是公有的,对API终端节点的访问,我们使用AWS IAM和Kubernetes RBAC的组合加以保护。但是我们建议您启动Kubernetes API终端节点的私有访问,以使得工作节点和API终端节点之间的所有通信都在VPC之内。您可以限制从Internet访问API终端节点的IP地址,或者完全禁用对API终端节点的Internet访问。

Amazon VPC CNI目前是Amazon EKS集群默认的网络插件。在Amazon VPC CNI中,对于每个Kubernetes节点,我们创建多个ENI并且分配辅助IP地址,对于每个Pod,我们选择空闲的辅助IP地址进行分配。这样通过Amazon VPC CNI,可以使得EKS得到原生的Amazon VPC网络支持,使得Pod和Pod直接互联互通,包括单一主机内的Pod通信,不同主机内的Pod通信,甚至是Pod和其他AWS服务,Pod和On-Premise,Pod和Internet的通信,并提供了更快的网络延迟。Amazon VPC CNI是一个开源项目,在GitHub上进行维护。

对于Kubernetes来讲,网络策略是一种关于 Pod 间及Pod与其他网络间所允许的通信规则的规范。如果在EKS上进行网络策略管理,首先需要将网络策略提供程序添加到EKS中。Calico是EKS官方文档中介绍的一种主流的方式。

一种既可以分配EC2实例级IAM角色,又可以完全信任基于安全组的方式,是为不同的Pod使用不同的工作节点集群,甚至是完全独立的集群。EKS有NodeGroup的概念,它是一个独立的自动伸缩的工作节点组,可以对其进行标记,这样您就可以限制哪些Pod/服务可以在其上运行。

另外,服务网格也是可以对网络进行配置和管理的一种方法。您可以使用服务网格来对所有服务进行加密和身份验证,而不是强加AWS安全组或Kubernetes网络策略之类的网络级限制,从而在保持安全的同时允许更扁平的底层未分级网络。服务网格通常是通过一组轻量级的网络代理,与应用代码部署在一起来实现的。网络代理包含在每一个微服务之中,主要处理微服务之间的通信,监控,以及一些安全相关的工作。我们可以使用服务网格增强安全性。以传输身份认证举例,传输身份验证可以理解为服务到服务的身份验证,服务网格提供双向TLS功能来实现。当开启了双向TLS后,服务间的流量为加密流量,并且相互根据证书以及密钥进行访问从而保障服务间的通信安全。

AWS App Mesh是AWS推出服务网格,App Mesh 能够与 AWS 服务集成以进行监控和跟踪,还可以与很多常用的第三方工具结合使用。App Mesh 可以与在 AWS 上运行的各种容器,包括ECS,EKS,Fargate,以及自建Kubernetes集群结合使用。另外,Istio也已经支持在EKS上很好的部署。

第四,我们看一下操作系统的安全。在容器的EC2模式中,客户的安全责任更多一些。比如要选择的实例类型和数量,CPU与RAM的比率是多少,扩展能力和可用性是多少;还有选择哪个操作系统,何时进行操作系统加固,何时给OS,Docker,ECS代理或kubelet打补丁等等,这些都是客户的责任。在Fargate的模式下,对于安全责任,AWS做得更多,客户做得更少。AWS负责扩展、修补、保护和管理服务器,为OS,Docker, ECS代理等进行打补丁的操作。Fargate需要运行在VPC网络中,在Fargate中也没有容器的特权模式,各个 ECS 任务或 EKS Pod 各自在其自己的专用内核运行时环境中运行,并且不与其他任务和 Pod 共享 CPU、内存、存储或网络资源。这样可以确保针对每个任务或 Pod 进行工作负载隔离并提高安全性。

对于EKS来讲,Kubernetes的更新也是一个很重要的话题。通常,Kubernetes每个季度都有一个新的主要版本,同时也会定期发布新的次要版本,有时Kubernetes更新与安全性相关。EKS具有用于触发控制平面更新的API,在触发之后您需要更新工作节点,例如,Kubernetes以及Docker和OS。通常工作节点在一个自动扩展组中,因此我们需要重新构建或者更新AMI。AWS为工作节点提供定期自动更新的的AMI和手动更新的脚本。

第五,我们看一下容器中客户数据的安全。AWS同时具有Parameter Store和Secrets Manager来存储您的机密。 它们已集成到ECS中,但对于EKS,需要通过CLI或SDK在Kubernetes的Pod中调用它们。Kubernetes的内置Secrets功能将机密存储在其控制平面中,并通过环境变量或文件系统中的文件将其放入正在运行的Pod中,但是不能在Kubernetes集群之外使用它们。

我们在最近发布了一个新的功能。您可以使用 AWS Key Management Service (KMS) 生成的密钥,对EKS中存储的 Kubernetes Secrets进行信封加密;或者,您也可以将其他地方生成的密钥导入KMS,并在EKS集群中使用。实施信封加密被视为存储敏感数据的一种最佳安全实践。我们使用开源的AWS Encryption Provider在EKS中为您提供KMS机密的信封加密。这个项目得到了Kubernetes社区和Kubernetes兴趣小组的支持。

最后,我们看一下容器镜像的安全。容器镜像安全的最佳实践包括:不在容器镜像内部存储机密;让一个容器对应一个服务,在任务/Pod内使用Sidecar代理;最小化容器体积,只包括运行时需要的内容等等。同时,我们要使用已知且受信任的基本镜像,包括使用Docker Hub上的官方镜像,仔细阅读Dockerfiles,扫描镜像以获取CVE。我们需要在Dockerfile中指定USER和最小权限,以及为容器镜像建立独特且内容丰富的标签,来快速分辨出容器镜像的版本。容器镜像的扫描包括注册表中的镜像扫描,构建管道中的镜像,和运行时的容器镜像扫描。注册表中的镜像扫描由Docker Hub和Amazon ECR提供。另外还有一些第三方的开源或商业软件可以对构建管道中的镜像或者运行时的镜像进行扫描。还有,我们也要保证运行时的容器安全。我们可以通过规则引擎限制可以在容器中执行的操作,例如,“请勿运行容器中未包含的内容”或 “请勿运行不在此白名单中的内容”来确保只能在集群中部署/运行受信任的镜像,我们需要随时了解整个环境的运行时行为,一旦遇到CVE公开,立即检测运行中的易受攻击的容器。

总结:

在AWS中安全运行容器时,客户应承担许多责任,运行EKS相比ECS更是如此。需要深入研究的关键领域包括:身份和访问管理,网络拓扑和防火墙,记录和审核,任务/Pod之间的加密和相互认证,容器镜像,容器主机和Kubernetes控制平面的补丁操作,机密管理,容器镜像的运行时安全等等。 

快速实现AWS云中资源的安全漏洞扫描

使用公有云服务只需点击几下就可以轻松灵活地创建一个基础架构,但如果你因此而忽略了某些安全检查点,则它可能会为恶意攻击者提供许多的机会。Amazon Inspector是一种自动化安全评估服务,可根据Amazon云中的合规性评估已部署资源的安全漏洞。在本文中,我们将了解AWS Inspector如何与EC2实例通信以评估服务器的安全性。我们还将学习如何配置AWS Inspector以执行自动化安全评估任务。

Inspector原理

AWS inspector是在所有EC2实例中安装一个代理,然后在内部检查所有可能的漏洞,并提供包含建议缓解措施的详细报告。其中包含了所选资源的详细结果。它会根据漏洞的严重程度对漏洞进行优先级排序,从而使你可以轻松了解哪些软件需要立即进行修补。

Inspector评估规则包

网络可到达性规则包

网络可到达性包中的规则分析您的网络配置以查找您的 EC2 instances 的安全漏洞。这些规则生成的结果表明是否可从 Internet(通过 Internet 网关,包括 Application Load Balancer 或 Classic Load Balancer 后的实例)、VPC 对等连接或 VPN(通过虚拟网关)到达您的端口。这些结果还强调了允许潜在恶意访问的网络配置(如管理不当的安全组、ACL、IGW 等)。利用此规则包,无需 Amazon Inspector 代理即可评估您的 EC2 instance。

主机评估规则包

常见漏洞和风险

Amazon Inspector 主机评估规则包使用的代理部署在运行着要评估的应用程序的 Amazon EC2 实例上。它将使用最佳安全实践指南检查服务器。此包中的规则将帮助验证您的评估目标中的 EC2 instances是否易出现常见漏洞和曝光 (CVE)。

CVE@是一份关于公开已知的网络安全漏洞的声明清单,每条声明都包含一个识别号码、描述和至少一个公开引用。CVE条目被用于世界各地的许多网络安全产品和服务中,包括美国国家脆弱性数据库(NVD)。

如果 Amazon Inspector 评估生成的结果中出现特定的 CVE,您可在 https://cve.mitre.org/ 中搜索 CVE 的ID(例如,CVE-2009-0021)。搜索结果可提供有关此CVE其严重性和缓解方式的详细信息。

Center for Internet Security (CIS) 基准

CIS 安全基准计划提供了定义明确、公正、基于一致性的行业最佳实践来帮助组织评估和增强其安全性。

如果 Amazon Inspector 评估运行生成的结果中出现特定的 CIS 基准,您可从 https://benchmarks.cisecurity.org/ 下载此基准的 PDF 格式的详细描述(需要免费注册)。此基准文档提供了有关此 CIS 基准其严重性以及如何缓解它的详细信息。

Amazon Inspector 的安全最佳实践

使用 Amazon Inspector 规则帮助确定您的系统的配置是否安全。主题包含如下内容:

Inspector如何收费

网络可访问性规则包的定价

使用网络可访问性规则包的 Amazon Inspector 评估按每月每个实例评估进行定价。例如,如果您对 1 个实例运行 1 次评估,则为 1 个实例评估。例如,如果您对 10 个实例运行 1 次评估,则为 10 个实例评估。起价为每个月每个实例评估 0.15 USD。

主机评估规则包的定价

使用主机规则包的评估按每月每个代理评估进行定价。例如,如果您对 1 个代理运行 1 次评估,则为 1 个代理评估。如果您对 10 个代理运行 1 次评估,则为 10 个代理评估。起价为每个月每个实例评估 0.30 USD。

Inspector实践

下载安装包,安装Agent

wget https://inspector-agent.amazonaws.com/linux/latest/install–下载安装包

chmod +x install

sudo ./install—安装agent

sudo /opt/aws/awsagent/bin/awsagent status—查询Agent状态

配置运行Inspector扫描

进入Inspector产品模块

配置选择规则包

定义目标

运行扫描

下载报告,查询结论

下载报告

 

快速实现AWS云中的安全威胁检测

安全团队要自行组织对VPC流日志、CloudTrail日志、DNS日志做分析,从日志收集、格式化、分析、结论、动作,整个过程是一件十分耗时费力的事情。而使用GuardDuty,只需在 AWS 管理控制台中几次点击,就可以启用 GuardDuty,实现云环境中的威胁检测。AWS在2017年推出云中威胁检测服务——GuardDuty,旨在帮助AWS用户摆脱潜在的安全威胁,保护其AWS账户和工作负载。

GuardDuty能干什么

您的账号在您从未使用过的区域启动了实例;您的EC2实例正在被攻击;您的EC2实例在你不知情的情况下开始挖掘比特币;您的EC2实例在你不知情的情况下发起网络攻击;运行渗透测试工具的机器在使用您的账户的凭证进行 API 调用。上述问题发生时,都可以被GuardDuty检测到。

GuardDuty原理

Amazon GuardDuty 是一项持续安全监控服务,通过分析数据源 (VPC 流日志、AWS CloudTrail 事件日志和 DNS 日志)、使用威胁情报源(例如,恶意 IP 地址和域的列表)和机器学习来标识您 AWS 环境中意外的和未经授权的恶意活动。

GuardDuty优势

安全团队要自行组织对VPC流日志、CloudTrail日志、DNS日志做分析,从日志收集、格式化、分析、结论、动作,整个过程是一件十分耗时费力的事情。而使用GuardDuty,只需在 AWS 管理控制台中几次点击,就可以启用 GuardDuty,无需部署或维护任何软件或硬件。

集成了来自 AWS、CrowdStrike 和 Proofpoint 的最新威胁情报源。威胁情报与机器学习和行为模型结合,帮助您检测加密货币挖矿、凭证破解行为、未经授权的异常数据访问、与已知命令和控制服务器通信或者来自已知恶意 IP 的 API 调用等活动。

安全团队可以将组织中各账户的发现结果聚合到一个 GuardDuty 管理员账户中,以便进行管理。聚合后的检测结果也可通过 CloudWatch Events 使用,从而轻松与现有的企业事件管理系统集成。

GuardDuty 可以利用 Amazon CloudWatch Events 和 AWS Lambda 执行自动化的修复操作。

GuardDuty如何收费

Amazon GuardDuty 根据分析的 AWS CloudTrail 事件数和分析的 Amazon VPC 流日志和 DNS 日志数据的容量定价。为 GuardDuty 分析启用这些日志源无需支付额外的费用。以俄勒冈区域为例,资费如下:

GuardDuty发现类型

完整的GuardDuty发现类型,参考如下网址:

https://docs.aws.amazon.com/zh_cn/guardduty/latest/ug/guardduty_finding-types-active.html

如何启用GuardDuty

如何启用GuardDuty参考如下网址:

https://docs.aws.amazon.com/zh_cn/guardduty/latest/ug/guardduty_settingup.html

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

AWS云中的GDPR合规能力

欧盟的通用数据保护条例 (GDPR) 旨在保护欧盟数据主体的基本隐私权和个人数据,于2018年5月25日生效。在全球现有的数据隐私保护法规中,GDPR以其标准高、处罚严而闻名。AWS目前所有的可用的服务和功能均符合GDPR要求的高隐私标准和数据保护标准。AWS还致力于为客户提供服务和资源,帮助他们遵守可能适用于其活动的GDPR要求,客户可以部署AWS服务作为他们GDPR合规计划的重要组成部分。

摘要

本文提供了AWS为客户提供的服务和资源的相关信息,以帮助客户符合通用数据保护条例(GDPR)的要求。包括:遵守IT安全标准、AWS云计算遵从控制目录(C5)认证、遵守欧洲云基础设施服务提供商(CISPE)行为守则、数据访问控制、监控和日志工具、加密和密钥管理等内容。

 

GDPR概述

《通用数据保护条例》(GDPR)是《欧洲隐私法》(欧洲议会和理事会2016年4月27日第2016/679号条例),于2018年5月25日生效。GDPR取代了欧盟数据保护指令(指令95/46/EC),旨在通过适用单一的数据保护法来协调整个欧盟(欧盟)的数据保护法律,并对每个欧盟成员国具有约束力。

GDPR适用于所有的个人数据处理,无论是由在欧盟内有机构的组织,还是在向欧盟内的个人提供商品服务或监控欧盟内欧盟居民行为时处理欧盟居民个人数据的组织。个人数据是指与已识别或可识别的自然人有关的任何资料。

GDPR带来的变化

GDPR试图在欧盟成员国之间建立个人数据安全处理、使用和交换的一致性。机构必须通过实施和定期检查适用于处理个人资料的技术和组织措施,以及合规政策,证明其所处理的资料是安全的,并持续遵守。欧盟监管当局可以对违反GDPR的行为处以最高2000万欧元的罚款,相当于全球年营业额的4%,以两者中较高的金额为准。

AWS为GDPR做的准备

AWS遵从性和安全专家与世界各地的客户合作,解答他们的问题,并帮助他们在GDPR下在云中运行工作负载。这些团队还根据GDPR的要求审查AWS的职责。“我们可以确认所有AWS服务都可以按照GDPR来使用。”

AWS数据处理附录(DPA)

AWS提供了符合GDPR的数据处理附录(GDPR DPA),使客户能够遵守GDPR的合同义务。AWS的GDPR DPA并入AWS的服务条款,并自动适用于全球所有要求其遵守GDPR的客户。

AWS在GDPR下的角色

在GDPR下,AWS既可以是数据处理角色,也是数据控制角色。

作为数据处理器:

当客户和AWS解决方案提供商使用AWS服务处理其内容中的个人数据时,AWS充当一个数据处理器。客户和AWS解决方案提供商可以使用AWS服务中提供的控件(包括安全配置控件)来处理个人数据。在这种情况下,客户或AWS解决方案提供商可以充当数据控制器或数据处理器,而AWS充当数据处理器或子处理器。符合AWS gdpr的数据处理附录(DPA)包含AWS作为数据处理器的承诺。

作为数据控制器:

当AWS收集个人数据并确定处理该个人数据的目的和方法时,它扮演着数据控制器的角色。例如,AWS将帐户信息存储为一个数据控制器,用于帐户注册、管理、服务访问、客户联系和支持。

根据第32条,控制和处理被要求“执行适当的技术和组织措施”,考虑“执行的技术和成本,处理的性质、范围、背景和目的,以及对自然人的权利和自由的不同可能性和严重程度的风险”。《GDPR》就可能需要采取何种保安措施提供了具体建议,包括:

  • 个人资料的加密;
  • 能够确保处理系统和服务的持续机密性、完整性、可用性和弹性;
  • 在发生物理或技术事故时,能够及时恢复提供和查阅个人资料;
  • 定期测试、评估和评估技术和组织措施的有效性,以确保处理的安全性的过程;

安全责任共担模型

安全性和遵从性是AWS和客户之间的共同责任。当客户将其计算机系统和数据转移到云时,安全责任由客户和云服务提供商共同承担。当客户迁移到AWS云时,AWS负责保护支持云的底层基础设施的安全,而客户则负责他们放在云中或连接到云中的任何东西。这种责任的区分通常称为云安全与云中的安全。

这个模型可以帮助减轻客户的操作负担,并为他们提供必要的灵活性和控制权,以便在AWS云中部署其基础设施。AWS操作、管理和控制基础设施组件,从主机操作系统和虚拟化层,到服务运行所在设施的物理安全性。客户负责管理客户操作系统(包括更新和安全补丁)、其他相关应用程序软件以及AWS提供的安全组防火墙的配置。更多信息,可参考AWS责任共担模型。

健壮的合规框架和安全标准

根据GDPR,适当的技术和组织措施可能需要包括“确保处理系统和服务的持续机密性、完整性、可用性和弹性的能力”,以及可靠的恢复、测试和整体风险管理流程。

 

AWS合规计划

AWS遵从性使客户能够了解AWS为维护AWS云中的安全和数据保护而采取的强大控制措施。当系统在AWS云中构建时,遵从性责任将被共享。通过将聚焦治理、友好审计的服务特性与适用的遵从性或审计标准捆绑在一起,AWS的合规性服务包括:AWS Config, AWS CloudTrail, AWS Identity and Access Management, Amazon GuardDuty, and AWS Security Hub,都建立在传统程序之上,这些程序帮助客户建立并在AWS安全控制的环境中运行。AWS为客户提供的IT基础设施是按照安全最佳实践和各种IT安全标准设计和管理的,包括:

  • SOC 1/SSAE 16/ISAE 3402 (formerly SAS 70)
  • SOC 2
  • SOC 3
  • FISMA, DIACAP, and FedRAMP
  • DoD SRG
  • PCI DSS Level 1
  • ISO 9001 / ISO 27001
  • ITAR
  • FIPS 140-2
  • MTCS Tier 3

此外,AWS平台提供的灵活性和控制能力使客户能够部署满足几个特定行业标准的解决方案。

AWS通过白皮书、报告、认证、认证和其他第三方认证向客户提供了关于其IT控制环境的广泛信息。有关更多信息,请参考Amazon Web服务:风险和合规白皮书

云计算遵从性控制目录C5

云计算遵从性控制目录(C5)是德国政府支持的认证方案,由德国联邦信息安全办公室(BSI)引入。它的创建是为了帮助组织在德国政府对云提供商的安全建议的背景下,展示针对常见网络攻击的运行安全性。

数据保护的技术和组织措施和信息安全措施目标数据安全,以确保机密性、完整性和可用性。C5定义了与数据保护相关的安全需求。AWS客户和他们的合规顾问可以使用C5认证来了解AWS提供的IT安全保障服务范围,因为他们将工作负载转移到云上。C5添加了相当于IT-Grundschutz的监管定义IT安全级别,并添加了特定于云的控制。

C5增加了更多的控制,以提供与数据位置、服务供应、管辖地点、现有认证、信息公开义务和全面服务描述相关的信息。使用这些信息,您可以评估法律法规(如数据隐私)、您自己的政策或威胁环境与您使用云计算服务的关系。

CISPE行为准则

GDPR考虑通过CISPE帮助控制器和处理器证明符合法规。正在等待欧盟数据保护当局正式批准的此类准则之一是CISPE云基础设施服务提供商行为准则。该守则让客户放心,他们的云提供商使用了适当的数据保护标准,这与GDPR是一致的。

以下是准则的几个主要好处:

明确谁负责数据保护的哪些方面——该准则解释了GDPR下云提供商和客户的角色,特别是在云基础设施服务的上下文中。

定义供应商必须遵守的原则——本准则在GDPR中制定了关键原则,明确供应商应采取的行动和承诺,以证明他们遵守了GDPR并帮助客户遵守。客户可以在他们自己的遵从性和数据保护策略中使用这些具体的好处。

为客户提供必要的隐私和安全信息,以帮助他们实现其合规目标——该准则要求供应商对其履行隐私和安全承诺所采取的步骤透明。其中一些步骤包括隐私和安全保障措施的实施、数据泄露的通知、数据删除和第三方子处理的透明度。所有这些承诺都由第三方、独立监测机构核查。客户可以使用这些信息来充分理解所提供的高级别安全性

在发布时,AWS已经注册了Amazon EC2、Amazon S3、Amazon RDS、AWS IAM、AWS CloudTrail和Amazon EBS,它们完全符合该准则。有关更多信息,请参见CISPE公共注册。这为AWS客户提供了额外的保证,当他们使用AWS时,他们可以在一个安全、安全和兼容的环境中控制他们的数据。AWS遵守该准则,增加了AWS已获得的国际公认的认证和认可名单。这包括ISO 27001, ISO 27018, ISO 9001, SOC 1, SOC 2, SOC 3, PCI DSS Level 1,等等。

数据访问控制

GDPR第25条规定,数据处理“须实施适当的技术及组织措施,以确保在默认情况下,只处理业务涉及到的所必需的个人资料”。以下AWS访问控制机制可以帮助客户满足这一要求,只允许授权的管理员、用户和应用程序访问AWS资源和客户数据。

 

身份和访问管理

当您创建AWS帐户时,将自动为您的AWS帐户创建一个根用户帐户。该用户帐户可以完全访问AWS帐户中的所有AWS服务和资源。您不应该将此帐户用于日常任务,而应该仅将其用于最初创建附加角色和用户帐户以及需要它的管理活动。AWS建议您从一开始就应用最少特权原则:为不同的任务定义不同的用户帐户和角色,并指定完成每个任务所需的最小权限集。这种方法是对GDPR中引入的一个关键概念进行调优的机制:设计的数据保护。AWS身份和访问管理(IAM)是一个web服务,您可以使用它来安全地控制对AWS资源的访问。

用户和角色定义具有特定权限的IAM身份。使用IAM角色,您可以允许任何用户执行特定的任务,以便为角色会话使用临时凭据。您可以使用IAM角色安全地为运行在Amazon EC2中的应用程序提供访问其他AWS资源(如Amazon S3 bucket、Amazon RDS或DynamoDB数据库)所需的凭据。

STS实现临时访问凭证

您可以使用AWS安全令牌服务(AWS STS)来创建和向受信任的用户提供临时安全凭据,以授予对AWS资源的访问权。临时安全凭证与您为您的IAM用户提供的长期访问密钥凭证的工作原理几乎相同,但有以下区别:

  • 临时安全凭据用于短期使用。您可以配置它们的有效时间,从几分钟到几个小时不等。临时凭证过期后,AWS不识别它们,也不允许使用它们发出的API请求进行任何类型的访问。
  • 临时安全凭据没有存储在用户帐户中。相反,它们是动态生成的,并在用户请求时提供给用户。当(或之前)临时安全凭证过期时,用户可以请求新的凭证(如果该用户有这样做的权限)。

多因子认证

为了获得额外的安全性,可以向您的帐户和单个用户帐户添加双因素身份验证。启用多因素身份验证(MFA)后,当您登录到AWS网站时,系统会提示您输入用户名和密码(第一个因素),以及来自AWS MFA设备的身份验证响应(第二个因素)。您可以为您的AWS帐户和您在帐户中创建的个人IAM用户启用MFA。您还可以使用MFA来控制对AWS服务api的访问。

访问AWS资源

为了实现对AWS对象的细粒度访问,可以为不同的人针对不同的资源授予不同级别的权限。例如,您可以只允许部分用户完全访问Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB、Amazon Redshift和其他AWS服务。

对于其他用户,您可以只允许只读访问一些Amazon S3 bucket,只允许管理一些Amazon EC2实例,或者只允许访问您的账单信息。

访问操作和配置数据

您可以使用AWS Systems Manager查看和管理AWS基础设施的操作。您可以审计和强制对定义状态的遵从性。AWS Systems Manager Parameter Store可以集中管理数据定义参数。这使您能够实现对参数数据的粒度访问,无论参数数据是纯文本数据(如数据库字符串)还是机密数据(如密码)。您可以通过定制用户和资源(例如实例)的权限来提供这种访问控制,以便进行参数访问和使用与IAM的集成。例如,在开发环境中,凭证通常是硬编码的。您可以使用参数存储来保存密码,并允许开发人员使用AWS API get-parameter参数访问凭据,而不是硬编码凭据。

另一个用于保护访问应用程序、服务和IT资源所需的密钥的可用选项是AWS secrets Manager。该服务使您能够在数据库凭据、API密钥和其他秘密的整个生命周期中轻松地轮换、管理和检索它们。用户和应用程序通过调用secrets Manager api来检索密钥信息,从而消除了用纯文本硬编码敏感信息的需要。Secrets Manager为Amazon RDS、Amazon Redshift和Amazon DocumentDB提供了内置集成的密钥轮换。

区域限制

你可以使用地理限制——也被称为地理锁定——来阻止特定地理位置的用户访问你通过AWS CloudFront网络发布的内容。使用地理限制有两种选择:

CloudFront地理限制特性——选择此选项可以限制访问与CloudFront分发版相关的所有文件,并限制国家级别的访问。

第三方地理定位服务——选择此选项将限制对与某个发行版关联的文件子集的访问,或将访问限制在比国家级别更细的粒度级别。

除了这两个选项之外,新推出的区域还存在地理限制能力。而在2019年3月20日之前引入的AWS区域是默认启用的。2019年3月20日以后推出的地区,如亚太(香港)和中东(巴林),将被默认禁用。在使用这些区域之前,必须先启用它们。如果默认情况下AWS区域是禁用的,您可以使用AWS管理控制台启用和禁用该区域。启用和禁用AWS区域允许您控制AWS帐户中的用户是否可以访问该区域中的资源。

控制对应用程序的访问

AWS提供了在其应用程序中管理数据访问控制的服务。如果你需要在你的网络应用程序和移动应用程序中添加用户登录和访问控制功能,你可以使用Amazon Cognito。Amazon Cognito用户池提供了一个安全的用户目录,可扩展到数亿用户。为了保护用户的身份,可以在用户池中添加多因素身份验证(MFA)。您还可以使用自适应身份验证,它使用基于风险的模型来预测何时可能需要另一个身份验证因素。

使用Amazon Cognito,你可以看到谁访问了你的资源,以及访问的来源(移动应用程序或网络应用程序)。您可以使用此信息创建基于访问源类型(移动应用程序或web应用程序)允许或拒绝访问资源的安全策略。

监控和日志记录

GDPR第30条规定,“每名控制器和控制器的代表(如适用)应保存其所负责的处理活动的记录”。本文还详细介绍了在监控所有个人资料的处理过程中必须记录哪些信息,这是GDPR的要求。控制器和处理器也需要及时发送泄露通知,因此快速检测事件非常重要。为了帮助客户遵守这些义务,AWS提供了以下监视和日志记录服务。

使用AWS Config管理和配置资产

AWS Config提供AWS帐户中AWS资源配置的详细视图。这包括资源是如何相互关联的,以及它们以前是如何配置的,这样您就可以看到配置和关系是如何随时间变化的。

AWS资源是可以在AWS中使用的实体,例如Amazon Elastic Compute Cloud (EC2)实例、Amazon Elastic Block Store (EBS)卷、安全组或Amazon Virtual Private Cloud (VPC)。

使用AWS配置,您可以完成以下操作:

  • 评估AWS资源配置,以验证设置是否正确。
  • 获取与AWS帐户相关联的受支持资源的当前配置的快照。
  • 获取帐户中存在的一个或多个资源的配置。
  • 获取一个或多个资源的历史配置。
  • 在创建、修改或删除资源时获得通知。
  • 资源之间的关系。例如,您可能希望找到使用特定安全组的所有资源。

使用AWS CloudTrail进行合规审计

使用AWS CloudTrail,您可以持续监控AWS帐户的活动。捕获帐户的AWS API调用历史,包括通过AWS管理控制台、AWS sdk、命令行工具和高级AWS服务进行的API调用。您可以确定哪些用户和帐户为支持CloudTrail的服务调用AWS api,调用的源IP地址,以及调用发生的时间。您可以使用该API将CloudTrail集成到应用程序中,为您的组织自动创建踪迹,检查踪迹的状态,以及控制管理员启用和禁用CloudTrail日志的方式。您可以在Amazon S3 bucket中组织和存储CloudTrail日志,以用于审计或故障排除活动。

AWS CloudTrail日志也可以触发预先配置的Amazon CloudWatch事件。您可以使用这些事件来通知用户或系统某个事件已经发生,或进行补救操作。例如,如果您想要监视Amazon EC2实例上的活动,您可以创建一个CloudWatch事件规则。当一个特定的活动在Amazon EC2实例上发生并且事件在日志中被捕获时,规则会触发一个AWS Lambda函数,它会向管理员发送关于该事件的通知电子邮件(事件发生的时间、执行该动作的用户、Amazon EC2详细信息等)。

日志记录与分析

当启用日志记录时,您可以获得对Amazon S3 bucket发出的请求的详细访问日志。访问日志记录包含有关请求的详细信息,例如请求类型、请求中指定的资源以及处理请求的时间和日期。

服务器访问日志对许多应用程序都很有用,因为它们让bucket所有者了解客户机请求的性质,而这些请求不受它们的控制。默认情况下,Amazon S3不收集服务访问日志,但是当您启用日志记录时,Amazon S3每小时向您的存储库提供访问日志。

这些信息包括:

访问Amazon S3对象的粒度日志记录

通过VPC-Flow日志了解网络中流的详细信息

基于AWS Config Rules的配置验证和操作

过滤和监控CloudFront中对具有WAF功能的应用程序的HTTP访问

日志也是用于威胁检测的有用信息源。Amazon GuardDuty分析AWS CloudTrail、VPC流日志和AWS DNS的日志,这使您能够持续监控AWS帐户和工作负载。该服务使用机器学习、威胁智能和异常检测,以便在任何时候记录恶意活动或未经授权的行为时发出详细的、可操作的警报。

集中的安全管理

许多组织都面临着与环境的可见性和集中管理相关的挑战。随着操作足迹的增长,除非仔细考虑安全设计,否则这个挑战会变得更加复杂。缺乏知识,再加上对治理和安全流程的分散和不均衡管理,可能会使您的环境变得脆弱。

AWS提供了帮助您解决IT管理和治理中一些最具挑战性的需求的工具,以及支持通过设计方法进行数据保护的工具。

AWS Control Tower提供了一种简单的方法来设置和管理一个新的、安全的、多帐户的AWS环境。它自动化了landing zone的设置,这是一个基于最佳实践蓝图的多帐户环境,并支持使用护栏进行治理,您可以从预先打包的列表中选择护栏。护栏为安全性、遵从性和操作实现治理规则。AWS Control Tower使用AWS单点登录(SSO)默认目录提供身份管理,并使用AWS SSO和AWS IAM支持跨帐户审计。它还集中来自Amazon CloudTrail和AWS Config日志的日志,这些日志存储在Amazon S3中。

AWS Security Hub是另一个支持集中化的服务,可以提高对组织的可见性。Security Hub集中并优先处理安全和来自AWS帐户和服务的遵从性发现,并且可以与第三方合作伙伴的安全软件集成,以帮助您分析安全趋势并确定最高优先级的安全问题。

Amazon CloudWatch Events允许您设置自己的AWS账户,向其他AWS账户发送事件,或者成为来自其他账户或组织的事件的接收者。这种机制对于实现跨帐户事件响应场景非常有用,可以在任何发生安全事件事件时根据需要采取及时的纠正操作(例如,通过调用Lambda函数或在EC2实例上运行命令)。

在AWS上保护您的数据

《GDPR》第32条要求各组织必须“实施适当的技术和组织措施,以确保与风险相适应的安全水平,包括……个人数据的假名和加密……”此外,机构必须防止个人资料在未经授权的情况下被披露或被查阅。

 

加密降低了与储存个人资料有关的风险,因为没有正确的密码匙,资料是无法读取的。一个彻底的加密策略可以帮助减轻各种安全事件的影响,包括您的数据在AWS上的一些安全漏洞。

静态数据加密

对静态数据进行加密对于法规遵从性和数据保护至关重要。它有助于确保保存在磁盘上的敏感数据在没有有效密钥的情况下不能被任何用户或应用程序读取。AWS为静态加密和加密密钥管理提供了多种选项。例如,您可以使用AWS加密SDK和在AWS密钥管理服务(AWS KMS)中创建和管理的客户主密钥(CMK)来加密任意数据。

加密的数据可以安全地静态存储,并且只能由对CMK有授权访问权限的一方解密。因此,您将获得机密的信封加密数据、用于授权和经过身份验证的加密的策略机制,以及通过AWS CloudTrail审计日志记录。一些AWS基础服务具有内置的rest加密特性,可以在将数据写入非易失性存储之前对其进行加密。例如,您可以使用AES-256对Amazon弹性块存储(Amazon EBS)卷进行加密,并为Amazon简单存储服务(Amazon S3)桶配置服务器端加密(SSE)。Amazon关系数据库服务(Amazon RDS)也支持透明数据加密(TDE)。

加密Linux EC2实例存储上的数据的另一种方法是使用内置的Linux库。这种方法透明地加密文件,从而保护机密数据。因此,处理数据的应用程序不知道磁盘级加密。

可以使用两种方法加密实例存储库上的文件。第一种方法是磁盘加密,使用一个或多个加密密钥对整个磁盘或磁盘中的块进行加密。磁盘加密在文件系统级别以下操作,与操作系统无关,它隐藏了目录和文件信息,比如名称和大小。加密文件系统,例如,是微软对Windows NT操作系统的新技术文件系统(NTFS)的扩展,提供磁盘加密。

第二种方法是文件系统级加密。使用这种方法,文件和目录会被加密,但不会加密整个磁盘或分区。文件系统级加密在文件系统之上操作,可以跨操作系统移植。对于非易失性存储器标准(NVMe) SSD实例存储卷,加密是默认选项。NVMe实例存储中的数据使用在实例上的硬件模块中实现的XTS-AES-256块密码进行加密。加密密钥是使用硬件模块生成的,并且对每个NVMe实例存储设备都是唯一的。当实例停止或终止并且无法恢复时,所有加密密钥都将被销毁。您不能使用自己的加密密钥。

传输数据加密

AWS强烈建议对从一个系统传输到另一个系统的数据进行加密,包括AWS内部和外部的资源。

当您创建AWS帐户时,AWS云的一个逻辑隔离部分被配给给它,即Amazon虚拟私有云(Amazon VPC)。在那里,您可以在您定义的虚拟网络中启动AWS资源。您可以完全控制虚拟网络环境,包括选择自己的IP地址范围、创建子网以及配置路由表和网络网关。您还可以在您的企业数据中心和您的Amazon VPC之间创建一个硬件虚拟专用网(VPN)连接,这样您就可以使用AWS云作为企业数据中心的扩展。

为了保护您的Amazon VPC和您的企业数据中心之间的通信,您可以从几个VPN连接选项中进行选择,并选择一个最符合您需要的选项。您可以使用AWS客户机VPN来启用使用基于客户机的VPN服务对AWS资源的安全访问。您还可以使用第三方软件VPN设备,您可以将其安装在Amazon VPC中的Amazon EC2实例上。或者,您可以创建一个IPsec VPN连接来保护VPC和远程网络之间的通信。要创建从远程网络到Amazon VPC的专用私有连接,可以使用AWS Direct Connect。您可以将这个连接与AWS站点到站点的VPN结合起来,创建一个ipsec加密的连接。

AWS提供使用TLS(传输层安全)协议进行通信的HTTPS端点,当您使用AWS api时,TLS协议提供传输中的加密。您可以使用AWS证书管理器(ACM)服务生成、管理和部署用于在系统之间为工作负载建立加密传输的私有和公共证书。Amazon ELB与ACM集成,用于支持HTTPS协议。如果您的内容是通过Amazon CloudFront发布的,那么它支持加密的端点。

加密工具

AWS提供各种高度可伸缩的数据加密服务、工具和机制,以帮助保护您在AWS上存储和处理的数据。有关AWS服务功能和隐私的信息,请参见AWS服务功能中的隐私考虑7。

AWS的加密服务使用广泛的加密和存储技术,旨在维护静止或传输中的数据的完整性。AWS提供了四种主要的加密操作工具。

  • AWS密钥管理服务(AWS KMS)是AWS管理的服务,可生成和管理主密钥和数据密钥。AWS KMS与许多AWS服务集成,使用来自客户帐户的KMS密钥提供数据的服务器端加密。KMS硬件安全模块(HSMs)经过FIPS 140-2级认证。
  • AWS CloudHSM提供经过FIPS 140-2 Level 3验证的HSMs。它们安全地存储各种自管理的加密密钥,包括主密钥和数据密钥。
  • AWS加密服务和工具
  • AWS Encryption SDK提供了一个客户端加密库,用于实现对所有类型数据的加密和解密操作。
  • Amazon DynamoDB Encryption Client提供了一个客户端加密库,用于在将数据表发送到数据库服务(如Amazon DynamoDB)之前加密数据表。

 

AWS密钥管理服务

AWS密钥管理服务(AWS KMS)是一种托管服务,可以让您轻松创建和控制用于加密数据的加密密钥,并使用硬件安全模块(HSMs)保护密钥的安全性。AWS KMS与其他几个AWS服务集成,以帮助您保护存储在这些服务中的数据。AWS KMS还与AWS CloudTrail集成,为您提供所有关键使用的日志,以满足您的监管和遵从需求。

您可以轻松地创建、导入和轮换密钥,还可以通过AWS管理控制台或使用AWS SDK或AWS命令行接口(AWS CLI)定义使用策略和审核使用情况。

AWS km中的主密钥,无论是由您导入的还是由AWS km代表您创建的,都被称为客户主密钥(CMKs),它们以加密格式存储在高持久性存储中,以帮助确保在需要时可以使用它们。您可以选择让AWS KMS每年自动轮换一次在AWS KMS中创建的CMKs,而不必重新加密已经使用主密钥加密的数据。您不需要跟踪CMKs的旧版本,因为AWS KMS使它们可用来自动解密以前加密的数据。

对于KMS中的任何CMK,您可以通过一系列访问控制(包括授予)和关键策略或IAM策略中的关键策略条件来控制谁有权访问这些密钥,以及可以与哪些服务一起使用这些密钥。您还可以从您自己的密钥管理基础设施导入密钥,并在km中使用它们。

 

AWS服务集成

AWS KMS已经集成了许多AWS服务(在撰写本文时已超过50个)。这些集成允许您轻松地使用AWS KMS CMKs来加密存储在这些服务中的数据。除了使用客户管理的CMK之外,许多集成服务还允许您使用AWS管理的CMK,该CMK是为您自动创建和管理的,但只能在创建它的特定服务中使用。

 

审计功能

如果AWS CloudTrail为您的AWS帐户启用了,那么您存储在KMS中的每个密钥的使用都会记录在一个日志文件中,该日志文件被发送到您启用AWS CloudTrail时指定的Amazon S3存储桶中。记录的信息包括用户、时间、日期和使用的密钥的详细信息。

 

安全

AWS km的设计目的是确保没有人能够访问您的主密钥。该服务构建在使用广泛的强化技术来保护主密钥的系统上,例如决不将明文主密钥存储在磁盘上,不将它们持久存储在内存中,以及限制哪些系统可以访问使用密钥的主机。在服务上更新软件的所有访问由多方访问控制,该访问控制由亚马逊内部的一个独立小组审核。

AWS CloudHSM

AWS CloudHSM服务通过在AWS云中使用专用硬件安全模块(HSM)设备,帮助您满足企业、合同和法规对数据安全的遵从性要求。使用CloudHSM,您可以控制由HSM执行的加密密钥和加密操作。

AWS和AWS市场合作伙伴为保护AWS平台内的敏感数据提供了各种解决方案,但对于需要严格管理加密密钥的合同或监管要求的应用程序和数据,有时需要额外的保护。以前,存储敏感数据(或保护敏感数据的加密密钥)的唯一选择可能是在本地数据中心中。这可能会阻止您将这些应用程序迁移到云上,或者显著降低它们的性能。使用AWS CloudHSM,您可以在按照政府安全密钥管理标准设计和验证的HSMs中保护您的加密密钥。您可以安全地生成、存储和管理用于数据加密的加密密钥,以确保只有您可以访问它们。AWS CloudHSM帮助您在不牺牲应用程序性能的情况下遵守严格的密钥管理要求。

AWS CloudHSM服务与亚马逊虚拟私有云(Amazon VPC)协同工作。CloudHSM实例在您的Amazon VPC中使用您指定的IP地址提供,它提供到您的Amazon Elastic Compute Cloud (Amazon EC2)实例的简单的私有网络连接。当您将CloudHSM实例定位到Amazon EC2实例附近时,可以减少网络延迟,从而提高应用程序性能。AWS提供了对CloudHSM实例的专用和独占(单一租户)访问,这些实例与其他AWS客户隔离。CloudHSM可用于多个区域和可用性区域,使您能够向应用程序添加安全和持久的密钥存储

 

与AWS服务和第三方应用程序集成

您可以将CloudHSM与Amazon Redshift、Amazon关系数据库服务(Amazon RDS)用于Oracle,或将第三方应用程序(如SafeNet Virtual KeySecure)作为您的信任根,Apache (SSL终止)或Microsoft SQL Server(透明数据加密)一起使用。当您编写自己的应用程序并继续使用您熟悉的标准加密库(包括PKCS#11、Java JCA/JCE、Microsoft CAPI和CNG)时,您也可以使用CloudHSM。

审计活动

如果您需要跟踪资源变化,或者出于安全和遵从性的目的而审计活动,那么您可以通过AWS CloudTrail检查您的帐户发出的所有CloudHSM API调用。此外,您可以使用syslog审计HSM设备上的操作,或者将syslog日志消息发送到您自己的日志收集器。

 

AWS加密服务和工具

AWS提供了符合各种加密安全标准的机制,您可以使用这些标准来实现最佳实践的加密。AWS加密SDK是一个客户端加密库,可用Java、Python、C、JavaScript和支持Linux、macOS和Windows的命令行接口。AWS加密SDK提供高级数据保护功能,包括安全的、经过身份验证的对称密钥算法套件,比如带有密钥派生和签名的256位AES-GCM。因为它是专门为使用Amazon DynamoDB的应用程序设计的,所以DynamoDB加密客户端允许用户在将表数据发送到数据库之前保护其数据。它还在检索数据时验证和解密数据。客户机有Java和Python两种版本。

Linux DM-Crypt基础设施

Dm-crypt是一种Linux内核级加密机制,允许用户挂载加密的文件系统。挂载文件系统的过程是将文件系统附加到一个目录(挂载点),从而使其对操作系统可用。挂载之后,文件系统中的所有文件对应用程序都可用,无需任何额外的交互。然而,这些文件在存储在磁盘上时是加密的。

Device mapper是Linux 2.6和3中的一个基础设施。提供了创建块设备虚拟层的通用方法。device mapper crypt target使用kernel crypto API对块设备进行透明加密。本文中的解决方案将dm-crypt与一个由逻辑卷管理器(logical volume Manager, LVM)映射到逻辑卷的磁盘备份文件系统结合使用。LVM为Linux内核提供逻辑卷管理。

数据保护的设计&初始化
每当用户或应用程序尝试使用AWS管理控制台、AWS API或AWS CLI时,就会向AWS发送一个请求。AWS服务接收请求,并根据特定的策略评估逻辑执行一组步骤来确定是否允许或拒绝请求。默认情况下,AWS上的所有请求都被拒绝(应用默认的拒绝策略)。这意味着策略不明确允许的所有内容都被拒绝。在策略定义和最佳实践中,AWS建议应用最小特权原则,这意味着每个组件(如用户、模块或服务)必须只能访问完成其任务所需的资源。

 

这一办法符合《GDPR》第25条,该条规定,数据处理“须实施适当的技术及组织措施,以确保在默认情况下,只处理业务涉及到的所必需的个人资料”。

AWS还提供了以代码的形式实现基础设施的工具,这是一种强大的机制,可以从体系结构设计的一开始就包含安全性。AWS CloudFormation提供了一种通用语言来描述和提供所有基础设施资源,包括安全策略和流程。用这些工具和实践,安全成为代码的一部分,可以版本,监控,和修改(版本控制系统)根据组织的需求这使设计方法的数据保护,因为安全流程和策略可以包含在您的体系结构的定义,也可以不断监测组织的安全措施。

AWS服务能力服务清单

原文来自:

https://d1.awsstatic-china.com/whitepapers/compliance/GDPR_Compliance_on_AWS.pdf

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

VPC 安全的十个最佳实践

随着越来越多的企业选择AWS之类的云计算服务,与此同时云计算环境也变得越来越复杂,因此企业必须制定全面、主动的安全策略,并从开始就建立起安全策略,并要随着基础架构的扩展而发展以保持系统和数据的安全。 

AWS基础架构的安全性已被设计为当今最具灵活、最安全的云计算环境之一。它的设计目标就是提供一个高度可扩展、高度可靠的平台,使客户能够快速安全地部署应用程序和数据。AWS运行在“责任共担”的安全模型之下。AWS负责底层的云基础设施的安全,其用户负责保护部署在AWS上的工作负载。

在AWS的提供的基础设施之中,Amazon Virtual Private Cloud (VPC)承担了非常重要的角色。VPC为我们带来了强大的网络功能,包括静态私有的IP地址、弹性网络接口、安全的Bastion(堡垒)主机设置、DHCP选项、高级网络访问控制、VPN连接、内部IPs和NICs在实例之间的转移等等。在网络安全方面,Amazon VPC 提供了安全组和网络访问控制列表等高级安全功能,可在实例和子网级别启用入站和出站筛选功能。了解更多关于使用Amazon VPC的最佳实践,对于无论正在维护现有的VPC网络,还是计划迁移到AWS环境的企业,都将是有益的。

一、选择满足需求的VPC配置

VPC 是网络架构的基础。设计一个良好的VPC网络架构需要考虑子网、互联网网关、NAT网关、虚拟私有网关、对等连接、VPC终端节点等等的合理配置与安全管理,并要满足具体业务的需求。尽管已经有了更改VPC大小的手段,但考虑到VPC的复杂性以及对于系统的重要程度,强烈建议在规划VPC的时候,建议根据至少两年后的扩展需求来设计Amazon VPC的具体实施

今天,当我们在AWS 管理控制台的“Amazon VPC”页面并选择“启动 VPC 向导”时,
您将会看到用于网络架构的四个基本选项:

  1. 仅带有一个公有子网的 Amazon VPC
  2. 带有公有和私有子网的 Amazon VPC
  3. 带有公有和私有子网以及提供 AWS 站点到站点 VPN 访问的 Amazon VPC
  4. 仅带有一个私有子网以及提供 AWS 站点到站点 VPN 访问的 Amazon VPC

我们要仔细的考虑之后再去选择最适合当前和将来要求的配置。

二、为VPC选择恰当的CIDR块

在设计Amazon VPC实例时,您必须考虑所需的IP地址数量以及与数据中心的连接类型,然后再选择CIDR块,其中包括 RFC 1918 或公有可路由 IP 范围。到目前为止,我们还无法更改或修改Amazon VPC设定的CIDR,因此最好选择具有更多IP地址的CIDR块。此外,在设计混合架构实现Amazon VPC与本地数据中心通信时,务必确保Amazon VPC中使用的CIDR范围不重叠或不会与本地数据中心中的CIDR块发生冲突。对于更改VPC大小的需求,可以通过向现有 VPC 添加4个辅助 IPv4 CIDR 来扩展 VPC。还可以通过删除已添加到 VPC 的辅助 CIDR 块来缩小 VPC。但是不能更改 VPC 的 IPv6 地址范围的大小。

三、隔离VPC环境

本地环境中存在的物理隔离也应该是云环境实践的一个重要原则。许多最佳实践表明,最好为开发、生产和预发布(Staging)创建一个独立的Amazon VPC。有许多人习惯在一个VPC中管理预发布、生产和开发等环境,不过管理之这样具有不同安全性/子网/隔离权重的Amazon VPC其难度之大时可想而知的。相比之下,我更建议为不同的环境使用独立的VPC

四、增强对AWS VPC的保护

运行具有关键任务工作负载的系统需要多个层次的安全性。通过遵循以下一些有用的方法,可以有效的保护Amazon VPC:

  • AWS WAF 是一种 Web 应用程序防火墙,可帮助保护部署在VPC上的Web 应用程序或 API 免遭常见 Web 漏洞的攻击,这些漏洞可能会影响可用性、损害安全性或消耗过多的资源。
  • Amazon Web Services Marketplace提供了第三方提供的Web应用程序防火墙、防火墙以及可用于保护Amazon VPC的其他一些工具。
  • 为了防止未经授权使用或入侵网络,可以配置入侵检测系统(IDS)和入侵防御系统(IPS)。
  • 借助“ 配置特权身份”访问管理,可以审核和监视管理员对VPC的访问。
  • 为了在不同区域之间的Amazon VPC之间或在Amazon VPC之间安全地将信息传输到本地数据中心,可以配置Site-to-Site VPN
  • 安全传输信息的另一种选择是将AWS Transfer用于安全的文件(AWS SFTP)。借助AWS SFTP,可以使用VPC终端节点,并避免使用公共IP地址或通过互联网。此外,AWS SFTP的VPC终端节点通过AWS PrivateLink利用安全功能,该功能在VPC和AWS服务之间提供专用连接。

五、理解VPC上的网络防火墙 – 安全组

AWS通过“安全组”提供了一种虚拟防火墙功能,可在实例级别控制入站和出站的数据流。但是管理AWS网络安全的方式与传统网络防火墙的使用方式有所不同。AWS防火墙的中心组件是“安全组”,基本上是其他防火墙供应商称为策略(或者规则的集合)的组。但是,需要了解安全组和传统防火墙策略之间的关键区别。

首先,在AWS中,安全组的规则中没有特定的“操作”来声明流量是允许还是丢弃。这是因为与传统的防火墙规则不同,AWS安全组中的规则缺省都是允许的的。

第二,AWS安全组规则可以指定流量来源或流量目的地,但不能在同一规则上同时指定两者。对于入站规则,有一个来源可以说明流量的来源,但没有目的地告诉流量该去向。对于出站规则,反之亦然:我们可以设定目标,但不能指定源。这样做的原因是,AWS安全组始终将未指定的一面(源或目的地)设置为使用该安全组的EC2实例。

AWS在允许应用这些安全组规则方面非常灵活。可以将传统安全策略应用于多个防火墙的方式相同,我们可以将单个安全组应用于多个实例。AWS还允许执行与之相反的操作 – 将多个安全组应用于单个EC2实例,这意味着该实例从与其关联的所有安全组中继承规则。这是AWS独特功能之一,使我们可以为特定功能或操作系统创建安全组,然后对其进行混合和匹配以适应业务需求。

六、如无需要,请勿打开0.0.0.0/0(::/0)

通过在安全组中开放0.0.0.0/0(IPv6下为::/0)的端口来允许VPC中的实例是很多专业人员在配置安全组时最常见错误。用户最终打开了他们的云网络,并将其云资源和数据暴露于外部威胁。制定安全组中的策略时需要遵循“最小权限原则”(POLP),仅开放所需的端口,而不是为了简化管理而此让网络暴露在威胁之下。

同样,我们还要关闭不必要的系统端口。

七、启用和配置VPC流日志

我们现在可以为VPC或子网或网络接口(ENI)级别启用AWS VPC流日志,可以捕获有关传入和传出 VPC 中网络接口的 IP 流量的信息。我们通常可以将AWS VPC流日志配置为捕获流经EC2、ELB和一些其他服务的ENI和安全组的接受和拒绝条目。通过扫描这些VPC流日志的条目,用以检测攻击模式,警告VPC内部异常活动和信息流。

我们不必担心VPC流日志对于生产环境网络的影响,流日志数据的收集是在VPC网络流量路径之外,因此不会影响网络吞吐量或延迟。

八、用好VPC对等 (VPC Peering)

VPC 对等连接是两个 VPC 之间的网络连接,通过此连接,您可以使用私有 IPv4 地址或 IPv6 地址在两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。

AWS 使用 VPC 的现有基础设施来创建 VPC 对等连接;该连接既不是网关也不是 VPN 连接,并且不依赖某一单独的物理硬件。没有单点通信故障也没有带宽瓶颈。

从安全性上来说,VPC对等的网络流量保留在私有 IP 空间中。所有区域间流量都经过加密,没有单点故障或带宽瓶颈。流量一直处于全球 AWS 骨干网中,不会经过公共 Internet,这样可以减少面临的威胁,例如常见漏洞和 DDoS 攻击。通常,VPC对等可满足许多需求,例如:

  • 互连的应用程序需要在AWS内部进行私有和安全访问。通常,这可能发生在在单个区域中运行多个VPC的大型企业中
  • 系统已由某些业务部门部署在不同的AWS账户中,并且需要共享或私有使用。某些大型组织为各个业务部门,部门和/或团队拥有不同的AWS账户,并且各组之间的通信需求也有所不同。
  • 更好的系统集成访问,例如客户可以将其VPC与核心供应商的VPC对等

 

九、最廉价的安全工具– 标签(Tag)!

没看错,我说的就是“标签”。 在VPC中对资源的标记非常重要。 我们可以,并非常希望这样做,使用标记策略来有效地组织用于管理、报告、分析的的资源。 对于大型的复杂的网络基础设施,我们的管理会有很多角度,对安全问题尤其如此。 考虑到这一点,请通过使用任何标记策略来保持最佳做法,并在变化时及时进行修改。 当我们的采用越来越多自动化的工具的时候,你会意识到一个良好的标签设计将会为VPC的安全性、可管理性起到何种重要的作用。

十、将安全性集成到DevOps中

无可否认,云计算是一个全新的领域,云计算的安全面临的风险与挑战与日俱增。市场上没有足够的安全计算安全专家,企业也很难找到精通最新云计算技术的专业人员。即使团队雇用了优秀的安全人员,那些可以编写代码的人员也经常被用于开发而不是安全管理。

一个好的经验是,无论企业是否拥有安全运营中心(SOC)或者信息安全(Infosec)专家,都可以使实现安全。在现代化的组织中,安全性不仅应由安全专家或者SecOps团队负责,而应该是整个团队、自上到下的共同努力的目标。请记住这一点,团队中的工具和流程越好,所需的安全专家就越少。我的建议是:

  • 建立具有安全性的DevOps文化,可以概括为“提高组织的安全文化”
  • 全员进行安全培训。安全是每个人的工作—不仅仅是那些工作头衔上有安全的人的工作。
  • 在企业中确立“人+责任 = 安全”的意识

本文转自AWS官方博客《VPC安全的十个最佳实践

AWS安全合规最佳实践-IAM

AWS非常重视其服务和资源的安全性,向客户提供健壮的访问控制服务IAM( Identity and Access Management  ) 服务允许客户管理用户、组、角色和权限。如何正确配置IAM以满足安全性要求完全取决于AWS客户自己。本文收集、整理了安全使用IAM的最佳实践,供读者参考实践。

 

根账号保护

限制AWS根帐户的使用

当您在AWS注册一个帐户时,创建的初始用户帐户称为根帐户。该帐户可以完全访问所有AWS资源(包括账单信息),使其成为特权最高的用户帐户。由于不能限制根帐户凭据权限,建议将对根帐户的访问限制为只能使用根帐户完成的任务(比如创建第一个管理帐户)。对于所有其他任务,创建一个具有管理权限的IAM用户,并使用该帐户日常管理AWS环境。

轮换根帐户访问密钥

无论使用AWS根帐户的次数有多少,强烈建议使用security credentials页面定期轮换帐户访问密钥。

启用多因素身份验证(MFA)

建议您使用虚拟MFA认证,虚拟 MFA 设备是一种软件应用程序,在手机或其他移动设备上运行,基于进行了时间同步的一次性密码算法生成一个六位数字代码。用户登陆除了使用用户名/密码之外,还要提供来自 AWS支持的 MFA,增强账户安全性。

 

IAM用户管理

切勿共享AWS帐户凭证

为需要访问AWS资源的员工创建个人IAM用户,而不是共享AWS帐户。这将允许您根据不同用户的作业需求将一组惟一的权限分配给他们。

使用AWS托管策略分配权限

Amazon提供了一组预定义的策略,完全由AWS管理,客户不允许编辑权限。这些策略旨在服务于常见用例,同时使实施访问策略比自己从头创建策略更容易。使用这些策略的一个重要优势是,您可以在控制台中的一个位置查看所有托管策略。您还可以使用单个 AWS CLI 或 AWS API 操作查看此信息。内联策略是仅 IAM 身份(用户、组或角色)具有的策略。托管策略是可附加到多个身份的独立的 IAM 资源。

使用组分配权限

定义与每个组相关的权限。最后,将 IAM 用户分配到这些组。一个 IAM 组中的所有用户将继承分配到该组的权限。这样,您在一个位置即可更改组内的所有人。公司人员发生调动时,您只需更改 IAM 用户所属的 IAM 组。

授予最低权限

创建 IAM 策略时,请遵循授予最小权限 这一标准安全建议,或仅授予执行任务所需的权限。确定用户(和角色)需要执行的操作,然后制订允许他们 执行这些任务的策略。

执行强密码策略

当留给自己的设备时,大多数用户会选择一个容易被猜到的密码,尽管存在安全风险。根据Skyhigh的数据,最常见的前20个密码占所有密码的10%,其中“123456”和“password”等热门密码占所有密码的5%以上。这意味着,黑客只要使用上述两个密码,就可以侵入二十分之一的用户账户,而无需任何暴力攻击。不过,创建高度安全及易于记忆的密码是可行的,采取以下步骤可确保IAM凭证得到保护:

  • 定义至少14个字符的最小密码长度
  • 需要非字母字符,至少一个大写字母和一个符号
  • 设置密码过期策略并禁止密码重用
  • 不鼓励特权用户在密码中使用字典中的单词

启用多因素认证(MFA)

组织应该假设至少他们的一些云服务用户凭证已经被泄露。由于员工有在不同服务之间重用密码的倾向,启用MFA应该不仅是AWS的要求,也是组织中正在使用的任何云服务的要求。

定期轮换凭证

定期更改您自己的密码和访问密钥,并确保账户中的所有 IAM 用户也这么做。这样,若在您不知情的情况下密码或访问密钥外泄,则您可限制凭证在多长时间之内可用于访问资源。您可以将密码策略应用于您的账户,以要求所有 IAM 用户轮换其密码。也可以选择他们必须轮换密码的时间间隔。

 

 

最佳实践

对EC2上的应用程序使用IAM角色

任何需要访问其他AWS服务才能正常工作的应用程序都需要自己的凭证。作为一种安全最佳实践,使用IAM角色向应用程序提供凭据。角色可以拥有自己的一组权限,不需要附加任何用户/组。

当用户第一次启动EC2实例时,他们可以确定该实例的角色,然后部署在该EC2实例上的任何应用程序都可以使用该角色的凭据来访问其他AWS资源。

使用角色授权权限

请勿在不同账户之间共享安全凭证,防止另一个 AWS 账户的用户访问您 AWS 账户中的资源。而应使用 IAM 角色。您可以定义角色来指定允许其他账户中的 IAM 用户拥有哪些权限。您还可以指定哪些 AWS 账户拥有允许代入该角色的 IAM 用户。

使用策略条件作为附加的安全措施

使用日期/时间条件来限制对资源的访问,这样IAM用户只能在工作日/轮班期间访问资源。

设置允许访问AWS资源的IP地址白名单的条件,以确保只有受信任的IP地址能够访问AWS资源。

对于合同雇员/合作伙伴,设置日期条件,阻止在合同终止日期之后访问AWS资源。

 

 

日常运维

定期检查IAM权限

作为一项安全最佳实践,定期检查组织的AWS IAM策略以确保它们授予的特权最少是很重要的。每个策略都附带一个策略摘要,这是审计IAM策略的一个很好的起点。

删除不必要的IAM用户/凭证

为了将IAM用户凭证被盗的风险降到最低,应该终止所有不必要的IAM用户的访问权限。不再在某个组织工作的员工或跳槽到不需要访问AWS权限的其他部门的员工不应该拥有访问AWS的权限。组织应该审核他们的IAM用户活动,看看哪些用户至少90天没有登录AWS,并撤销他们的权限。

监控用户活动

监控所有云服务中的用户活动(包括IAM用户活动),以识别来自账户受损或恶意/疏忽的内部员工的异常活动。亚马逊通过AWS CloudTrail支持AWS活动监控。

如何查看和跟踪特定 IAM 用户、角色和 AWS 访问密钥的账户活动历史记录,参考如下网址:

https://amazonaws-china.com/cn/premiumsupport/knowledge-center/view-iam-history/

如需进一步协助或服务,请留言,泰岳云业务会提供自动化工具及专业服务。

在 AWS 上构建安全的电商平台

电商已经深入生活的方方面面,电商平台作为直接面对消费者的业务平台,处理着大量的个人敏感数据,包括姓名,住址,电话号码,银行卡号等等。同时电商平台要维持24小时的运营,任何原因导致的业务中断都可能会造成订单的损失,用户体验下降等等。又由于平台面对的消费者通常来自于不同的国家和地区,这就使得电商平台要适应不同区域的合规要求。

电商平台的安全合规具有行业特性,例如在产品的设计阶段(例如服装)就要特别注意信息的保密,在促销季,新品发布季就要特别注重网络的 DDoS 防护 ,售后发货则要保护用户的个人信息。

构建安全合规的电商平台是迫在眉睫,重中之重,AWS 提供了相对应的解决方案。与AWS 其他云服务一样,AWS 安全服务同样具备敏捷性,可扩展性和经济实用性。主要体现在可安全地扩展业务,自动化布署,隐私保护和数据安全为第一任务,丰富的合作伙伴网络,以及全球化的合规认证。

         AWS 提供的安全服务和管理工具服务已经多达38种,并且还在持续不断地根据用户的需求和实际发生的安全事件进行创新。从身份认证开始,到资源保护,再到危胁入倾检测,合规检测,最后是根据系统异常进行纠正,AWS提供了丰富的安全服务和管理工具。

以下从电商平台外部,内部,合规,日常管理和反欺诈五个场景来展开,将AWS的安全服务应用到这五个场景中去。

系统外部的安全。对VPC外围的环境来说,电商平台需要关注的安全问题包括DDoS攻击,非法扫描攻击,账户盗用,存储桶入侵等。

在DDoS防护方面,AWS提供了AWS Shield和AWS WAF两种服务。

由于疫情的影响, 导致线上活动的时间和频率都明显增加,人们更喜欢在网上游戏,交友,办工以及购物,因而线上活动更容易成为DDoS攻击的目标。下表总结了AWS Shield在2020年第一季度检测到的威胁事件,并与2019年第四季度和2019年第一季度进行了比较,我们可以从环比和同比的角度去看整个攻击事件的变化。所有被 AWS Shield检测为DDoS攻击的网络事件,AWS Shield都会自动采取缓解保护措施。通常针对攻击类型,资源状况进行检测。

参数                  2019年四季度     2020年一季度    变化情况                                        

攻击事件总数 282,582 310,954 +10%
容量攻击峰值(Tbps) 0.6 2.3 +283%
     数据包攻击峰值(Mpps) 282.2 293.1 +4%
请求攻击峰值(rps) 1,585,615 694,201 -56%

表1.  比较 2019四季度 和2020一季度

参数           2019年一季度                2020年一季度   变化情况                                            

攻击事件总数 253,231 310,954 +23%
容量攻击峰值(Tbps) 0.8 2.3 +188%
     数据包攻击峰值(Mpps) 260.1 293.1 +13%
请求攻击峰值(rps) 1,000,414 694,201 -31%

2.  比较 2019一季度 和2020一季度

在2020年第一季度,AWS观察到之前未出现过的攻击峰值2.3Tbps,这是通过一个已知的UDP反射攻击–CLDAP反射达到的。这比先前在AWS上检测到的历史攻击峰值加了将近44%。 如此大规模的CLDAP反射攻击发生在2020年2月的第三周,AWS针对此次攻击采取了最高级别响应,最终成功防御了此次攻击。

针对应用层的攻击,AWS提供了WAF服务,并为用户提供了简易上手的自动化布署模板,用户可根据此模板加载相关规则,设置白名单,黑名单,SQL注入防护等规则,该服务还提供了蜜罐功能用于反爬虫和恶意机器人。同时可使用AWS Athena对WAF日志进行分析,再根据分析结果去更新规则。值得一提的是,用户除了可以使用AWS提供的托管规则,或自定义规则外,用户还可以在Marketplace上选用第三方的规则并加载到WAF上,以此来实现多WAF规则的布署。

在应对外部的安全危胁时,电商平台用户可以通过Amazon GuardDuty 威胁检测功能来持续监控和保护 AWS 账户、工作负载以及 Amazon S3 中存储的数据。特别是对于存放用户敏感数据 ,交易信息,产品设计文稿的S3,更加应该注意非授权的访问,非授权的外部分享,恶意IP的访问等。

系统内部的安全。在VPC内部,安全的问题就集中在访问控制,网络和实例的安全以及数据的保护和备份。在今年,频频出现数据泄露,数据被恶意删除等事件,电商平台处理的数据多且集中。数据的安全,需要在以下四个维度做好功课,访问控制,审计,加密和备份。AWS在这四个维度都提供了相应的服务供用户使用。

          以访问凭证的管理为便,在日常工作中,凭证管理容易出现各种疏忽,比如用邮件传送相关凭证,开发者可以看到或者共享相关凭证,凭证的管理杂乱无序,对凭证的使用没有跟踪记录,缺乏可见性,凭证的产生和获得完全依靠安全团队,耗费时力,凭证轮换会影响系统运行的稳定性。 这时可以通过AWS  Secrets Manager进行管理,获取和轮换凭证, 解决凭证明文使用的问题,可以更频繁地进行轮换更新,实现程序化地运行,减少人工参与,同时可审计并追溯凭证使用的情况。

对于内部的网络可到达性和实例的安全性,AWS提供了Inspector服务,在网络层面 可以检测到具体哪个端口在哪条路径被打开,以及正在被哪个进程以什么样的方式使用,在实例层面,可以检测到CVE漏洞,并告知用户可能产生的影响,以及推荐的改进措施。

数据是一切安全合规的本源,对数据进行分类并保护是所有合规的基础。随着业务的发展,生产数据越来越多,各个国家和地区对敏感数据的定义也越来越广,同时数据分布也越来越分散,这一切都使得对敏感数据的识别和保护变更日益重要,特别是电商行业用户。AWS Macie根据现行的GDPR, PCI,HIPAA等合规要求定义出了敏感数据的类型,包括个人信息,家庭信息,健康信息,同时也支持用户自定义敏感信息,AWS Macie可以根据预置的和自定义的敏感数据规则进行分类筛选,并根据发掘出来的数据类型提供不同的保护建议。

对于已经查找出来的敏感数据 ,AWS提供了不同的加密服务,包括ACM, KMS, CloudHSM来满足不同的加密场景,例如传输加密,存储加密,数据库加密和应用加密。


安全合规的风险。安全合规除了应关注具体的合规认证审计之外,也应该关注对整 体运行环境的持续性安全合规检测。以PCI-DSS为例,如果在通过认证之后,有恶意攻击者对整体环境做了异常的配置或操作,也会导致PCI-DSS不合规。这就需要引入工具来对运行环境做持续性的安全合规检测,并针对异常进行告警并纠正,AWS SecurityHub正正是符合这一需求。

AWS Security Hub 可让用户全面查看 AWS 账户中的高优先级安全警报与合规性状态。借助 Security Hub,可以对来自多个 AWS 服务(如 Amazon GuardDuty、Amazon Inspector 和 Amazon Macie),以及来自 AWS 合作伙伴解决方案的安全警报或检测结果进行聚合、组织和设置优先级。相关检测结果可在具有可操作图形和表格的集成控制面板上进行直观汇总。用户还可以使用自动合规性检查,持续监控运行环境。为提高使用的直观性和便利性,该服务可以根据合规检测的结果进行打分,用户可以直接根据得分情况进行改进。

         AWS还提供了PCI-DSS的最佳实践,同时用户也可以通过AWS Artifact去获取AWS的PCI-DSS证书。

提高安全管理的效率。虽然事关安全无大小,但还是应该简化安全的管理流程,将更多的精力和时间投入到业务创新中去。例如证书的管理,和APP用户的管理,就是耗时耗力的工作。AWS ACM可支持通过邮件或DNS进行认证,证书有效期是13个月,支持全托管的更新和布署,被多个浏览器信任,并且完全免费,非常适用于初创企业,客户也可以导入第三方证书到ACM进行简化管理。 在APP用户管理方面,AWS提供了Cognito,  可结合多种社交应用进行注册登陆,也可以支持对注册账号进行综合的安全认证,例如邮件,电话号码唯一性。Cognito可结合AWS Pinpoint对用户进行分类和分析,并产生分析报告,例如用户的区域,注册时间,消费偏好等。

欺诈。在疫情过后,经济正在逐渐恢复,但也出现了各种网络欺诈事件,包括假合同,虚假信用卡支付等。传统应对欺诈的做法是组织人工团队,并针对已发生的欺诈行为进行总结归纳找到规律,再制订相关规则更新到系统中进行防护,此做法通常会滞后,缺乏实时性。近几年也出现了专门提供反欺诈解决方案的公司,但由于欺诈行为通常发生在不同的行业,例如电商,游戏等,这种方案显得针对性不够。AWS Fraud Detector可以用来解决期诈识别,该服务先构建一个机器学习的模型,同时结合了AWS和AMAZON.COM多年的反欺诈经验,最后允许用户上传历史欺诈交易数据,这三方面的结合就给客户提供了一个可用于识别虚假账户,虚假交易,虚假信用卡的方案。此服务还提供了API, 在用户对某一笔交易存疑时,可以实时调用API进行欺诈评估。

本文转载AWS官方博客《在 AWS 上构建安全的电商平台》