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

您可能希望提高扫描性能。您可能希望使扫描更快或更准确。或者,您可能希望扫描使用更少的网络资源。以下部分提供了扫描优化的最佳实践以及使用扫描模板的说明。

调整扫描是一个敏感的过程。如果您更改一个设置以获得某种性能提升,您可能会发现性能的另一个方面有所降低。在调整任何扫描模板之前,请务必了解两件事:

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

确定你的目标及其与绩效“三角”的关系。参见调音时请记住“三角形”. 这样做将有助于您在更有意义的环境中查看扫描模板配置。在更改任何设置之前,请确保熟悉扫描模板元素。

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

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

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

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

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

如果需要导出扫描模板以准备将安装迁移到新主机,请转至以下部分:

定义优化目标

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

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

你需要更快地完成扫描

您的目标可能是提高总体扫描速度,如下所示:

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

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

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

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

您的目标可能是降低对资源的影响,如以下场景中所示:

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

你需要更精确的扫描数据

扫描可能无法为您提供足够的信息,如以下情况:

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

调音时请记住“三角形”

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

  • 精度
  • 资源
  • 时间

这三个绩效类别是相互依存的。将它们可视化为三角形是很有帮助的。

如果你拉长三角形的一边,也就是说,如果你喜欢一个性能类别,你将至少缩短另外两条边中的一条。期望调谐调整来延长三角形的所有三条边是不现实的。但是,通常可以延长三条边中的两条。

增加可用时间

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

在这种情况下,可以在不牺牲精度的情况下减少扫描时间。但是,高工作负载可能会占用资源,导致扫描机制变得不稳定。在这种情况下,可能需要通过例如关闭认证扫描来降低准确度。

提高扫描速度有多种方法,包括以下方法:

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

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

提高准确性

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

做到这一点的方法有很多种,每一种都有自己的“成本”,按性能三角来算:

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

“深化”扫描,检查策略合规性和修补程序。这些类型的检查需要凭据,并且可能需要相当多的时间。

更频繁地扫描资产。例如,外围网络资产,如Web服务器或虚拟专用网(VPN)集中器,更容易受到攻击,因为它们暴露在Internet上。经常浏览是明智的。这样做将需要更多的带宽或更多的时间。时间问题尤其适用于Web站点,因为它们可能具有深度文件结构。

扫描网络服务时请注意许可证限制。当应用程序尝试连接到一个服务时,它在该服务看来是另一个“客户机”或用户。该服务可能对其支持的同时客户端连接数有一个定义的限制。如果应用程序尝试连接时服务已达到该客户端容量,则服务将拒绝尝试。基于telnet的服务通常就是这样。如果应用程序无法连接到服务进行扫描,则扫描数据中将不包括该服务,这意味着扫描精度较低。

提高资源可用性

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

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

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

特别值得关注的是目标资产运行的网络,这仅仅是因为总带宽的一部分始终用于业务目的。如果您计划在工作时间运行扫描,尤其是在工作站正在运行且笔记本电脑已插入网络时,更是如此。在非工作时间,当备份过程正在进行时,带宽共享也是一个问题。

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

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

例如,如果您的网络能够在不中断服务的情况下最多处理10,000个应用程序,而您的正常业务流程在任何给定时间平均处理3,000个应用程序,那么您的目标就是让应用程序在7,000个应用程序的窗口内工作。

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

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

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

增加资源可用性还有多种其他方法,包括:

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

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

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

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

模板是最佳实践

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

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

您会注意到,如果选择创建新模板的选项,许多基本配置设置都有内置值。建议您不要更改这些值,除非您完全了解这些值的用途。更改这些内置值时,请特别小心。

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

由于这些原因,基于内置模板执行任何定制都是一个好主意。首先要熟悉内置扫描模板,了解它们的共同点和不同之处。下一节将对四个示例模板进行比较。

了解扫描的可配置阶段

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

每次扫描分三个阶段进行:

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

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

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

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

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

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

在扫描的每个阶段,应用程序都通过一组称为指纹识别的方法尽可能多地识别资产的详细信息。通过检查属性,例如缓冲区保留区域中的特定位设置、响应时间或唯一确认交换,应用程序可以识别有关资产硬件、操作系统,以及(可能)在系统下运行的应用程序的指示器。受良好保护的资产可以在网络扫描程序中屏蔽其存在、身份及其组件。

您需要更改模板还是只是替换它们?

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

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

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

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

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

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

有时,调整扫描性能只需关闭模板中的一个或两个设置。检查的内容越少,完成扫描所需的时间或带宽就越少。但是,您的扫描将不太全面,因此不太准确。

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

如果扫描范围不包括Web资产,请关闭Web爬网,并禁用与Web相关的漏洞检查。如果不必验证修补程序补丁,请禁用任何修补程序检查。如果您对运行有凭证的支票不感兴趣,请关闭这些支票。如果您确实运行有凭证的支票,请确保您只运行必要的支票。

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

导出扫描模板

重要的

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

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

         
1
/opt/rapid7/nexpose/shared/scanTemplates/custom/silo/default

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