[ 首页 ] [ 渗透测试 ] [ 黑客接单 ] [ 黑客技术 ] [ 黑客论坛 ] [ 黑客松 ]



标题 : AWS上的渗透测试:实用指南
日期 : 2023-07-21

什么是AWS上的渗透测试?

亚马逊网络服务(AWS)是全球领先的云平台。它提供弹性计算服务、云存储、数据库以及一系列数据分析和人工智能应用程序,以及部署和自动化服务。

在迁移到 AWS 之前,公司应考虑合规义务、针对云资源或云上托管的敏感数据的网络攻击的风险以及如何解决这些风险。发现云环境中安全漏洞的一种非常有效的方法是通过渗透测试。渗透测试人员可以发现 AWS 部署中的关键安全漏洞,并提供可操作的修复建议。

不过,由于AWS是第三方数据中心,因此执行渗透测试的公司需要遵循特定说明并遵守AWS限制。

在本文中:

  • 为什么 AWS 上的渗透测试很重要
  • 共同责任模型
  • AWS 渗透测试与本地渗透测试
  • 您可以在 AWS 中测试什么?
  • AWS 不允许您测试什么?
  • 如何在 AWS 上执行渗透测试
    • 先决条件
    • 测试身份和访问管理 (IAM)
    • 测试逻辑访问控制
    • S3 铲斗
    • 数据库服务

为什么 AWS 上的渗透测试很重要

云环境高度复杂,存在一些使用现有云安全措施难以发现的安全问题。以下是渗透测试可以帮助发现和修复的安全漏洞的一些示例。

未能保护共享责任模型中客户部分的安全
AWS 使用共享责任模型,该模型规定云客户负责保护工作负载和数据的安全。在许多情况下,组织对其在云中的安全责任的可见性很差。

缺少身份验证、权限或网络分段
许多 AWS 资源没有多重身份验证、不使用网络分段(通过 AWS 安全组)或提供过多的权限。在大型云部署中识别这些资产可能很困难。

合规性要求
受 HIPAA、SOX、PCI DSS 等合规性标准约束的组织需要确保 AWS 资源满足其合规性要求。这使得对云资产进行内部审计、识别并修复其安全漏洞变得非常重要

共同责任模型

在 AWS 上执行的安全测试遵循共担责任模型。亚马逊区分两种类型的安全性:

  • 云的安全——指的是AWS云平台本身的安全,包括云平台和所有AWS服务的安全。亚马逊负责保护云平台的安全,并定期与内部或外部安全工程师一起测试其云。亚马逊客户可能不会对云安全的这方面进行渗透测试。
  • 云中的安全性——这意味着组织在 AWS 平台上部署的资源或资产的安全性。这些是公司或资源所有者的责任,他们需要确保应用程序、资产和系统的安全配置。一般来说,组织可以执行渗透测试来验证安全部署的这些方面。

AWS 渗透测试与本地渗透测试

AWS 渗透所使用的方法和方法在很多方面与传统渗透测试不同。最重要的区别是被测资产的所有权。

亚马逊公司拥有AWS运营的所有核心基础设施。因此,传统渗透测试中使用的许多测试和策略可能违反AWS服务条款。如果渗透测试程序与 AWS 策略冲突,则在 AWS 基础设施上被禁止,并且可能会触发 AWS 事件响应团队的参与。

您可以在 AWS 中测试什么?

AWS 允许客户对 AWS 资产执行安全评估。术语“安全评估”包括为验证和确认跨 AWS 资产的安全控制而执行的各种活动。

以下是 AWS 允许的安全评估的关键示例:

  • 端口扫描
  • 漏洞扫描或检查
  • 网络应用程序扫描
  • 开发
  • 伪造
  • 注射
  • 模糊测试

以下是亚马逊允许的安全评估规则的摘要:

  • 允许:对 AWS 资产执行远程查询以确定软件名称和版本的安全工具,例如横幅抓取。此测试旨在与易受 DoS 攻击的版本列表进行比较。
  • 允许:安全工具或服务会暂时或以其他方式使 AWS 资产上正在运行的进程崩溃,以便在安全评估期间进行本地或远程利用。该工具不允许进行资源请求泛洪或协议泛洪。
  • 允许:具有 DoS 功能的安全工具或服务,具有明确解除、禁用 DoS 功能或以其他方式使其无害的能力。

您可以针对您的 AWS 资产远程执行这些测试、在本地虚拟化资产内以及在 AWS 资产之间执行这些测试。

相关内容:阅读我们的渗透测试工具指南

AWS 不允许您测试什么?

AWS 允许您执行安全评估以验证您的安全控制。但是,AWS 必须确保这些测试不会损害其他 AWS 客户,并且 AWS 可以继续在整个 AWS 生态系统中提供优质服务。

AWS 禁止模拟针对任何 AWS 资产的拒绝服务 (DoS) 或类似攻击。AWS 的 DDoS 模拟测试政策对此限制进行了解释。

以下是亚马逊禁止安全评估规则的摘要:

  • 不允许:以任何方式(模拟或实际)创建、演示或确定 DoS 条件是否存在的任何安全服务或工具。
  • 不允许:包含实际 DoS 功能的工具、服务或工具和服务的功能。
  • 不允许:具有 DoS 功能的安全工具或服务不包含任何明确解除、禁用 DoS 功能或以其他方式使 DoS 功能无害的能力。

AWS 要求客户负责验证和验证客户或代表客户执行的任何安全评估是否符合策略。违反本政策的客户将对因违规安全评估活动给 AWS 和 AWS 客户造成的所有损失承担责任。

如何在 AWS 上执行渗透测试

先决条件

在 AWS 上进行渗透测试之前定义以下方面:

  • 渗透测试的范围,包括目标系统。
  • 要执行的测试类型。
  • 测试要求,应由利益相关者和渗透测试承包商达成一致。
  • 渗透测试的时间表。
  • 渗透测试人员在发现现有安全漏洞时应遵循的协议。
  • 系统所有者对渗透测试人员进行测试的书面批准。

测试身份和访问管理 (IAM)

渗透测试人员在测试AWS中的IAM和身份安全时应重点关注以下几个方面:

  • 测试根账户中是否存在密钥
  • 测试双因素身份验证是否到位
  • 测试 root 帐户是否用于日常任务或自动化
  • 测试服务帐户是否具有不受限制的权限
  • 测试用户是否拥有多个密钥
  • 测试SSH和PGP密钥是否未被刷新
  • 检查不活动帐户

测试逻辑访问控制

测试人员应该关注:

  • 确定操作是否已正确分配给资源
  • 测试对 AWS 中敏感资源和流程的访问是否得到适当控制
  • 测试与 AWS 账户相关的凭证是否安全可靠

S3 铲斗

测试人员应该关注:

  • 测试存储桶上是否启用了相关安全功能 – 身份验证、加密等。
  • 测试是否在存储桶上启用了安全审核 – 版本控制、日志记录等。
  • 测试 GET、PUT 和 DELETE 等操作的权限是否仅限于某些用户。

数据库服务

测试人员应该关注:

  • 测试数据是否定期备份以及备份是否可以安全恢复。
  • 测试敏感资源是否跨多个可用区(多AZ)部署。
  • 测试数据库访问是否仅限于已知 IP 地址。

结论

在本文中,我们解释了 AWS 上渗透测试的基础知识,以及您自己的环境中的渗透测试与第三方提供商拥有的环境中的渗透测试之间的差异。

我们提出了在AWS上进行渗透测试的规则,可以总结如下:

  • 作为渗透测试的一部分,AWS 允许端口扫描、漏洞扫描、利用、代码注入、模糊测试、崩溃 Amazon 资源。
  • AWS 不允许针对 Amazon 资源的拒绝服务 (DoS) 或分布式拒绝服务 (DDoS),除非有特殊限制。

最后,我们展示了如何在 Amazon 基础设施的不同部分进行渗透测试 – 身份和访问管理 (IAM)、逻辑访问控制、S3 存储桶和数据库服务。在每个方面,测试人员都应该了解亚马逊环境特有的风险和攻击面。

LvBug 可以帮助您管理针对 Amazon 以及其他云和本地环境的渗透测试。