AWS扫描引擎

AWS Scan Engine Amazon Machine Image (AMI)允许您了解和管理与动态EC2资产相关的风险。控件可以轻松添加一个或多个扫描引擎Rapid7扫描引擎在AWS市场上市。

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

依赖关系

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

已知约束条件

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

安装、配置和使用

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

准备安全控制台和AWS环境

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

访问AWS市场上的Rapid7 AWS扫描引擎

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

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

AWS权限要求

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

  1. Rapid7 AWS扫描引擎列表在AWS市场。
  2. 点击继续订阅在页面的右上角,单击继续配置
  3. 在履行选项下,我们建议选择CloudFormation模板因为它会自动设置扫描引擎以及所需的EC2安全组。如果您希望自己配置这些,请选择Amazon Machine Image
  4. 无论您选择哪个选项,您还需要选择软件版本(我们总是推荐最新版本)和您的扫描引擎应该运行的区域。完成这些选择后,单击继续推出在右上角。

这两个CloudFormation模板Amazon Machine Image下面几节将详细介绍这些步骤。

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

这个过程详细说明了CloudFormation Template的部署方法前一节

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

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

在验证所有内容都在正确的安全组中之后,在尝试运行扫描之前,请确保设置了Dynamic Discovery。看到扫描和检查请参阅下面的部分以了解更多详细信息。

使用市场AMI部署AWS扫描引擎

这个过程详细说明了从第4步开始的市场AMI部署方法前一节

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

扫描和检查

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

  1. 在InsightVM安全控制台中,展开左上角的“创建”下拉列表,然后单击网站
  2. 给你的新网站起个名字。
  3. 通过指定符合您需要的扫描凭据、扫描模板和时间表来完成站点配置,但资产选项卡。
    • 您的动态发现连接将管理哪些资产被扫描,所以暂时将该选项卡上的字段留空。
  4. 保存网站,但不要扫描它。
  5. 创建一个新的AWS资产同步发现连接.在连接配置页面的Consumption Settings部分中,选择您刚刚创建的站点。
  6. 完成其余的发现连接配置并点击保存

故障排除

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

访问扫描引擎日志

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

  1. 导航到EC2控制台。
  2. 查看实例并选择先前创建的扫描引擎。
  3. 点击>实例设置>获取系统日志
  4. 查找以开头的邮件双轴式发动机

如果您的安全控制台在AWS中,请检查控制台的安全组是否允许从端口40815上的引擎进行访问。验证Scan Engine的安全组是否允许出站访问端口40815上的控制台安全组。

如果安全控制台不在AWS中,请验证引擎的安全组是否允许出站访问控制台位于端口40815上的位置。

您的AWS扫描引擎已经准备好了!

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