1 简介

1.1 概述

描述 AWS 云中安全性的基本知识和优势。
介绍构成 AWS 架构完善的框架安全性支柱的五个方面。
识别用于保护数据和资源的 AWS 服务。

1.2 本地和AWS

1.2.1 本地工作负载面临的挑战

维护 – 使用本地系统时,您需要负责维护服务器的硬件和软件、数据备份、存储和灾难恢复。对于预算和技术资源有限的小型公司,这种维护可能是个问题。
成本 – 从头开始构建系统需要大量的工作,而且成本很高。该成本包括初始投资以及公司将持续产生的维护和运营成本。
移动性 – 本地系统可以远程访问,但通常需要第三方支持才能进行访问和身份验证。这种支持会增加安全和通信失败的风险。
可扩展性 – 如果拥有本地服务器的公司增加了计算方面的需求,则别无选择,只能投资于昂贵的新基础设施。如果公司的需求后来降低到以前的水平,则将承受产能过剩的负担。

1.2.2 AWS 安全服务和解决方案致力于提供以下关键战略优势

防范 -制定平稳和有计划地采用 AWS 的策略,定义用户的权限、身份、基础设施与数据的保护措施。
检测 - 通过日志记录和监控服务了解组织的安全状况。将这些信息提取到可扩展的平台中,以进行事件管理、测试和审计。
AWS 可以帮助您回答如下问题:

  • 谁可以访问此资源?
  • 谁执行了什么操作?
  • 何时以及在何地执行了操作?
  • 用户执行了操作的证据在哪里?

响应-自动化事件响应和恢复,帮助安全团队将重点从响应转移到分析根本原因上。
修复 - 利用事件驱动的自动化功能,以近乎实时的方式快速修复和保护您的 AWS 环境。
AWS 能够回答以下问题:

  • 如何确保高可用性?
  • 能否使用安全性与合规性相关的设置自动部署应用程序?
  • 如何采用可再现的方式应用安全检查?

1.2 AWS 云中的安全

1.2.1 机密性、完整性和可用性

安全是指保护您的知识产权免受未经授权的访问、使用或修改的实践。
机密性、完整性和可用性 (CIA) 三元模型强调组织内信息安全的重要方面。

机密性 - 指的是将信息访问与曝露面限定在授权用户(正确的人员),防止非授权用户访问。
完整性 - 涉及在数据的整个生命周期内维持数据的一致性、准确性和可信度。从更严格的角度来看,信息系统的完整性还包括以下方面:仅保存而不损坏传输或输入到系统中的任何信息。
可用性 - 是指信息资源的就绪程度。

1.2.2 AWS 责任共担模型

AWS 负责保护用于运行 AWS 云中提供的各项服务的全球基础设施。此基础设施包括用于运行 AWS 服务的硬件、软件、网络和设施。
作为 AWS 客户,您负责保护在 AWS 云中创建的数据、操作系统、网络、平台和其他资源。您有责任保护您的数据的机密性、完整性和可用性,确保您的工作负载符合任何特定业务或合规性要求。
image.png

1.2.3 安全性设计原则

实施强有力的身份管理

组织安全文化应该建立在最低权限和强身份验证原则的基础之上。
仅向真正需要访问数据和其他资源的人授予相关权限。
您可以先拒绝对所有内容的访问,再根据工作职务按需授予适当的访问权限。
一种安全最佳实践就是,针对与 AWS 资源的每次交互,通过适当的授权强制执行职责分离。

实现可最追踪性

借助 AWS,您可以实时监控、发出警报和审计对环境的操作及更改。
AWS 提供了原生日志记录和服务,您可以利用这些服务近乎实时地查看环境中发生的事件。
如果了解已部署和可操作的工作负载,您就可以进行审计并确保环境在安全标准预期和要求的安全治理级别运行。

在所有的层上应用安全性

与其关注单个外层的保护,不如应用深度防御方法以及其他安全控制措施。
此方法意味着对所有层实施安全控制,例如您的网络、应用程序和数据存储。
例如,您可能会要求用户对应用程序进行可靠地身份验证。此外,确保用户来自受信任的网络路径并需要获取解密密钥来处理加密数据。

自动实施安全性最佳实践

AWS 提供专门构建的安全性工具,让通常需要安全专家花费时间才能完成的许多日常任务都能实现自动化。
您可以借助一组全面的应用程序编程接口 (API) 和工具来实现安全工程和运营功能的自动化。
通过您已采用的常见软件开发方法,您可以完全实现身份管理、网络和数据安全以及监视功能的自动化并进行交付。

保护传输中的数据和静态数据

保护数据是构建和运营信息系统的关键部分。
AWS 提供的服务和功能为您提供了多种选择来保护静态数据和传输中的数据。
这些选择包括对对象进行精细的访问控制、创建和控制用于加密数据的加密密钥、选择适当的加密方法、验证完整性及适当地保留数据。
创建用于保护传输中数据的机制(如使用虚拟私有网络 (VPN) 和传输层安全性 (TLS) 连接)也是一种安全最佳实践。

最大限度地减少受攻击面

通常,网络攻击会由于以下两个原因之一终止:攻击者自行耗尽其资源并放弃,或者攻击者实现了他们的目标。
准备好扩展和吸收攻击,并最大限度地减少或消除设备未受到保护的可能性。借助这些技术,您还可以吸收更多的应用程序层攻击。

做好应对安全事件的准备

即使您拥有成熟的预防性和检测性控制措施,也应制定流程来响应安全事件并减轻潜在影响。
在安全事件发生之前准备好工具并设置好访问权限,然后在实际试用期定期练习如何响应事件。这将有助于确保您的架构能够及时调整以满足调查和恢复要求。在 AWS 中,处理事件响应时,可以考虑多种不同的方法。

1.3 AWS架构完善的框架

1.3.1 架构完善的框架

当您在 AWS 上构建系统时,AWS 架构完善的框架可以帮助您了解所做决策的利弊。通过使用 AWS 架构完善的框架,您将了解到在云中设计和运行可靠、安全、高效且经济有效的系统的架构最佳实践。它为您提供了一种持续对照最佳实践测评您的架构并确定待改进领域的方法。
该框架基于五个支柱。

卓越运营 - 卓越运营支柱侧重于运行和监控系统以提供业务价值,并不断改进流程和程序。
安全性 - 安全性支柱侧重于保护信息和系统。
可靠性 - 可靠性支柱侧重于预防故障和快速冲故障中恢复以满足业务和客户需求的能力。
性能效率 - 性能效率支柱侧重于高效使用IT和计算资源
成本优化 - 成本优化侧重于避免不必要的成本

1.3.2 五大安全性支柱

安全性支柱表示保护信息、系统和资产的能力,同时通过风险评估和缓解策略提供业务价值。安全性支柱由五个不同的云中安全性领域组成。

身份和访问管理 - 身份和访问管理是安全计划的关键部分。它们可确保只有经过授权和身份验证的用户才能访问您的资源,并且这些用户只能以预期的方式进行访问。
检测性控制 - 您可以使用检测性控制措施来识别潜在的安全威胁或事件。设备控制是治理框架的重要部分,可用于支持威胁识别和响应工作
基础设施保护 - 基础设施保护可以确保工作负载的系统和服务受到保护,防止意外和未经授权的访问和潜在的漏洞。
数据保护 - 数据保护意味着通过加密方法和访问控制来保护静态数据和传输中对数据,并根据敏感程度对数据进行分类。
事件响应 - 即使您的组织拥有极其成熟的预防性和检测性控制措施,也仍应制定流程来响应并减轻安全事件的潜在影响。

2 身份和访问管理

2.1 身份验证与授权

身份和访问管理是信息安全计划的关键部分。
它们可确保只有经过授权和身份验证的用户才能访问您的资源,并且他们只能以预期的方式进行访问。通过使用身份和访问管理,您可以定义谁有权访问哪些资源,并概述可以对这些资源执行哪些操作。

2.1.1 身份验证(谁?)

身份验证是验证用户身份的过程。最常见的身份验证方法是使用密码作为凭证。

2.1.2 授权(做什么?)

授权是授予用户访问特定资源或功能的权限的过程。
授权的一些例子比如给某人下载文件的权限,提供用户管理权限等。
有时在授权中,最重要的问题不是用户可以做什么,而是他们不能做什么。

2.1.3 身份和访问管理方法

在解决身份和访问管理问题时,可以考虑多种不同的方法。
需要考虑的两个最重要的问题是保护 AWS 凭证和建立精细授权。
保护凭证 - 重要的是,您必须仔细管理 AWS 资源的访问凭证。
与 AWS 的每次交互都需要进行身份验证,因此建立适当的凭证管理实践是安全性的基础,这样只有经过身份验证的用户才能在您的账户中执行操作。
精细授权 - 您应建立最低权限原则,以确保仅允许经过身份验证的用户执行最少的功能来完成特定任务。
该原则会把不当使用资源的潜在影响限定在一定范围内。

2.1.4 用于身份和访问管里的AWS服务

Amazon Cognito

Amazon Cognito 是一项服务,用于简化和保护 Web 和移动应用程序的用户注册、登录和访问控制。

AWS Directory Service

AWS Directory Service 是一项托管服务,提供包含贵组织相关信息(包括用户、组、计算机和其他资源)的目录。作为一项托管服务,AWS Directory Service 旨在减少管理任务,使您可以将更多的时间和资源集中在业务发展上。

AWS Identify and Access Management (IAM)

IAM 是一项服务,使您能够安全地管理对账户中的 AWS 服务和资源的访问。
您可以创建用户和组,并应用权限以允许或拒绝对 AWS 资源的访问。

AWS Single Sign-On

AWS SSO 是一项云 SSO 服务,用户集中管理对多个 AWS 账户和业务应用程序的 SSO 访问。
借助这项服务,用户可以利用现有的企业凭证登录用户门户,从一个位置访问所有已分配的账户和应用程序。
AWS SSO 包括与多种业务应用程序的内置安全断言标记语言 (SAML) 集成。
AWS SSO 可与 Microsoft Active Directory 集成,这意味着您的员工可以使用他们的企业 Active Directory 凭证登录您的 AWS SSO 用户门户。

2.2 用于访问管理的AWS IAM

2.2.1 IAM 服务功能和优势

image.pngimage.png

image.pngimage.png

  • IAM 允许您创建角色,从而允许您定义一组权限,然后让经过身份验证的用户承担这些权限。此功能通过授予对您定义的资源的临时访问权限来改善您的安全状况。

  • IAM 让您能够使用权限精确控制用户对特定 AWS 服务和资源的访问权限。

  • 您可以使用现有身份系统通过 IAM 向您的员工和应用程序授予对 AWS 管理控制台和 AWS 服务 API 的访问权限。

  • 仅向每个 IAM 实体授予最低权限,方法是从无访问权限开始,逐步授予相应的权限。

  • 您的安全团队和管理员可以使用 IAM Access Analyzer 来识别可以从 AWS 账户外部访问的资源。

  • IAM 已集成到大多数 AWS 服务中。这种集成提供了在 AWS 管理控制台中的一个位置定义访问控制的功能,这些访问控制将在您的整个 AWS 环境中生效。

2.2.2 使用案例:IAM组和权限

IAM 组是用户的集合。
组使您可以为相似类型的用户指定权限。
例如,如果您有一个名为 Developers 的组,则可以向该组授予开发人员通常需要的权限类型。可以将此功能视为基于角色的访问控制的一种形式。
您应创建反映组织角色而非技术通用性的组。

云安全性提示 #1
Multi-Factor Authentication (MFA) 是保护账户免受不当访问的最佳方法。
始终对您的 AWS 账户根用户和 IAM 用户设置 MFA。

2.3 用于移动身份验证的Amazon Cognito

2.3.1 Cognito 服务功能和优势

image.pngimage.png

  • Amazon Cognito 用户池提供一个可将用户规模扩展到数以百万计的安全用户目录。它是基于标准的身份提供商,支持身份和访问管理标准,如 OAuth 2.0、SAML 2.0 和 OpenID Connect。

  • 借助 Amazon Cognito 身份池,您可以为用户创建唯一的身份,以便他们可以通过 SAML 使用社交身份提供商(如 Google、Facebook 和 Amazon)以及企业身份提供商(如 Microsoft Active Directory)进行登录。

  • Amazon Cognito 支持 MFA 以及静态数据和传输中数据的加密,从而满足多个合规性组织的合规性要求。

  • 借助内置用户界面 (UI) 以及联合身份提供商的简单配置,您可以集成 Amazon Cognito,为应用程序添加用户登录、注册和访问控制。

2.3.2 使用案例:移动身份验证

Amazon Cognito 用户池是一个用户目录,用于管理和处理从社交身份提供商返回的令牌的开销。
成功进行用户池登录后,您的 Web 或移动应用程序将收到来自 Amazon Cognito 的用户池令牌。
然后,这些令牌可用于通过 Amazon Cognito 身份池检索 AWS 凭证。
这些凭证允许您的应用程序访问其他 AWS 服务,而您不必在应用程序中嵌入长期的 AWS 凭证。

image.png

2.3.3 Amazon Cognito 常见场景

使用用户池进行身份验证

您可以允许您的用户使用用户池进行身份验证。
您的应用程序用户可以通过用户池直接登录,也可以通过第三方身份提供商 (IdP) 联合登录。
用户池管理处理以下令牌的开销:从通过 Facebook、Google、Amazon 和苹果进行的社交登录返回的令牌,以及从 OpenID Connect (OIDC) 和 SAML IdC 返回的令牌。
成功进行身份验证后,您的 Web 或移动应用程序将收到来自 Amazon Cognito 的用户池令牌。您可以使用这些令牌检索AWS凭证,允许您的应用程序访问其他AWS服务,也可以选择使用它们来控制对您的服务器端资源或 Amazon API Gateway 的访问。
Getting Started with AWS Security, Identity, and Compliance - 图10

使用用户池访问您的服务器端资源

成功进行用户池登录后,您的 Web 或移动应用程序将收到来自 Amazon Cognito 的用户池令牌。
您可以使用这些令牌控制对您的服务器端资源的访问。您也可以创建用户池组来管理权限以及表示不同类型的用户。
有关更多信息,请参阅 User池身份验证流程将令牌与用户池结合使用
Getting Started with AWS Security, Identity, and Compliance - 图11

使用 API Gateway 和 Lambda 访问资源

您可以允许用户通过 API Gateway 访问您的 API。
API Gateway 会验证来自成功的用户池身份验证的令牌,并使用它们向您的用户授予对资源(包括 Lambda 函数)或您自己的 API 的访问权限。
您可以使用用户池中的组控制使用 API Gateway 的权限,方法是将组成员资格映射到 IAM 角色。
用户所属的组包含在您的应用程序用户登录时用户池提供的 ID 令牌中。
您可以将您的用户池令牌随请求一起提交到 API Gateway,以便 Amazon Cognito 授权方 Lambda 函数进行验证。

Getting Started with AWS Security, Identity, and Compliance - 图12

访问AWS包含用户池和身份池的服务

成功进行用户池身份验证后,您的应用程序将收到来自 Amazon Cognito 的用户池令牌。
您可以用它们交换用于临时访问其他AWS服务与身份池。有关更多信息,请参阅 在登录后使用身份池访问 AWS 服务Amazon Cognito 身份池入门 (联合身份)
Getting Started with AWS Security, Identity, and Compliance - 图13

与第三方进行身份验证和访问AWS包含身份池的服务

您可以允许用户访问AWS服务。身份池需要来自由第三方身份提供商进行身份验证的用户的 IdP 令牌 (如果是匿名来宾,则不需要令牌)。作为交换,身份池授予临时AWS凭证,您可用于访问其他AWS服务。有关更多信息,请参阅 Amazon Cognito 身份池入门 (联合身份)

Getting Started with AWS Security, Identity, and Compliance - 图14

访问AWS AppSyncAmazon Cognito 资源

您可以授予用户访问AWS AppSync资源,其中包含来自成功的 Amazon Cognito 身份验证(来自用户池或身份池)的令牌。有关更多信息,请参阅 。访问AWS AppSync和包含用户池或联合身份的数据源
Getting Started with AWS Security, Identity, and Compliance - 图15

2.4 用于联合用户的AWS Directory Service

2.4.1 Directory Service 解决方案

AWS Managed Microsoft AD

如果您需要在 AWS 云中有一个实际支持 Active Directory 感知型工作负载或支持 AWS 应用程序和服务(如 Amazon WorkSpaces 和 Amazon QuickSight)的 Microsoft Active Directory,或者如果您需要 LDAP 支持 Linux 应用程序,则使用 AWS Directory Service for Microsoft Active Directory。

Active Directory Connector

如果您只需要允许本地用户使用其 Active Directory 凭证登录 AWS 应用程序和服务,则使用 AD Connector。
您也可以使用 AD Connector 将 Amazon Elastic Compute Cloud (Amazon EC2) 实例加入到现有 Active Directory 域。

Simple Active Directory

如果您需要小规模、低成本的目录,并且具备基本的 Active Directory 兼容性,能够支持 Samba 4 兼容应用程序,或者您需要为能够识别 LDAP 的应用程序提供 LDAP 兼容性,那么可以使用 Simple AD。Simple AD 提供的功能是 AWS Managed Microsoft AD 提供的功能的子集,其中包括管理用户账户和组成员资格、创建和应用组策略、安全地连接到 Amazon EC2 实例以及提供基于 Kerberos 的单点登录的功能。

2.4.2 AWS Directory Service 服务功能和优势

  • Directory Service 使您能够在 AWS 云中设置和运行目录,或者将您的 AWS 资源与现有的本地 Microsoft Active Directory 相关联。

  • 您可以通过 IAM 对 AWS 管理控制台进行基于角色的访问,从而使用现有的企业凭证管理 AWS 资源,因此您无需构建更多的联合身份验证基础设施。

  • Directory Service 为失败的域控制器提供自动监控。

  • Directory Service 可让您的最终用户在访问可感知目录的 Microsoft 工作负载(包括自定义 .NET 和基于 SQL Server 的应用程序)时,使用他们现有的企业凭证。

2.4.3 使用案例1:将您的本地Active Directory 扩展到AWS云

如果您已有一个 Active Directory 基础设施,并且希望在将 Active Directory 感知型工作负载迁移至 AWS 云时使用它,那么 AWS Managed Microsoft AD 可以提供帮助。
您可以使用 Active Directory 信任将 AWS Managed Microsoft AD 连接到您的现有 Active Directory。
这意味着,您的用户可以使用其本地 Active Directory 凭证访问 Active Directory 感知型应用程序和 AWS 应用程序,无需您同步用户、组或密码。

image.png

3 检测性控制

3.1 监控概述

AWS 通过持续监控云环境中的网络活动和账户行为来识别威胁。
检测性控制措施使您可以维护云环境的安全性。
您可以使用检测性控制措施来识别潜在的安全威胁或事件。
作为法律或合规义务的一部分,以及作为监管框架的一部分,检测性控制措施也很重要。

3.1.1 安全监控

责任共担模式要求您在操作系统和更高层级中监控和管理您的环境。
您可能已经在本地或其他环境中做到了这一点,因此您可以对现有流程、工具和方法进行调整,使其可在云中使用。要开始安全监控,请先回答以下问题:

  • 关键性能指标是什么?
  • 您应如何衡量这些指标?
  • 这些指标的阈值是多少?
  • 上报流程是什么?

3.1.2 用于检测性控制的AWS服务

AWS 提供了一套服务,这些服务将通过统一的安全性与合规性、托管的威胁检测、应用程序安全性分析以及调查潜在安全性问题的能力来监控和应对威胁。

AWS Security Hub

AWS Security Hub 为您提供 AWS 中安全状态的全面视图,以及您符合安全性标准和最佳实践的情况。
Security Hub 集中处理来自各 AWS 账户、服务和受支持的第三方合作伙伴的安全检测结果并确定其优先级,以帮助您分析安全趋势并确定优先级最高的安全问题

Amazon GuardDuty

您可以使用 Amazon GuardDuty威胁检测功能来持续监控和保护您的 AWS 账户和工作负载。
GuardDuty 可以分析您账户中生成的持续元数据流以及在 CloudTrail 事件、Amazon Virtual Private Cloud (Amazon VPC) 流日志和域名系统 (DNS) 日志中发现的网络活动
它还可以利用集成的威胁情报(例如已知的恶意 IP 地址)、异常检测和机器学习功能来更准确地识别出威胁。

Amazon Inspector

Amazon Inspector 是一项自动化安全评估服务,可帮助您测试 Amazon Elastic Compute Cloud (Amazon EC2) 实例的网络可访问性以及在这些实例上运行的应用程序的安全状态。

Amazon Detective

Amazon Detective 使您可以轻松分析、调查和快速确定潜在安全问题或可疑活动的根本原因。
Detective 会自动从您的 AWS 资源中收集日志数据,并使用机器学习、统计分析和图论来构建一组关联的数据,使您能够轻松地进行更快、更有效的安全调查。

Amazon Macie

Amazon Macie 是一项利用机器学习技术自动发现、分类和保护 AWS 中敏感数据的安全服务。Macie 可识别敏感数据,如个人身份信息 (PII) 或知识产权,并为您提供控制面板和警报,帮助您了解如何访问或移动这些数据。这一完全托管的服务可持续监控数据访问活动是否有异常,并在检测到未经授权的访问风险或意外数据泄漏时生成详细警报。Macie 可用于保护 Amazon S3 中存储的数据

3.2 用于危险检测的 Amazon GuardDuty

3.2.1 GuardDuty 服务功能和优势

  • GuardDuty 的威胁情报与机器学习和行为模型结合,可帮助您检测加密货币挖矿、凭证破解行为或来自已知恶意 IP 的 API 调用等活动。

  • 借助多账户功能,可以将所有成员账户的检测结果与 GuardDuty 管理员账户聚合在一起。这样安全团队可以通过一个账户管理整个组织的所有 GuardDuty 检测结果。

  • 您的安全团队和管理员可以使用 AWS Identity and Access Management (IAM) Access Analyzer 来识别可以从 AWS 账户外部访问的资源。

  • GuardDuty 集成了来自 AWS、CrowdStrike(CrowdStrike是全球知名的下一代终端安全厂商,CrowdStrike 是一种 SaaS(软件即服务)解决方案,它利用先进的 EDR(端点检测与响应)应用程序和技术,提供由机器学习技术加持的业界领先的 NGAV(下一代防病毒)产品,确保在入侵事件发生之前将其阻止Proofpoint
    Proofpoint的是总部设在加州桑尼维尔,提供软件即服务和产品,为入站邮件的安全,出站数据丢失防护,社交媒体,移动设备,数字化的风险,电子邮件加密,电子发现和电子邮件归档的企业安全公司。)的最新威胁情报源。

3.2.2 使用案例:使用GuardDuty 自动修正检测结果

如果 GuardDuty 检测结果表明一个已知的恶意 IP 正在探测您的一个 Amazon Elastic Compute Cloud (Amazon EC2) 实例,您可以利用 Amazon CloudWatch Events 规则来触发 AWS Lambda 函数,以便自动修改您的安全组/网络访问控制列表(网络 ACL)规则并限制对相应端口的访问,从而解决这个问题。
image.png
云安全性提示 #2
查看 GuardDuty 检测结果时,您需要采取行动。
您自己的事件响应策略决定了要采取的措施。
对于每个检测结果,请确保您已确定应采取的应对措施。


3.3 用于确定检测结果优先级的 AWS Security Hub

3.3.1 AWS Security Hub 服务功能和优势

image.png

  • 对于来自 AWS 服务和 AWS 合作伙伴网络工具的跨账户安全检测结果,AWS Security Hub 减少了收集并确定其优先级的工作量。
  • 借助 AWS Security Hub,您可以根据行业标准和最佳实践(例如互联网安全中心 (CIS) AWS Foundations Benchmark)运行自动化、持续的账户级配置与合规性检查。
  • AWS Security Hub 提供集成的控制面板,用于将所有账户的安全检测结果汇总起来,方便您查看当前的安全性与合规性状态。您可以轻松发现趋势,识别潜在问题,并执行必要的后续步骤。
  • AWS Security Hub 支持与 Amazon CloudWatch Events 集成。 通过这种集成,您可以通过定义收到检测结果时要执行的自定义操作来自动修复特定检测结果。

    3.3.2 使用案例

    image.png
  1. 数据源 集成服务将检测结果发送至Security Hub。支持的数据源包括AWS合作伙伴集成,合规性基准和某些AWS服务,如Amazon Guard Duty,Amazon Inspector,AWS Firewall Manager,IAM Access Analyzer和Amazon Macie。
  2. 自定义事件 在Security Hub中,你需要为事件结果选择自定义操作,然后,每个自定义事件都将作为CloudWatch事件发出。
  3. 基于事件的触发器 CloudWatch事件规则触发Lambda函数,此函数根据自定义操作的AWS资源编号(ARN)标识符映射到响应的自定义操作。
  4. 问题修复 根据特定的规则,调用的Lambda函数将代表你执行修复操作。

云安全性提示 #3
Security Hub 使用 CIS 基准提供有关 AWS 账户合规性状况的视图。
其中一项检查将查找使用访问密钥超过 90 天的 IAM 用户。如果您需要使用访问密钥而不是角色,则应定期轮换这些密钥。如果您的用户通过联合用户访问 AWS,您无需为用户颁发 AWS 访问密钥。
用户向身份提供商 (IdP) 进行身份验证,并在目标 AWS 账户中担任 IAM 角色。结果是不需要长期凭证,您的用户将拥有与 IAM 角色关联的短期凭证。

3.4 用于数据监控的 Amazon Macie

Macie 使您能够识别业务关键型数据并分析访问模式和用户行为。它持续监控您的 AWS 环境中的新数据,同时使用人工智能自动访问用户活动、应用程序和服务账户,从而了解历史数据的访问模式。借助 Macie,您可以创建自己的安全警报和自定义策略定义。

3.4.1 服务功能和优势

  • Macie 可以识别具有高商业价值的数据,包括用于检测源代码的编程语言、日志记录格式、数据库备份格式、凭证和 API 密钥格式。
  • Macie 的用户行为分析引擎可通过 AWS 服务 API 调用帮助您识别风险或可疑活动,并访问高价值内容。
  • 借助 Macie,您可以将 SIEM 服务与托管安全服务提供商 (MSSP) 解决方案集成。

3.4.2 使用案例:自定义警报

Macie 的一个常见使用案例是发现 Macie 收集的相关数据字段并将这些字段转换为自定义警报的过程

开始设计警报时,第一步是考虑与主题相关的所有资源、属性、操作和身份。
在这种情况下,您正在查看存储在 Amazon Simple Storage Service (Amazon S3) 中的敏感数据或关键数据,因此以下是要考虑的一些潜在有用数据字段:

  • Amazon S3 存储桶和对象资源
  • Amazon S3 配置和安全属性
  • Amazon S3 上的读取、写入和删除操作
  • 与 Amazon S3 资源关联的 AWS Identity and Access Management (IAM) 用户、角色和访问策略

image.png

上面是一个公司使用 AWS Direct Connect 创建与 AWS 的混合连接的示例。所有生产数据都将发送到 AWS 进行存储,根据合规性要求进行存档以及通过 Amazon Athena 进行分析。随着 Macie 的加入,现在可以针对以下方面对数据进行监控和分类:
通过分析 AWS CloudTrail 日志和事件进行匿名访问
公有 Amazon S3 存储桶中的个人身份信息(PII)构件
具有某些关键字的 Amazon S3 存储桶和对象
包含某种类型的数据的 Amazon S3 对象

云安全性提示 #4
并非所有数据都同样重要,这意味着正确分类数据对其安全性至关重要。数据的分类方式不必像二进制数据一样划分为公有或私有。数据具有各种敏感程度,您可能拥有敏感程度和机密性各不相同的数据。根据数据敏感程度,使用相应的预防性和检测性控制措施组合来设计您的数据安全性控制措施。

4 基础设施保护

4.1 保护您的计算资源

基础设施保护是任何信息安全计划的关键部分。
它可以确保工作负载内的系统和服务受到保护,防止意外和未经授权的访问以及潜在的漏洞。
AWS 可以根据您创建的规则筛选流量,从而为 Web 应用程序和计算资源提供保护。

4.1.1 保护网络和主机级边界

image.png
您放置在环境中的资源会继承基础网络的安全属性,因此为工作负载建立适当的网络设计至关重要。
如何设计网络可以为环境中的资源提供隔离和边界。您应确保在仅允许所需的网络路径和路由的情况下实施设计。
Amazon Virtual Private Cloud (Amazon VPC) 允许您在 AWS 云中预置一个逻辑隔离的部分,以便在自己定义的虚拟网络中启动资源。您可以完全掌控您的虚拟联网环境,包括选择自己的 IP 地址范围、创建公有和私有子网以及配置路由表。

4.1.2 管理系统安全配置和维护

image.png

管理环境中运行的系统的安全性为维护可靠、安全、可扩展的系统奠定了基础。
系统的安全状况取决于可用的控制措施和您自己的控制措施,如操作系统安装的威胁检测、漏洞扫描程序、反恶意软件检测以及任何有助于验证和维护操作系统完整性的工具。这些控制措施还构成了纵深防御策略的另一个层级。
AWS 提供了 Amazon Inspector 等多种服务来检查应用程序和 Amazon Elastic Compute Cloud (Amazon EC2) 实例的安全状况。
4.1.3 强制实施服务级保护
image.png
需要进行服务终端节点安全配置,以确保用户和自动化系统完全具有执行其任务所需的访问级别(最低权限)。您可以通过使用 AWS Identity and Access Management (IAM) 定义策略来保护 AWS 服务终端节点。此外,某些资源具有其自己的资源级策略。
制定 IAM 和资源策略时,请确保应用最低权限方法,并相应地设置服务级访问策略。

云安全性提示 #6
安全组是一种确保能够通过网络访问您在 AWS 上预置的资源的关键方式。确保仅打开所需端口并从已知网络范围启用连接是基本的安全措施。

4.2 用于基础设施保护的 AWS 服务

4.2.1 AWS Shield

image.png
AWS Shield 是一项托管服务,用于保护 AWS 上运行的应用程序免受分布式拒绝服务 (DDoS) 攻击。AWS Shield Standard 可自动对所有 AWS 客户启用,且无需额外付费。

4.2.2 AWS WAF

image.png
AWS WAF 是一种 Web 应用程序防火墙,允许您配置规则,根据您定义的条件允许、阻止或监视(计数)Web 请求,从而帮助保护 Web 应用程序免受攻击。这些条件包括 IP 地址、HTTP 标头、HTTP 正文、统一资源标识符 (URI) 字符串、结构化查询语言 (SQL) 注入和跨站脚本。

4.2.3 AWS Firewall Manager

image.png
AWS Firewall Manager 是一款安全管理工具,可让您更轻松地在账户间配置 AWS WAF 规则。借助 Firewall Manager,大型组织的安全管理员只需这一个工具即可编写整个公司的所有规则,在 AWS WAF 保护的应用程序中强制执行这些规则,以及集中查看针对其 Application Load Balancer 和 Amazon CloudFront 基础设施的攻击。

4.3 用于流量过滤的 AWS WAF

4.3.1 服务功能和优势

  • AWS WAF 可以根据您创建的规则筛选流量,从而保护 Web 应用程序免遭攻击。例如,您可以筛选 Web 请求的任意部分,如 IP 地址、HTTP 标头、HTTP 正文或 URI 字符串。
  • 使用 AWS WAF 托管规则,您可以快速开始使用您的 Web 应用程序或 API,并保护它们免遭常见的威胁。
  • AWS WAF 可以近乎实时地查看您的 Web 流量。您可以利用此信息在 Amazon CloudWatch 中创建新规则或警报。
  • 无论是作为内容分发网络 (CDN) 解决方案的一部分部署在 Amazon CloudFront 上,还是部署在位于所有源服务器之前的 Application Load Balancer 上或者适用于您的 API 的 Amazon API Gateway 上,AWS WAF 都能保护应用程序。
  • AWS WAF 属于可自定义的自助服务,基于您部署的规则数量和您的 Web 应用程序收到的 Web 请求数量进行定价。

4.3.2 使用案例:保护动态 Web 应用程序免遭攻击

Amazon CloudFront 是一种 CDN 服务,它以低延迟、高传输速度向全球客户安全地分发数据、视频、应用程序和 API。
Amazon Route 53 是一种高度可用且可扩展的云 DNS Web 服务,用于将用户请求与在 AWS 中运行的应用程序连接起来。
AWS 在数据中心的分布式代理服务器网络上托管 CloudFront 和 Route 53 服务,这些数据中心遍布全球,称为边缘站点。

image.png

  • 内容源 Amazon CloundFront支持源自AWS或您公司数据中心内的终端节点资源的静态和动态内容。
  • 边缘站点的保护 在此解决方案中,可以监视发送到CloundFront的HTTP和HTTPS的请求,并可以使用 AWS WAF在边缘站点控制好对应用程序资源的访问。AWS WAF还可以用于筛选私有API和Amazon API GateWay。
  • 流量过滤 根据你在AWS WAF指定的条件,例如请求源的IP地址或查询字符串的值,可以允许、阻止流量或允许对流量进行计数,以便进一步调查或修复。
  • 请求路由 Router53的请求路由技术将每个客户段连接到最近的边缘站点,该站点由持续更新的延迟测量值确定。

4.4 用户DDOS保护的AWS Shield

AWS Shield 是一种托管型 DDoS 防护服务,可以保护在 AWS 上运行的应用程序。
DDoS 攻击是指多个遭入侵系统尝试用流量来“淹没”目标(如网络或 Web 应用程序)的攻击。
DDoS 攻击可能阻止合法用户访问服务,并可能由于流量巨大而导致系统崩溃。
AWS 提供了两种级别的保护来防御 DDoS 攻击:

  • AWS Shield Standard(默认启用,不收取额外费用)
  • AWS Shield Advanced

image.png

4.4.1 服务功能和优势

  • AWS Shield 提供网络流量持续监控功能,这一功能可以检测传入 AWS 的流量,并结合流量签名、异常算法和其他分析技术来实时检测恶意流量。
  • 内置自动缓解技术并以内联方式应用于您的应用程序,因此不会受到延迟的影响。这样可以防御第 3 层和第 4 层最频繁出现的常见基础设施攻击。
  • AWS Shield 与 Amazon Route 53、Amazon CloudFront 和 Elastic Load Balancing 集成,以保护您的应用程序免遭 DDoS 攻击。
  • AWS Shield Advanced 提供实时指标和报告,方便您全面了解 AWS 资源所遭受的攻击。
  • AWS Shield Advanced 使您可以全天候访问 AWS DDoS 响应团队 (DRT),并防止 Amazon Elastic Compute Cloud (Amazon EC2)、ELB、CloudFront 或 Route 53 费用中出现与 DDoS 相关的峰值。

4.4.2 使用案例:高性能 DDoS 防护

William Hill 使用 AWS 服务(CloudFront、Shield Advanced、WAF、R5 实例、Lambda 等)构建了高性能 DDoS 和边缘保护平台。
image.png

5 数据保护

5.1 AWS上的加密

AWS 提供的服务可帮助您保护数据、账户和工作负载免受未经授权的访问。AWS 数据保护服务提供加密和密钥管理功能并保护传输中的数据。在本节中,您将了解用于数据保护的 AWS 服务。

5.1.1 静态加密

静态数据表示在任何时间段内保留或存储的任何数据。其中包括块存储、对象存储、数据库、存档以及任何其他可保留数据的存储介质。实施加密和适当的访问控制有助于保护您的静态数据,并降低未经授权访问的风险。

加密数据时,有两种选择:
image.png

5.1.2 传输中保护

传输中的数据是指从一个系统传输到另一个系统的所有数据。
这包括环境中资源之间的通信以及其他服务与您的最终用户之间的通信。
通过为传输中的数据提供适当水平的保护,您可以保护应用程序数据的机密性和完整性。

  • AWS 服务提供使用 TLS 进行通信的 HTTPS 终端节点,从而在与 AWS API 通信期间提供端对端加密。
  • 使用 AWS 生成、部署与管理用于在基于 Web 的工作负载中进行 TLS 加密的公有和私有证书。
  • 在通过 VPN 连接到 AWS 时使用 IPsec 来帮助对流量进行加密。

5.1.3 用于数据保护的AWS服务

您可以使用以下 AWS 服务来加密数据并保护静态数据和传输中的数据。

AWS Key Management Service (KMS)
image.png
AWS KMS 是一项托管服务,让您能够轻松地创建和控制用于加密操作的密钥。该服务为您提供了一个可用性高的密钥生成、存储、管理和审计解决方案,让您可以在自己的应用程序内加密数据或以数字方式对数据签名。它还允许您控制 AWS 服务间的数据加密。

AWS CloudHSM
image.png
CloudHSM 通过在 AWS 云中使用专用的硬件安全模块 (HSM) 实例,帮助您满足数据安全方面的企业、合同和监管合规性要求。

AWS Certificate Manager (ACM)
image.png
ACM 是一项服务,可让您轻松地预置、管理和部署公有和私有安全套接字层/传输层安全性 (SSL/TLS) 证书,以便用于 AWS 服务和您的内部互联资源。

AWS Secrets Manager
image.png
Secrets Manager 是一种密钥管理服务,可帮助保护对应用程序、服务和 IT 资源的访问。此服务使您能够轻松地在数据库的整个生命周期内轮换、管理和检索数据库凭证、API 密钥和其他密钥。

5.2 用于密钥管理的AWS KMS

AWS KMS 可使您集中管理和安全存储您的密钥。
您可以在应用程序和受支持的 AWS 云服务中使用这些密钥来保护您的数据。密钥永远不会离开 AWS KMS,这可以降低数据密钥外泄的风险。您将数据提交至 AWS KMS,以便使用您控制的密钥对其进行加密或解密。您为这些密钥设置使用策略,以决定哪些用户可以用它们来加密和解密数据。使用这些密钥的所有请求都记录在 AWS CloudTrail 中,因此您可以了解谁在何时用了哪个密钥。

5.2.1 服务器端加密示例

image.png

  1. 数据传输 使用服务器端加密(SSE),数据通过HTTPS传输到AWS。然后,该服务在接收到API调用后对数据进行加密,在这种情况该服务是 S3,SSE对最终用户是完全开放的。
  2. 数据密钥 然后,AWS KMS 会生成一个数据密钥,S3使用此数据密钥对其接收的每个对象进行加密。每个对象都有自己唯一的数据密钥。
  3. 客户主密钥 然后,使用AWS或客户可以管理和轮换的客户主密钥(CMK)对数据密钥进行加密。AWS KMS会跟踪哪个主密钥用于加密数据密钥。
  4. 密钥存储 然后,将加密的数据密钥和数据一起存储,以便服务了解以后在哪里可以找到用于解密数据的密钥。

5.2.2 CMK 的类型

加密数据密钥时,AWS KMS 可以使用两种类型的 CMK:AWS 托管和客户托管。下表总结了 AWS 托管 CMK 和客户托管 CMK 之间的主要区别和相似之处。
image.png

5.2.3 服务功能和优势

  • 使用 AWS KMS,您可以通过定义密钥的使用权限来控制对加密数据的访问,而 AWS KMS 会强制执行您的权限并处理密钥的持久性和物理安全性。
  • AWS KMS 提供了单一控制点,可管理密钥并在集成的 AWS 服务和您自己的应用程序之间以一致的方式定义策略。
  • AWS KMS 与 AWS 加密开发工具包集成,使您可以使用受 AWS KMS 保护的数据加密密钥在应用程序中进行本地加密。
  • AWS KMS 中的安全和质量控制已通过多种合规性计划的认证,以简化您自己的合规性义务。
  • AWS KMS 与 AWS 服务集成,可简化使用密钥加密 AWS 工作负载中的数据的过程。

5.3 用于保护通信的 AWS Certifcate Manager

5.3.1 AWS Certificate Manager 功能和优势

  • ACM 可管理用于 ACM 集成服务(例如 Elastic Load Balancing 和 Amazon API Gateway)的证书的续订和部署过程。
  • 借助 AWS Certificate Manager Private Certificate Authority API,ACM 使您能够自动为本地资源、Amazon Elastic Compute Cloud (Amazon EC2) 实例和物联网 (IoT) 设备创建和续订私有证书。
  • 使用 ACM,您无需再为获取用于网站或应用程序的 SSL/TLS 证书而经历许多耗时且容易出错的步骤。
  • 使用 ACM,您无需生成密钥对或证书签名请求 (CSR),也无需向证书颁发机构提交 CSR 或者在收到证书后进行上传和安装。
  • 使用 ACM,预置用于 ACM 集成服务的公有或私有 SSL/TLS 证书不需要额外付费。

5.3.2 常用使用案例

  • 保护您的网站安全

SSL/TLS 为传输中的敏感数据提供加密,并使用证书进行身份验证,以确立您的站点的身份,同时保护浏览器、应用程序与您的站点之间的连接安全。ACM 提供了一种简单的方法来预置和管理这些证书,这样您就可以将网站或应用程序配置为使用 SSL/TLS 协议。

  • 保护内部资源安全

ACM 私有 CA 为您提供了一项高度可用的私有证书颁发机构 (CA) 服务,而无需前期投资和运行私有 CA 所需的持续维护费用。通过为开发人员提供 API,ACM 私有 CA 允许他们以编程方式更敏捷地创建和部署私有证书。对于需要自定义证书生命周期或资源名称的应用程序,您还可以灵活地为它们创建私有证书。

  • 延长正常运行时间

ACM 可以帮助您解决维护 SSL/TLS 证书时面临的各种难题(包括证书续订),因此您不必担心证书过期。

5.4 用于凭证管理的 AWS Secret Manager

5.4.1 AWS Secret Manager 功能和优势

image.png image.png

  • Secrets Manager 使您可以安全地轮换密钥,而无需部署代码,从而帮助您满足安全性与合规性要求。
  • 借助 Secrets Manager,您可以使用精细的 AWS Identity and Access Management (IAM) 策略和基于资源的策略来管理密钥的访问权限。
  • Secrets Manager 为 Amazon Relational Database Service (Amazon RDS)、Amazon Redshift 和 Amazon DocumentDB(兼容 MongoDB)提供内置集成功能,并能以您的身份自动轮换这些数据库凭证。
  • 借助 Secrets Manager,您可以使用由 AWS KMS 管理的加密密钥对密钥进行加密,从而达到保护密钥的目的。
  • Secrets Manager 还集成了 AWS 日志记录和监控服务,以便进行集中审计。
  • 借助 Secrets Manager,您可按照在 Secrets Manager 中管理的密钥数量和进行 Secrets Manager API 调用的次数来付费。

    5.4.2 使用案例

    您可以使用 AWS Secrets Manager 保护数据库凭证。
    Secrets Manager 将您的凭证发送到 AWS Lambda 函数,该函数可以使用这些凭证来访问和查询 Amazon RDS 等数据库服务。执行此过程时,无需对代码中的密钥进行硬编码,也无需通过环境变量传递密钥。这种方法将帮助您保护“最后一英里”密钥和后端数据库。
    image.png
  1. API调用 该过程首先调用Amazon APIGateway上托管的RESTful API。
  2. 函数执行 API GateWay 执行Lambda函数以查询数据库。
  3. 密钥检索 该函数使用Secret Manager API 检索数据库密钥。Secrets Manger检索密钥,解密收保护的密钥文本,然后通过首保护的通道将其放回给函数。
  4. 查询结果 最后,Lambda函数使用Secrets Manager中的数据库密钥链接到Amazon RDS数据看,并返回查询结果。

云安全提示 #5
某些应用程序需要使用期限更长的凭证,如数据库密码或其他 API 密钥。如果是这种情况,千万不要在应用程序中对这些密钥进行硬编码或将其存储在源代码中。

6 事件响应

6.1 重新思考事件响应

为了在云中运行而构建的环境和本地运行的环境之间存在明显的区别。
当涉及到事件响应时,也是如此。例如,事件响应的准备和实践方面可以在 AWS 上更有效地完成。AWS 云中的事件响应速度更快、更便宜、更高效且管理更简单。利用 AWS 可显著增强您的检测、反应和恢复能力。某些调查的功能只有通过使用 AWS 才能够进行。

6.1.1 使用 API 进行自动化

在 AWS 中,您可以使用 API 自动执行事件响应期间必须执行的许多日常任务。例如,使用单个命令就可以更改与实例关联的安全组,从而达到隔离实例的目的。

6.1.2 对数据卷执行取证

取证通常需要捕获磁盘映像或操作系统的“原样”配置。您可以使用 Amazon Elastic Block Store (Amazon EBS) 快照和 Amazon Elastic Compute Cloud (Amazon EC2) API 捕获正在接受调查的系统的数据和状态。

6.1.3在全新环境中运行

AWS CloudFormation 可用于快速创建新的受信任环境,并在其中进行更深入的调查。AWS CloudFormation 可以在隔离的环境中部署预配置的实例。这些实例可能包含取证团队确定事件原因所需的所有必要工具。

6.1.4 将 AWS 服务协调到无服务器工作流程中

AWS Step Functions 支持您将多个 AWS 服务协调到无服务器工作流中,这样您就可以快速构建和更新应用程序。工作流程由一系列步骤组成,其中一个步骤的输出充当下一个步骤的输入。您可以使用 Step Functions 来设计工作流程,使其与 AWS Lambda 和 AWS CloudFormation 等服务一起运行,以响应云中的事件。

6.2 用于响应事件的AWS Config

image.png
image.png

6.2.1 AWS 服务功能和优势

  • 借助 AWS Config,您可以持续监控和记录 AWS 资源的配置更改。
  • 借助 AWS Config,您可以持续审计和评估 AWS 资源配置在整体上是否符合您组织的策略和准则。
  • 借助 AWS Config,您可以跟踪资源之间的关系,并在做出更改前查看资源依赖关系。
  • 借助 AWS Config,您可以获取一份 AWS 资源配置更改的完整历史记录,从而简化运行问题的排查流程。

6.2.2 使用案例:响应配置更改

您可以使用 AWS Config 来响应不需要的配置更改。
当创建、更改或删除某些特定类型的资源时,AWS Config 会运行评估。
您可以通过定义规则的范围来选择哪些资源会触发评估。当检测到配置更改时,AWS Config 会调用 AWS Lambda 函数。

image.png

  1. 配置更改 S3存储通标签已从prod 更改为dev。根据业务要求,未经特别授权,不能删除所有prod存储通。使用dev标签,现在可以放宽存储通中的权限。
  2. 通知 AWS Config 已设置为使用 Amaon SNS发出标签已更改的通知。
  3. Lambda函数 你还可以设置AWS Config来触发Lambda函数以便修复该问题。
  4. 强制实施规则 响应未经授权的配置更改时,Lambda函数会将存储通标签该会prod。

7 AWS 架构完善工具

AWS 架构完善的工具是一种自助服务工具,旨在帮助客户随时检查 AWS 工作负载,无需 AWS 解决方案架构师的参与。利用该工具,您可以通过一种一致的流程来检查工作负载,了解工作负载架构中的潜在风险,并确定后续改进措施。

7.1 工作原理

image.png

  1. 定义工作负载 要定义工作负载,首先要回答一系列与架构相关的问题。工作负载是构成云应用程序的资源和代码的结合。
  2. 五大支柱 该工具对照AWS架构完善的框架的5大支柱来评估您的回答,并提供改进计划,其中按优先级顺序列出了工作负载的问题 您应该在开发周期的主要里程碑环节执行工作负载审核。
  3. AWS最佳实践 获取与AWS最佳实践相关的视频和文档,以针对如何构建更好的云工作负载的分步指导。
  4. 报告 生成总结工作负载结果的报告。使用这种报告来确定后续改进措施、推动架构决策的决定,并将架构注意事项纳入公司监管流程。
  5. 控制面板 在一个控制面板中查看整个组织的工作负载审核结果。使用AWS 架构完善的工具支持在整个工作负载什么周期中执行持续改进。

首先定义您的工作负载,然后回答一系列与 AWS 架构完善的框架的五大支柱有关的问题:卓越运营、安全性、可靠性、性能效率和成本优化。接下来,AWS 架构完善的工具将提供一项计划,阐明可用于工作负载的一些改进措施。AWS 架构完善的工具免费提供,您只需支付所用 AWS 资源的费用。但是,只有部分区域可以使用该工具。
image.png