使用扫描模板并调优扫描性能

您可能想要提高扫描性能。您可能想要使扫描更快或更准确。或者您可能希望扫描使用更少的网络资源。下一节提供扫描调优的最佳实践和使用扫描模板的说明。

优化扫描是一个敏感的过程。如果您更改一个设置以获得一定的性能提升,您可能会发现性能的另一个方面下降了。在你调整任何扫描模板之前,重要的是要知道两件事:

  • 您优化扫描的目标或优先级是什么?
  • 您愿意在扫描性能的哪些方面做出妥协?

明确你的目标,以及它们与绩效的“三角关系”。看到当你调音的时候,记住“三角”.这样做将帮助您在更有意义的环境上下文中查看扫描模板配置。在更改任何设置之前,请确保自己熟悉扫描模板元素。

此外,请记住,调整扫描性能需要一些实验,技巧和熟悉应用程序的工作原理。最重要的是,您需要了解您的独特网络环境。

这个介绍性的部分讨论了为什么要调优扫描性能,以及不同的内置扫描模板如何解决不同的扫描需求:

请参阅附录,比较了我们所有的内置扫描模板及其用例:

熟悉内置模板有助于定制自己的模板。您可以创建一个自定义模板,该模板包含内置模板的许多理想设置,只定制一些设置,而不是从头创建一个新模板。

要创建自定义扫描模板,请转到以下部分:

如果您需要导出扫描模板,以便将安装迁移到新主机,请参见以下步骤:

定义调优目标

在调整扫描性能之前,请确保您知道为什么要这样做。你想改变什么?你需要什么来做得更好?你需要更快的扫描吗?你需要更精确的扫描吗?您想减少资源开销吗?

下面几节将详细讨论这些问题。

你需要更快地完成扫描

您的目标可能是提高整体扫描速度,如以下场景:

  • 实际扫描时间窗口正在扩大,并与您的扫描中断时间相冲突。您的组织可能会在非工作时间安排扫描,但当您的组织中的员工需要使用工作站、服务器或其他网络资源时,扫描可能仍在进行。
  • 一种特殊类型的扫描,例如一个拥有300个Windows工作站的网站,将花费特别长的时间,而且看不到尽头。这可能是一个“扫描挂起”的问题,而不是简单的缓慢扫描。

如果扫描时间过长,请终止扫描并联系技术支持。

  • 您需要能够在同一时间窗口内安排更多的扫描。
  • 对您的组织来说,策略或遵从性规则变得更加严格,要求您执行“更深入的”经过身份验证的扫描,但您没有额外的时间来做这件事。
  • 您必须在相同的时间内扫描更多资产。
  • 你必须在更短的时间内浏览相同数量的资产。
  • 你必须扫描更多的资产时间。

您需要减少网络或系统资源的消耗

您的目标可能是降低对资源的打击,如下情况:

  • 您的扫描占用了太多的带宽,并干扰了其他重要业务流程的网络性能。
  • 如果扫描一定数量的端口,承载您的扫描引擎的计算机将使内存达到最大。
  • 如果执行过多的同时扫描,安全控制台将耗尽内存。

您需要更准确的扫描数据

扫描可能不会提供足够的信息,如以下情况:

  • 扫描是缺少资产。
  • 扫描缺失服务。
  • 该应用程序报告过多的误报或假底片。
  • 漏洞检查没有在足够的深度发生。

当你调音的时候,记住“三角”

您对扫描设置所做的任何调优调整都会影响一个或多个主要性能类别。这些类别反映了前一节讨论的调优的一般目标:

  • 精度
  • 资源
  • 时间

这三种性能类别是相互依赖的。把它们想象成三角形是很有帮助的。

如果你延长三角形的一边——也就是说,如果你喜欢一个表现类别——你将至少缩短另外两个方向中的一个。期望一个调整来延长三角形的所有三个边是不现实的。然而,你经常可以将三面中的两面拉长。

增加可用时间

为运行扫描提供更多的时间通常意味着使扫描运行得更快。一个用例是在世界各地不同地点举行拍卖的公司。它的资产存量略高于1000家。该公司不能在拍卖进行时运行扫描,因为时间敏感的数据必须在这些时间不中断地遍历网络。该公司在不同时区举行拍卖的事实使扫描计划复杂化。扫描窗口非常紧。该公司的最佳解决方案是使用大量带宽,以便扫描能够尽快完成。

在这种情况下,可以在不牺牲准确性的情况下减少扫描时间。然而,高工作负载可能会导致扫描机制变得不稳定。在这种情况下,可能需要通过关闭凭据扫描等方式来降低精确度。

有许多不同的方法来提高扫描速度,包括以下:

  • 增加同时扫描的资产数量。请注意,这将在扫描引擎和安全控制台上消耗RAM。
  • 分配更多扫描线程。这样做会影响网络带宽。
  • 使用不太详尽的扫描模板。同样,这将降低扫描的准确性。
  • 添加扫描引擎,或有策略地将它们放置在网络中。如果您有一个小时的时间在低带宽上扫描200个资产,那么在防火墙的同一边放置一个scan Engine可以加快这个过程。当相对于目标资产部署Scan Engine时,选择一个最大带宽和最小延迟的位置。有关Scan Engine布局的更多信息,请参阅管理员指南。

部署额外的扫描引擎可能会降低可用带宽。

提高准确性

使扫描更精确意味着找到更多与安全相关的信息。

有很多方法,每个方法都有自己的“成本”,根据性能三角形:

增加已发现的资产、服务或漏洞检查的数量。这需要更多的时间。

“深化”扫描,检查策略遵从性和修补程序。这些类型的检查需要凭据,可能会花费相当多的时间。

扫描资产更频繁。例如,外设网络资产,例如Web服务器或虚拟专用网络(VPN)集中器,更容易受到攻击,因为它们被暴露于互联网。建议经常扫描它们。这样做需要更多的带宽或更多时间。时间问题尤其适用于网站,可以具有深度文件结构。

扫描网络服务时要注意许可限制。当应用程序试图连接到某个服务时,该服务将其视为另一个“客户端”或用户。服务可能对它可以支持的并发客户端连接的数量有一个定义的限制。如果应用程序尝试连接时服务已达到该客户端容量,则服务将拒绝此尝试。基于telnet的服务通常就是这样。如果应用程序不能连接到某个服务来扫描它,该服务将不会包含在扫描数据中,这意味着更低的扫描精度。

增加资源可用性

提供更多可用资源主要意味着减少扫描所消耗的带宽。它还包括降低RAM的使用,特别是在32位操作系统上。

考虑环境中四个主要领域的带宽可用性。其中任何一个或多个都可能成为瓶颈:

  • 承载应用程序的计算机可能在处理来自目标资产的响应时陷入困境。
  • 应用程序所运行的网络基础设施(包括防火墙和路由器)可能会因流量而陷入困境。
  • 目标资产运行的网络(包括防火墙和路由器)可能会因流量而陷入困境。
  • 目标资产在处理来自应用程序的请求时可能会陷入困境。

特别需要关注的是目标资产运行的网络,因为总带宽的一部分总是用于业务目的。如果您将扫描安排在工作时间运行,即工作站正在运行和笔记本电脑连接到网络时,则尤其如此。在非工作时间,当备份进程正在进行时,带宽共享也可能是一个问题。

需要关注的两个相关带宽指标是扫描期间交换的数据包数量,以及相关的防火墙状态。如果应用程序每秒发送太多数据包(pps),特别是在扫描的服务发现和漏洞检查阶段,它可能超过防火墙跟踪连接状态的能力。这里的危险在于,防火墙将开始丢弃来自目标资产的请求包或响应包,从而导致错误的否定结果。因此,耗费带宽会导致精确度下降。

没有公式来确定应该使用多少带宽。您必须知道您的企业平均使用多少带宽,以及它可以处理的最大带宽。您还必须监视应用程序消耗了多少带宽,然后相应地调整带宽级别。

例如,如果您的网络在没有服务中断的情况下最多可以处理10,000个PPS,并且您的正常业务流程在任何给定时间平均约3,000个PPS,您的目标是在7,000个PPS的窗口内具有应用程序工作。

用于控制带宽的主扫描模板设置是扫描线程和最大同时扫描端口。

节省带宽的成本通常是时间。

例如,一家公司在美国某地区经营提供全方位服务的卡车停靠站。它的安全团队从一个中央办公室扫描多个远程地点。由于网络连接的类型不同,带宽相当低。因为每个位置的资产数量低于25,所以添加远程扫描引擎不是一个非常有效的解决方案。在这种情况下,一个可行的解决方案是将扫描线程的数量减少到2到5之间,这远远低于默认值10。

有各种其他方法可以提高资源可用性,包括以下内容:

  • 减少目标资产、服务或漏洞检查的数量。代价是准确性。
  • 减少同时扫描的资产数量。代价是时间。
  • 执行更少的穷举扫描。这样做主要减少了扫描时间,但也释放了线程。

主要的调优工具:扫描模板

扫描模板包含各种参数,用于定义如何扫描资产。大多数调整过程涉及编辑扫描模板设置。

内置扫描模板是为不同的用例设计的,例如PCI遵从性、Microsoft Hotfix补丁验证、Supervisory Control And Data Acquisition (SCADA)设备审计和网站扫描。您可以在标题部分找到关于扫描模板的详细信息扫描模板.本节包括每个扫描模板的用例和设置。

模板是最佳实践

在熟悉端口发现和包延迟等扫描相关的技术概念之前,建议使用内置模板。

您可以使用内置模板而不修改它们,也可以基于内置模板创建自定义模板。您还可以创建新的自定义模板。如果您选择自定义,请记住内置扫描模板本身就是最佳实践。内建模板不仅解决了特定的用例,而且还反映了性能三角关系中各种因素的微妙平衡:时间、资源和准确性。

您会注意到,如果您选择创建新模板的选项,许多基本配置设置都有内置值。建议您不要更改这些值,除非您对它们的用途有全面的工作知识。在更改这些内置值时要特别小心。

如果您基于内置模板自定义模板,则可能不需要更改每个扫描设置。例如,您可能只需要更改线程号或端口范围,而保留所有其他设置不变。

由于这些原因,基于内置模板执行任何自定义是一个好主意。首先熟悉内置扫描模板,并了解它们的共同之处以及它们的不同。以下部分是四个样本模板的比较。

理解扫描的可配置阶段

理解扫描的各个阶段有助于理解扫描模板的结构。

每次扫描发生在三个阶段:

  • 资产发现
  • 服务发现
  • 漏洞检查

扫描中的发现阶段与资产发现阶段是不同的概念,资产发现是一种在您的环境中查找潜在扫描目标的方法。

资产发现阶段,扫描引擎以高速向目标IP地址发送简单数据包,以验证网络资产是否活动。控件上可以为这些通信尝试配置定时间隔以及其他参数资产发现发现性能页面的扫描模板配置面板。

定位资产后,扫描引擎开始服务发现阶段,尝试连接到各种端口并验证服务以建立有效连接。因为应用程序扫描Web应用程序、数据库、操作系统和网络硬件,所以它有很多尝试访问的机会。可以在页面上配置与此阶段相关的属性服务发现发现性能页面的扫描模板配置面板。

在第三阶段,称为漏洞检查阶段,应用程序尝试确认扫描模板中列出的漏洞。您可以选择要扫描的漏洞漏洞检查页面的页面扫描模板配置面板。

其他配置选项包括限制扫描的服务类型,搜索特定漏洞,并调整网络带宽使用情况。

在扫描的每个阶段,应用程序通过一组称为指纹的方法来识别尽可能多的资产细节。通过检查缓冲区预留区域的特定位设置、响应时间或唯一的确认交换等属性,应用程序可以识别资产的硬件、操作系统,也许还有系统下运行的应用程序的指示器。一个受到良好保护的资产可以在网络扫描中隐藏其存在、其身份及其组件。

您是否需要更改模板或只是改变它们?

当您熟悉了内置扫描模板后,您可能会发现它们在不同的时间满足不同的性能需求。

使用各种报告模板以多种有用的方式解析您的扫描结果。扫描是一种资源投资,尤其是“更深的”扫描。报告可帮助您获得该投资的最大可能的回报。

例如,您可以安排Web审计每周运行一次,甚至更频繁地运行一次,以监视面向internet的资产。这是一个更快的扫描和更少的资源消耗。您还可以安排每月进行一次Microsoft热修复扫描以进行补丁验证。这种扫描需要凭据,所以需要更长的时间。但代价是,它不必经常发生。最后,您可以每季度安排一次详尽的扫描,以获得环境的详细、全面视图。这将花费时间和带宽,但同样,这是一个不太频繁的扫描,你可以提前计划。

如果您定期更改模板,您将牺牲调度扫描的便利,以具有相同模板的自动间隔运行。

另一种最大化时间和资源而不影响准确性的方法是替换目标资产。例如,与其每晚扫描所有的工作站,不如先扫描三分之一的工作站,然后在接下来的48小时内扫描另外三分之二的工作站。或者,您可以以类似的方式替换目标端口。

快速调整:你可以关掉什么?

有时,调整扫描性能是在模板中关闭一个或两个设置的简单问题。您检查的时间越少,您需要扫描的时间或带宽越少。但是,您的扫描将不太全面,因此,较低的准确性。

认证检查对准确性至关重要,因为它们使执行“深度”系统扫描成为可能。在关闭认证支票之前,一定要确定你不需要认证支票。

如果您的扫描范围不包括Web资产,请禁用与Web相关的漏洞检查。如果您不需要验证热修复补丁,请禁用任何热修复检查。如果您对运行凭据检查不感兴趣,请关闭凭据检查。如果您确实运行凭据检查,请确保只运行必要的检查。

这里需要注意的是,您需要确切地知道在您的网络上运行的是什么,以便知道要关闭什么。这就是发现扫描变得如此有价值的地方。他们为你提供一个可靠的,动态的资产清单。例如,如果您从发现扫描中了解到没有运行Lotus Notes/Domino的服务器,那么可以从扫描中排除这些策略检查。

导出扫描模板

重要的

完成这个步骤之前将安装迁移到新主机。

若要从安全控制台界面导出扫描模板,请复制以下目录的内容:

         
1
/ opt / rapid7 / nexpose /共享/ scanTemplates /定制/筒仓/违约

将复制的内容保存在目标机器上,以便在迁移完成后可以放置它。