AWS扫描引擎

AWS扫描引擎亚马逊机器映像(AMI)允许您了解和管理与动态EC2资产相关的风险。您可以使用中添加一个或多个扫描引擎Rapid7扫描引擎在AWS Marketplace上市。

一旦你创建一个AWS动态发现连接,安全控制台使用AWS API提取EC2实例列表。引擎使用端口扫描、服务检测以及未经验证和验证的检查组合来扫描这些实例以查找漏洞。

依赖关系

  • 在部署扫描引擎之前,必须部署并授权安全控制台
  • 要使用AWS扫描引擎,必须配置动态发现连接使用您要扫描的AWS帐户。您必须在创建动态发现连接时指定要使用的扫描引擎,因此请先先在开始配置发现连接之前先部署AWS扫描引擎。
  • 启动AWS扫描引擎时,必须将引擎配对为安全控制台。AWS扫描引擎没有用户可访问的界面,因此您必须在启动AMI时向引擎提供控制台信息。这是使用EC2用户数据完成的。
  • 安全控制台必须允许对TCP端口40815的访问,以接收来自扫描引擎的数据。
  • 扫描引擎不需要允许新的入站连接,但必须能够在安全控制台上建立出站40815的出站通信。
  • 为了准确扫描结果,EC2安全组扫描引擎使用应允许在其私有IP地址上的所有端口上与所有目标(例如您要扫描的EC2实例)进行未过滤的通信。同样,所有目标资产必须属于安全组或组,允许扫描引擎的安全组与其私有IP地址的所有端口上的资产通信。如果您使用CloudFormation模板部署扫描引擎,则可以选中云信息自动为扫描引擎和目标创建正确配置的安全组。将在安装说明中更详细地讨论安全组的设置。

已知的限制

  • AWS市场上可用的扫描引擎被设计为仅扫描已被使用的资产由动态发现检测.完成这是为了确保您遵守AWS渗透测试政策而不是无意中扫描您不拥有的资产。
  • 为了让AWS中的扫描引擎跨多个vpc进行扫描,您必须将vpc配置为允许流量在它们之间流动。您可以使用几个选项来实现这一点,包括vpc凝视或者过境网关.VPC对等连接往往是最安全的选择,但您需要决定针对您的具体情况的最佳方法。就像内部网络防火墙一样,如果您不想方便VPC之间的通信,则需要在每个VPC中安装扫描引擎。你也可以考虑一种不同的评估方法,比如嵌入必威体育app登录在所有EC2实例上。
  • 安全控制台不会扫描一些较小的EC2实例(例如m1.small或t1.micro)。这些实例可能会出现在动态发现结果中,但不会被扫描。

安装、配置和使用

请参考以下步骤在您的环境中部署AWS扫描引擎。

准备安全控制台和您的AWS环境

  1. 安全控制台需要接受来自扫描引擎的端口40815上的传入连接。
    • 如果您的安全控制台在EC2实例上的AWS中托管,请修改实例的安全组以允许此操作。
    • 如果您的安全控制台托管在另一个环境(例如本地部署)中,请修改防火墙和任何其他适用的安全系统以允许相应的传入连接。
  2. 手头有您的安全控制台IP地址或主机名。您需要在下一节中引用此信息。
  3. 在安全控制台中生成共享秘密。要生成共享秘密,导航到管理>扫描选项>引擎>管理.在页面底部生成一个新的共享秘密。
    • 请注意,共享秘密仅适用于60分钟,因此如果您现在生成一个时框架,则计划在该时间范围内完成部署。如果您愿意,您可以直到稍后跳过此步骤并返回安全控制台,以在需要时生成共享秘密。

在AWS Marketplace上访问Rapid7 AWS扫描引擎

现在已经准备好了安全控制台和AWS环境,可以安装扫描引擎了。

  1. 登录您要安装扫描引擎的AWS帐户。

AWS所需的权限

请注意,只有具有特定权限的AWS用户才能从AWS Marketplace部署资产。如果您在部署过程的任何时候收到关于“缺少权限”的错误,请与对您的AWS帐户具有管理访问权限的人联系,并请求正确的权限。

  1. 去吧Rapid7 AWS扫描引擎列表在AWS市场。
  2. 点击继续订阅单击页面右上角的继续配置
  3. 在履行选项下,我们建议选择云形成模板因为它会自动设置Scan Engine以及所需的EC2安全组。如果您喜欢自己配置这些,请选择亚马逊机器镜像
  4. 无论您选择哪个选项,您还需要选择软件版本(我们始终推荐最新版本)以及扫描引擎应该运行的区域。进行以下选项后,单击继续推出在右上角。

这两个云形成模板亚马逊机器镜像下面几节将详细介绍这些步骤。

使用Marketplace CloudFormation模板部署AWS扫描引擎

此过程详细说明云形成模板部署方法继续从步骤4继续上一节

  1. 在“选择操作”下拉列表下,选择发射CloudFormation,然后单击发射. 扫描引擎模板将在CloudInformation中打开。第一次出现的页面上不需要配置,因此单击下一个
  2. 输入堆栈的名称。
  3. 在实例类型下拉列表中,您可以更改扫描引擎将运行的EC2实例的类型。默认选择适用于大多数情况。
  4. 没有必要将根磁盘的大小从默认的100GB更改,但是如果愿意,可以使用根卷大小字段进行调整。
  5. 选择希望扫描引擎所在的VPC和子网。确保选择所选VPC内的子网。
  6. 在将公共IP地址分配给扫描引擎字段中,选择如果扫描引擎需要公共IP地址才能连接到InsightVM安全控制台。如果扫描引擎与安全控制台位于同一VPC上,则不需要这样做。
  7. 选择是否希望堆栈创建新的EC2安全组。
    • 选择将为扫描引擎创建一个安全组,为要扫描的EC2实例创建另一个安全组。如果您以前没有在AWS帐户中设置Rapid7扫描引擎,建议您选择
    • 如果以前创建过支持Rapid7扫描引擎的安全组,则可以选择.在这种情况下,您需要粘贴您希望新扫描引擎的安全组的ID在现有的扫描引擎安全组ID字段中。
  8. 如果您在AWS中运行InsightVM安全控制台,您必须将“创建新的安全组”字段设置为,那么您还必须将Add Ingress设置为控制台安全组字段并在Console Security group to Update字段中输入安全控制台的安全组ID。这将指示CloudFormation模板更新安全控制台的安全组,以便扫描引擎可以访问它。
  9. 在“安全控制台主机”字段中,如果在AWS中未托管,请指定安全控制台的IP地址。如果控制台在AWS中托管,请导航到EC2,查找控制台正在运行的EC2实例,并复制实例的私有DNS或私有IP地址。在安全控制台主机字段中粘贴此地址。
  10. 输入您在安全控制台秘密字段中生成的安全控制台共享密钥。如果您没有生成您的共享秘密,或者自从您生成秘密以来超过60分钟,在继续之前生成一个新的
  11. 点击下一个
  12. 根据您的组织为AWS的最佳实践将标签等可选项目应用于您的堆栈。点击下一个
  13. 查看堆栈详细信息并单击创建堆栈在这一页的底部。这个创建并完成状态表示您的堆栈已成功创建。
  14. 部署后,扫描引擎可以花费15分钟与安全控制台配对。通过检查列出的扫描引擎来验证此配对管理>扫描选项>引擎>管理

在尝试使用新的扫描引擎之前,请确保要扫描的资产是扫描引擎可以访问的安全组的成员。如果您选择让CloudFormation Template为您创建新的安全组,请将目标资产添加到新创建的安全组中Scantargetssg.安全组。否则,请确保将所有目标资产添加到一个安全组,该安全组允许包含新扫描引擎的安全组的所有端口上的所有流量。检查亚马逊网络服务文章以获取关于此过程的更多信息。

验证所有内容是否在正确的安全组中,请确保在尝试运行扫描之前设置动态发现。看看扫描和检查下面的部分有关更多详细信息。

使用Marketplace AMI部署AWS扫描引擎

此过程详细说明了Marketplace AMI部署方法继续从第4步继续上一节

  1. 在“选择操作”下拉列表下,选择通过EC2推出
  2. 选择实例类型。Rapid7推荐m5.large或更高。着手配置实例细节
  3. 指定扫描引擎应该居住的VPC和子网。
  4. 如果您已经这样完成,请在安全控制台中生成共享秘密。
    • 要生成共享秘密,导航到管理>扫描选项>引擎>管理.在页面底部生成一个新的共享秘密。
  5. 扩张高级细节在页面底部,并提供以下用户数据。替换大括号中的部分{}有关安全控制台的信息:
         
1
NEXPOSE_CONSOLE_HOST={控制台的主机名或ip}
2
NEXPOSE_CONSOLE_PORT = 40815
3.
NEXPOSE_CONSOLE_SECRET={之前生成的共享秘密}
  1. 继续添加存储.设置根卷的存储大小。Rapid7建议至少100GB。
  2. 继续添加标签.添加扫描引擎EC2实例应该根据组织的最佳实践的任何标记。
  3. 继续配置安全组
    • 扫描引擎的安全组应该没有入站入口规则,防止网络上的所有远程访问。扫描引擎的出站规则应允许端口40815上的出站TCP访问,以便于与安全控制台进行通信。
    • 扫描引擎的安全组还应该允许出站访问所有协议和端口,访问控制对要扫描的资产的访问的安全组或组。
    • 控制对正在扫描的资产的访问的安全组或组也必须允许在扫描引擎的安全组中的所有协议和端口上进入。检查亚马逊网络服务文章以获取关于此过程的更多信息。
  4. 继续审查和发布.启动实例。
  5. 部署后,扫描引擎可以花费15分钟与安全控制台配对。通过检查列出的扫描引擎来验证此配对管理>扫描选项>引擎>管理

扫描和检查

设置AWS扫描引擎后,可以开始使用它扫描AWS资产。完成以下过程以配置所需的站点和动态发现连接:

  1. 在InsightVM安全控制台中,展开左上角的“创建”下拉框,单击场地
  2. 为您的新网站提供名称。
  3. 通过指定扫描凭据、扫描模板和适合您需要的时间表来完成站点配置,但是在服务器上配置任何内容资产标签。
    • 您的动态发现连接将管理哪些资产被扫描,所以暂时将该选项卡上的字段留空。
  4. 保存网站,但尚未扫描。
  5. 创建一个新的AWS资产同步发现连接. 在“连接配置”页面的“使用设置”部分,选择刚创建的站点。
  6. 完成发现连接配置的其余部分点击节省

排除故障

如果在部署过程中遇到问题,请参阅以下故障排除解决方案。

访问扫描引擎日志

虽然AWS扫描引擎不允许交互式登录,但您可以检查AWS系统日志是否有关您提供的用户数据相关的错误。请按照以下步骤查看AWS控制台中的此日志:

  1. 导航到EC2控制台。
  2. 查看实例并选择前面创建的扫描引擎。
  3. 点击>实例设置>获取系统日志
  4. 寻找以配对 - Nexpose-Engine

如果您的安全控制台在AWS中,请验证控制台的安全组允许从引擎访问端口40815.验证扫描引擎的安全组是否允许出站访问端口40815上的控制台的安全组。

如果您的安全控制台不在AWS中,请验证引擎的安全组是否允许对端口40815上的站点访问权限。

您的AWS扫描引擎已准备就绪!

现在,您应该在AWS环境中部署了一个扫描引擎,以便与动态发现连接一起使用。