规划您的扫描引擎部署
您对安全目标和环境(包括资产清单)的评估将帮助您计划如何以及在何处部署Scan Engines。请记住,如果您的资产清单经常会发生变化,您可能需要随着时间的推移修改初始Scan Engine部署。
任何部署都包括一个安全控制台和一个或多个扫描引擎,用于检测网络上的资产,收集有关资产的信息,并测试这些资产的漏洞。扫描引擎通过几种方式测试漏洞。一种方法是检查软件版本号,标记过时的版本。另一种方法是“安全利用”,通过这种方法,目标系统被探测到使它们容易受到攻击的条件。漏洞测试中内置的逻辑反映了复杂的攻击者试图渗透您的网络时会采取的步骤。
该应用程序旨在利用漏洞而不会导致服务中断。它实际上并不攻击目标系统。
考虑Scan Engines的一种方式是,它们从攻击者的角度提供了对网络的战略视图。在决定如何以及在何处部署Scan Engines时,要考虑您希望如何“看到”您的网络。
从内到外查看您的网络:托管扫描引擎与分布式扫描引擎
有两种类型的扫描引擎选项是可用的和分发的。您可以选择仅使用一个选项,或者您可以以互补的方式使用。重要的是要了解选项如何有效地部署扫描引擎。请注意,托管和分布式扫描引擎不会被不同地构建。它们仅具有相对于网络的不同位置。它们提供了对网络的不同视图。
托管扫描引擎允许您查看您的网络,就像没有访问权限的外部攻击者看到的那样。他们会扫描防火墙之外的网络外围的所有东西。这些资产必须提供无条件的公共访问,如Web站点和电子邮件服务器。
如果您的组织使用出站端口过滤,则需要修改防火墙规则,以允许托管Scan Engines连接到您的网络资产。
Rapid7托管并维护这些扫描引擎,这带来了一些好处。您不必安装或管理它们。扫描引擎位于持续监控的数据中心,确保可用性和安全性的高标准。
通过这些优点,它可能很诱人专门部署托管扫描引擎。但是,托管扫描引擎在某些使用案例中具有局限性,该案例担保部署分布式扫描引擎。
战略性地分发扫描引擎
分布式扫描引擎允许您从内部检查您的网络。它们是核心服务器和工作站的理想选择。您可以在网络上的任何地方部署分布式扫描引擎,以获得多个视图。当使用多个子网、防火墙和其他形式的分割来扫描网络时,这种灵活性尤其有价值。
扫描引擎不存储扫描数据。相反,它们会立即将数据发送到Security Console。
但是,你需要多少扫描发动机?首先要问的问题是,你应该把它们放在哪里?
在确定将Scan Engines放置在何处时,查看网络拓扑结构是很有帮助的。分离的区域有哪些?连接点在哪里?如果你能回答这些问题,你就有了一个很好的主意,把扫描引擎放在哪里。
可以在与安全控制台相同的主计算机上操作扫描引擎。虽然此配置可能方便的产品评估或小规模生产方案,但对于较大的生产环境不合适,特别是如果扫描引擎扫描许多资产。扫描是一个RAM密集型过程,可以从安全控制台中排出资源。
以下是可能需要放置扫描引擎的情况示例。
防火墙、IDS、IPS、NAT设备
您可能有一个防火墙将两个子网分开。如果您在防火墙的一侧部署了扫描引擎,那么在不打开防火墙的情况下,您将无法扫描另一个子网。这样做可能会违反公司的安全策略。
应用层防火墙可能必须在同意路由之前检查每个包。防火墙必须跟踪每个连接的状态条目。典型的扫描可以在短时间内生成数千次连接尝试,这可能会使防火墙状态表或状态跟踪机制过载。
通过IDS (Intrusion Detection System)或IPS (Intrusion Prevention System)扫描会导致设备过载或产生过多的告警。让IDS或IPS知道InsightVM正在运行漏洞扫描会破坏扫描的目的,因为它看起来像是一种攻击。此外,IPS还可以通过丢弃数据包、让端口“看起来”是开放的来阻止它们,以及执行其他操作来保护资产,从而降低扫描数据质量。对扫描引擎生成的网络流量禁用IDS或IPS可能是可取的。
扫描引擎通过网络地址转换(NAT)设备发送数据包可能会导致扫描速度变慢,因为设备每秒只能处理有限数量的数据包。
在这些情况中的每一个中,可行的解决方案是将扫描引擎放置在中间装置的任一侧以最大化带宽并最小化延迟。
vpns.
无论带宽如何,扫描虚拟专用网络(VPN)也可以减慢速度。问题是与连接尝试相关联的工作负载,将VPN转为瓶颈。由于扫描引擎在本地VPN端点内传输分组,因此该VPN必须拦截和解密每个分组。然后,远程VPN端点必须解密每个数据包。将扫描引擎放在VPN隧道的一侧或另一侧,消除了这些类型的瓶颈,特别是对于具有许多资产的VPN。
子网
进入子网的网络往往是一个安全问题。子网之间的通信可能会严重限制,导致较慢的扫描。跨越子网扫描可能会令人沮丧,因为它们通常由防火墙分隔或具有访问控制列表(ACL),其限制哪些实体可以联系内部资产。对于安全性和性能原因,将扫描引擎分配给每个子网是最好的实践。
周边网络(dmz)
外围网络通常包括Web服务器、电子邮件服务器和代理服务器,它们是“公开的”,这使得它们对黑客特别有吸引力。因为有很多可能的攻击点,所以最好将多达三个扫描引擎用于一个周边网络。托管扫描引擎可以提供从外部向内的视图。本地扫描引擎可以扫描与出站数据流量相关的漏洞,因为被攻击的DMZ资产可以在Internet上传播病毒。另一个本地扫描引擎可以提供DMZ的内部视图。
acl
访问控制列表(acl)可以通过限制某些网络资产的可用性来在网络中创建分区。在某个地址空间(例如192.168.1.1/254)内,由于其他资产受到ACL的限制,InsightVM可能只能与10个资产进行通信。如果不能修改ACL,那么最好将Scan Engine分配给ACL保护的资产。
广域网路和远程资产位置
有时,资产清单分布在几百或几千英里。试图通过广域网(WAN)扫描地理上遥远的资产可能会占用有限的带宽。部署在远程资产附近的Scan Engine可以更容易地收集扫描数据,并将该数据转移到更集中的数据库。在本地执行扫描对网络资源的消耗更少。物理位置是创建站点的一个很好的原则。看配置扫描凭证.这是相关的,因为每个站点分配给一个扫描引擎。
其他可能保证Scan Engine位置的因素包括路由器、门户、第三方托管资产、外包电子邮件和虚拟局域网。
部署扫描引擎池
如果您的许可证启用了扫描引擎池,您可以使用池来增强扫描覆盖率的一致性和速度。池是一组扫描引擎,扫描作业分布在这些扫描引擎上。池分配给站点的方式与单个扫描引擎相同。
请注意
预授权AWS扫描引擎亚马逊机器图像(AMI)无法添加到扫描引擎池中。
汇集提供了两个主要好处:
- 扫描负载平衡防止单个扫描引擎超载。当将池分配给站点的扫描配置时,扫描作业将分布在池中,从而减少单个scan Engine的负载。这种方法可以提高整体扫描速度。
- 容错防止由于单个扫描引擎的操作问题而导致扫描失败。如果安全控制台联系一个池化扫描引擎以启动扫描,但扫描引擎处于脱机状态,则安全控制台只联系下一个池化扫描引擎。如果扫描引擎在扫描给定资产时失败,则该池中的另一个引擎将扫描该资产。此外,应用程序监视分配给池化引擎的作业的数量,并且不会根据其内存容量分配超过池化引擎可并发运行的作业。
作业占用多少内存的算法是基于扫描模板中指定的配置选项。
您可以通过Web界面配置和管理资源池。看到扫描引擎池页面指令。您还可以使用扩展的API v1.2。看到API指南.
部署和扩展池的最佳实践
有关最佳性能,请确保池扫描引擎位于同一网络或地理位置内。地理上分散的游泳池可以减缓扫描。例如,如果池由多伦多和洛杉矶的一个引擎组成,并且这个池用于扫描位于洛杉矶的资产站点,那么该负载的一部分将被分发到多伦多引擎,这将需要更长时间由于地理距离扫描资产。
为了提高池的性能,您可以添加扫描引擎或增加分配给每个池发动机的RAM量。通过增加RAM,您可以增加可以扫描的同时站点的数量,并增加每个发动机扫描同时扫描的资产的数量,从而延展了池的扫描容量。看使用扫描模板并调优扫描性能.