代码编织梦想

  在本课中,你将学习如何使用FortiGate来保护你的网络免受病毒侵害。

  本节课你将学习上图显示的主题。

  通过演示反病毒基础知识,你将能够理解并在FortiGate上应用反病毒。

  反病毒是用于识别感染的病毒特征的数据库。在反病毒扫描期间,病毒必须匹配称为签名的定义模式,才能被检测为病毒。

  不同的供应商为同一病毒指定不同的名称。所有供应商在病毒名称中都使用攻击载体名称。载体出现在病毒名称的开头。一些例子包括:

  ● W32, which represents 32-bit Windows

  ● W64, which represents 64-bit Windows

  ● JS, which represents JavaScript (which is cross-platform)

  一些供应商还使用模式作为病毒名称的一部分。有些模式每个模式只检测一个病毒。其他模式更灵活,可以为每个模式检测多个病毒。供应商使用的模式取决于供应商的引擎。

  基于主机的杀毒软件,如FortiClient,可以在主机级提供帮助;但主机防病毒软件不能安装在路由器上。此外,客户Wi-Fi网络和ISP客户可能没有安装杀毒软件。

  那么,如何保护客户网络、ISP客户和你自己的网络免受恶意软件威胁呢?

  就像病毒使用许多方法来避免被发现一样,FortiGate使用许多技术来检测病毒。这些检测技术包括:

  ● 反病毒扫描:这是第一个,最快、最简单的方法检测恶意软件。它检测与反病毒数据库中的特征完全匹配的病毒。

  ● 灰色软件扫描:这种扫描检测未经请求的程序,称为灰色软件,在用户不知情或不同意的情况下被安装。严格来说,灰色软件并不是一种病毒。它通常与一些无害的软件捆绑在一起,但也有一些副作用,因此被归类为恶意软件。通常,使用FortiGuard灰色软件签名就可以检测到灰色软件。

  ● 机器学习(AI)扫描:这些扫描基于概率,因此它们增加了误报的可能性,但它们也检测到零日攻击。零日攻击是一种新的、未知的恶意软件,因此没有现有的相关签名。如果你的网络是频繁的目标,启用Al扫描可能值得付出性能代价,因为它可以帮助你在爆发开始之前检测病毒。默认情况下,当Al引擎检测到新病毒时,它会将文件记录为“可疑”,但不会阻止它。你可以选择是否阻止或允许可疑文件。

  Al扫描是可选特性,必须在CLI中启用。在反病毒设置中,可以通过CLI命令配置Al扫描的动作为启用、监控或禁用。

  如果所有防病毒特性都已启用,FortiGate的扫描顺序为:防病毒扫描、灰色软件扫描、Al扫描。

  如果AI描太不确定怎么办?如果你需要一种更复杂、更确定的方法来检测恶意软件和发现零日病毒,该怎么办?

  你可以将防病毒扫描与FortiSandbox云或FortiSandbox设备集成。注意,你需要在CLI的系统全局设置下启用云沙箱,以便配置选项出现在GUI上。对于需要更多确定性的环境,FortiSandbox在受保护环境(VM)中执行文件,然后检查软件的效果,看看它是否危险。

  例如,假设你有两个文件。两者都会更改系统注册表,因此是可疑的。一个是驱动程序安装——它的行为是正常的——但第二个文件安装了一个连接到僵尸网络命令和控制服务器的病毒。沙盒将揭示出区别。

  FortiGate可以配置为从FortiSandbox接收基于沙箱结果的补充特征库。

  FortiOS在决定哪些文件被发送到FortiSandbox时是聪明的。FortiOS为此使用的一个特性是内容解除和重构(CDR),这是一个基于代理的特性,稍后将详细介绍。话单处理文件时,可将原始文件保存到FortiSandbox中。

  FortiGuard为FortiGate提供基于当前威胁环境的信息,用于确定文件是否应该被视为可疑。FortiGate为管理员提供粒度控制,以确定发送给FortiSandbox进行进一步调查的文件类型。管理员还可以选择将FortiSandbox数据库与FortiGuard反病毒数据库结合使用,以增强他们的网络安全。

  计划更新允许你配置定期更新,例如每小时、每天、每周或每小时自动更新。你还可以启用反病毒PUP/PUA,它允许反病毒灰色软件检查潜在的有害程序和应用程序。

  无论选择哪种方法,都必须在至少一个防火墙策略中启用病毒扫描。否则,FortiGate将不会下载任何更新。或者,你可以从Fortinet客户服务和支持网站下载软件包(需要订阅),然后手动上传到你的FortiGate。你可以通过图形化界面或CLI控制台中验证签名的更新状态和版本。

  存在多个FortiGuard防病毒数据库,可通过CLI命令配置。FortiGate型号对每种数据库类型的支持各不相同。

  所有FortiGate设备都包含扩展数据库。扩展的数据库包含最近几个月检测到的病毒的签名,由FortiGuard全球安全研究小组识别。扩展数据库还检测不再活动的病毒。

  极端数据库是为了在高安全性环境中使用。极端数据库可以检测所有已知的病毒,包括针对已不再广泛使用的遗留操作系统的病毒。大多数FortiGate型号支持极端数据库。

  内容消除和重建(CDR):CDR删除可利用的内容,并用已知安全的内容替换它。当通过启用的反病毒配置文件处理文件时,被发现是恶意或不安全的内容将被替换为允许通信继续的内容,但不会对接收方造成风险。可以扫描的内容包括PDF和Microsoft Office文件,这些文件在CDR支持的协议(如HTTP、SMTP、IMAP和POP3-MAPI不支持)上离开网络。当客户端尝试下载文件时,FortiGate会实时删除所有可利用的内容,然后将原始文件发送到FortiSandbox进行检查。客户端可以通过登录FortiSandbox下载原始文件。

  病毒爆发防御:保护你的网络安全,防止新出现的恶意软件。快速的病毒爆发可以在签名被开发出来阻止之前感染网络。爆发保护将阻止这些病毒爆发,直到FortiGuard中出现可用签名为止。FortiGate必须有零时病毒爆发许可证(ZHVO)。FortiGate为反病毒签名尚未检测到的新威胁添加基于散列的病毒检测。当文件被发送到扫描单元守护进程时,缓冲区被散列,请求被发送到urlfilter守护进程。urlfilter守护进程在其请求缓存中检查已知签名后,会向FortiGuard发送一个带有剩余签名的反病毒请求。FortiGuard返回一个等级,用于确定扫描单元守护程序是否应该报告该文件为有害文件。作业在扫描单元守护进程中保持暂停状态,直到客户端收到响应或请求超时。

  恶意软件阻止列表:FortiGate可以通过将动态外部恶意软件阻止列表链接到FortiGate来增强反病毒数据库。该列表驻留在web服务器上,可以通过Security Fabric恶意软件哈希列表中定义的HTTP/HTTPS URL访问。该列表可以是MD5、SHA1和SHA256散列的形式,并在纯文本文件的单独行上写入。恶意软件阻止列表可以定义为一个Security Fabric连接器,并配置为通过设置刷新率来动态拉出列表。

  答案:B

  答案:A

  现在你了解了反病毒功能的基础知识。接下来,你将了解反病毒扫描模式。

  通过演示FortiOS中可用的所有反病毒扫描模式的能力,你将能够以有效的方式使用反病毒配置文件。

  AV可以运行在基于流或基于代理的检测模式,这两种方式都使用完整的AV数据库(扩展或极端-取决于CLI设置)和IPS引擎来检测网络流量。

  基于流的检测模式是基于代理检测的扫描模式的混合:默认扫描模式和传统扫描模式。默认模式增强了嵌套归档文件的扫描,而不缓冲容器归档文件。遗留模式缓冲整个容器,然后扫描它。

  在基于流的检测模式下,IPS引擎读取每个报文的有效载荷,在本地缓存一份报文副本,同时将报文转发给接收方。由于文件是同时传输的,因此基于流的模式比基于代理的模式消耗更多的CPU周期。但是,根据FortiGate模型,可以将一些操作卸载到SPU上以提高性能。当FortiGate接收到文件的最后一个包时,它将该包置于等待状态,并向IPS引擎发送一份副本。IPS引擎提取有效载荷并将整个文件组装起来,然后将整个文件发送给AV引擎进行扫描。

  当检测到病毒时,可能出现两种情况:

  ● 当在TCP会话中检测到病毒时,一些数据包已经被转发给了接收者,FortiGate会重置连接,不发送文件的最后一部分。虽然接收方获得了大部分文件内容,但文件已被截断,因此无法打开。IPS引擎还会缓存受感染文件的URL,因此,如果再次尝试传输该文件,IPS引擎会向客户端发送块替换消息,而不是再次扫描该文件。

  ● 如果在连接开始时检测到病毒,IPS引擎会立即发送阻断替换消息。

  上图以反病毒配置文件运行在基于流的检测模式为例。缺省情况下,检测模式为基于流。

  正如你在上图看到的,客户机发送请求并立即开始接收包,但FortiGate同时也缓存这些包。当最后一个数据包到达时,FortiGate会缓存它并将其搁置。然后,IPS引擎提取最后一个报文的有效载荷,将整个文件组装起来,发送给防病毒引擎进行扫描。如果反病毒扫描未检测到病毒,且扫描结果为无病毒,则重新生成最后一个缓存包并下发到客户端。但是,如果发现病毒,则丢弃最后一个数据包。即使客户端已经接收到大部分文件,文件也会被截断,客户端将无法打开被截断的文件。

  无论你使用哪种模式,扫描技术都会给出相似的检测率。如何选择扫描引擎?如果性能是最优先考虑的,那么流量检测模式更合适。如果安全性是你的优先考虑因素,那么代理检查模式(客户端被禁用)更合适。

  每个协议的代理在扫描之前会先选择一个连接并缓冲整个文件(或者等待,直到达到过大的限制)。客户端必须等待扫描完成。当检测到病毒时,系统会立即弹出阻断替换页面。因为FortiGate必须缓冲整个文件,然后进行扫描,所以扫描需要很长时间。此外,从客户机的角度来看,它必须等待扫描完成,并可能由于缺少数据而终止连接。

  你可以在config firewall profile-protocoloptions命令树中配置HTTP和FTP协议的客户端安慰。这允许代理缓慢地传输一些数据,直到它能够完成缓冲区和完成扫描。这可以防止连接或会话超时。在第一次尝试中没有出现阻断替换消息,因为FortiGate正在将数据包传输到最终客户端。

  代理检查反病毒功能支持基于流的扫描,默认开启。基于流的扫描对大型归档文件进行扫描,首先对文件进行解压缩,然后对文件进行扫描和解压缩。这个进程优化了内存利用率,以节约FortiGate上的资源。病毒被检测到,即使他们是在中间或接近这些大文件的结尾。

  采用代理检测方式扫描时,客户端发起请求,FortiGate将对整个文件进行缓冲,然后发送到反病毒引擎进行扫描。如果文件是干净的(没有任何病毒),FortiGate开始将文件传输到最终客户端。如果发现病毒,则不向终端客户端发送报文,代理会向终端客户端发送替换阻断消息。

  应用基于代理的反病毒配置文件时,需要在FortiGate配置中使用两个章节来使用非默认设置:

  1. 反病毒配置文件

  2. 防火墙策略

  反病毒配置文件提供了选择基于代理的方式作为配置文件内的检查模式的选项。这允许配置文件检查MAPI和SSH协议通信,以及使用内容解除和重构(CDR)特性对Microsoft文档和PDF文件进行消毒。

  如果反病毒配置文件的检测模式为基于代理,则只有防火墙策略的检测模式为基于代理时才有效。

  上图提供了不同的反病毒扫描方式的比较。

  答案:A

  答案:B

  你现在了解了反病毒扫描模式。接下来,你将了解反病毒配置。

  通过演示反病毒配置的能力,包括检查反病毒日志,你将能够有效地使用反病毒配置文件。

  可在反病毒页面配置反病毒配置文件。防火墙策略默认的检测方式为基于流,因此需要设置检测模式为基于流。当防火墙策略的检测模式为基于代理时,检测模式也可以设置为基于代理,这样就可以实现一些只有通过基于代理防火墙策略才能实现的功能,如MAPI协议、CDR等。

  两个检测模式都提供以下选项:

  APT保护选项:

  ● 将电子邮件附件中的Windows可执行文件视为病毒:默认情况下,启用此选项,标识为Windows可执行文件的文件(包括压缩文件)可以视为病毒。

  ● 将文件发送到FortiSandbox进行检测:如果配置了FortiSandbox云或设备,则可以配置反病毒配置文件,将恶意文件发送到FortiSandbox进行行为分析。如果标记为恶意,如果启用了Use FortiSandbox数据库,任何未来匹配相同行为的文件都将被阻止。

  病毒爆发防御:

  ● 使用FortiGuard爆发防御数据库:FortiGuard病毒爆发防御是一层额外的保护,可使你的网络安全,免受新出现的恶意软件的伤害。快速的病毒爆发可以在签名被开发出来阻止之前感染网络。爆发保护将阻止这些病毒爆发,直到FortiGuard上的签名可用为止。

  ● 使用外部恶意软件阻止列表:FortiGate可以通过将动态外部恶意软件阻止列表链接到FortiGate来增强反病毒数据库。恶意软件阻止列表可以定义为一个安全结构连接器,并配置为通过设置刷新率来动态拉出列表。

  在反病毒配置文件中,你可以定义FortiGate在检测到受感染的文件时应该做什么。配置反病毒配置文件后,需要在防火墙策略中应用反病毒配置文件。

  协议选项比反病毒配置文件提供更细粒度的控制。你可以配置协议端口映射、常用选项、web选项和电子邮件选项,举几个例子。

  协议选项可通过GUI界面或CLI界面进行配置。协议选项用于反病毒和其他安全配置文件,如web过滤、DNS过滤和数据丢失预防(DLP)等。

  一旦配置了协议选项,它们将应用到防火墙策略中。

  那么,建议的缓冲区限制是多少?它因型号和配置而异。你可以为你的网络调整超大尺寸限制以获得最佳性能。较小的缓冲区可以最小化代理延迟(对于扫描模式)和RAM的使用,但这可能会允许病毒在未被检测到的情况下通过。当缓冲区太大时,客户端可能会注意到传输超时。你需要平衡这两者。

  如果不确定要将oversize-limit设置为什么值,可以临时启用oversize-log,以查看FortiGate是否频繁扫描大文件。然后你可以相应地调整值。

  大于过大限制的文件将被跳过扫描。在命令行中启用oversize-log选项,可以启用超大文件的日志记录功能。

  大文件通常是压缩的。当压缩文件经过扫描时,压缩的作用就像加密:签名不匹配。因此,FortiGate必须解压缩该文件才能扫描它。

  在解压文件之前,FortiGate必须先识别压缩算法。一些归档类型可以仅使用头来正确识别。此外,FortiGate必须检查该文件是否受密码保护。如果存档文件有密码保护,FortiGate就无法解压它,因此也就无法扫描它。

  FortiGate将文件解压缩到RAM中。就像其他大文件一样,RAM缓冲区有一个最大的大小。增加这个限制可能会降低性能,但它允许你扫描更大的压缩文件。

  如果存档是嵌套的——例如,如果攻击者试图通过在ZIP文件中放置ZIP文件来绕过扫描——FortiGate将尝试撤销所有的压缩层。默认情况下,FortiGate将尝试解压并扫描12层,但你可以将其配置为扫描到你的设备支持的最大数量(通常为100)。通常,你不应该增加这个设置,因为它会增加RAM使用量。

  全扫描模式下的反病毒配置文件缓冲区可达你指定的文件大小限制。默认值是10MB。这对于大多数文件来说都足够大了,除了视频文件。如果你的FortiGate型号有更多的RAM,你可以增加这个阈值。

  如果没有限制,非常大的文件可能会耗尽扫描内存。因此,这个阈值平衡了风险和性能。这种权衡是FortiGate独有的,还是特定的型号?不,无论是供应商还是型号,你都必须做出选择。这是因为理论上的扫描没有限制,而实际设备上的扫描只有有限的RAM。无论文件大小如何,为了100%检测恶意软件,防火墙需要无限大的内存——现实世界中没有任何设备具备这种能力。

  大多数病毒都很小。这个表显示了一个典型的权衡。你可以看到,使用默认的10MB阈值,只有0.01%的病毒通过。

  FortiGate设备启动流量扫描前,需要在防火墙策略中应用反病毒配置文件、协议选项和SSL/SSH检测配置文件。

  在完全SSL检查级别中,FortiGate在到达服务器之前,会在自己的接口上终止SSL/TLS握手。在交换证书和私钥时,使用FortiGate,而不是服务器。接下来,FortiGate启动与服务器的第二个连接。

  由于流量在接口之间通过时未加密,FortiGate可以对报文进行内容检测,寻找匹配的反病毒特征库,然后对报文重新加密转发。

  由于这些原因,完全SSL检查级别是唯一的选择,允许反病毒是有效的。

  使用代理检查方式扫描时(禁用客户端安慰功能),当检测到病毒时,会立即显示阻断替换页面。

  对于基于流的检测模式扫描,如果在流开始时检测到病毒,第一次尝试时将显示阻断替换页面。如果发送数包后检测到病毒,则不会显示阻断替换页面。但是,FortiGate会缓存URL,并在第二次尝试时立即显示替换页面。

  请注意,如果启用了深度检测,所有基于HTTPS的应用程序也会显示阻断替换消息。

  阻断页面包括以下内容:

  ● 文件名

  ● 病毒名

  ● 网站主机和URL

  ● 用户名和组(如果启用了身份验证)

  ● 链接到FortiGuard百科全书——它提供分析、推荐的操作(如果有的话)和检测可用性

  你可以直接访问FortiGuard网站,查看其他恶意软件的信息,然后扫描、提交或同时进行这两种操作,获取疑似恶意软件的样本。

  你可以在仪表板上的高级威胁保护统计信息小部件上找到病毒扫描统计信息。

  如果FortiGate正在提交用于沙盒的文件,它会保存有关提交的文件数量和这些扫描结果的统计数据。这些统计数据与FortiGate上本地扫描的文件是分开的。

  开启日志记录功能后,可在反病毒日志页面查看详细信息。

  当反病毒扫描检测到病毒时,默认会创建日志,记录检测到的病毒类型、动作、策略ID、反病毒配置文件名称和检测类型。它还提供了FortiGuard网站上更多信息的链接。

  你还可以在转发流量日志页面查看日志明细,防火墙策略记录了流量活动。你还可以找到FortiGate应用反病毒处理的流量摘要。

  答案:A

  现在你了解了反病毒配置。接下来,你将了解一些反病毒最佳实践。

  通过展示反病毒最佳实践的能力,你将能够配置有效的反病毒解决方案。

  以下是在配置FortiOS上使用的反病毒扫描时需要遵循的一些最佳实践:

  ● 对所有上网流量启用反病毒扫描。这包括内部到外部防火墙策略,以及任何VIP防火墙策略。

  ● 采用深度检测,而不是证书检测,确保全内容检测。

  ● 使用FortiSandbox防止新病毒。

  ● 不要增加要扫描的最大文件大小,除非有充分的理由,或者为了满足网络需求而需要这样做。

  日志记录是管理安全网络的一个重要部分。启用超大文件的日志记录,这样如果有文件没有被扫描,你可以知道它。另外,确保使用安全配置文件的所有防火墙策略上启用了安全事件日志记录。使用独立的仪表板查看有关网络威胁的相关信息。独立的仪表板将信息组织成网段,并将其分解成各种类别。

  FortiGate主CPU负责对网络流量进行UTM/NGFW的检测。FortiGate型号具有专门的芯片,可以减轻检测任务,提高性能,同时提供同等水平的保护。支持NTurbo特性的FortiGate设备可以将UTM/NGFW会话卸载给网络处理器。NTurbo创建了一条特殊的数据路径,将流量从入接口重定向到IPS引擎,从IPS引擎重定向到出接口。这可以通过加速反病毒检查来提高性能,而不牺牲安全性。

  具有CP8或CP9内容处理器的FortiGate可号以将基于流的模式匹配分配给CP8或CP9处理器。

  当CP加速被启用时,基于流的模式数据库被编译并从IPS引擎和IPS数据库下载到内容处理器。这减少了FortiGate CPU上的负载,因为基于流的模式匹配请求被重定向到CP硬件。在对流量进行基于流的检测之前,IPS引擎通过一系列的解码器,根据报文的协议和策略设置,来判断哪些安全模块可以被使用。另外,如果配置了SSL检测,IPS引擎也会对SSL报文进行解密。SSL解密也由CP8或CP9处理器卸载和加速。

  答案:B

  答案:A

  现在你了解了反病毒最佳实践。接下来,你将了解反病毒故障排除。

  adv        通过展示解决常见反病毒问题的能力,你将能够配置和维护有效的反病毒解决方案。

  如果FortiGate显示一个有效的许可证,但反病毒数据库过期了怎么办?

   检查FortiGate上安装的当前数据库版本,并将版本号与FortiGuard网站上的当前版本进行比较。如果没有使ge防病毒数据库。请确保至少一个防火墙策略上应用了反病毒配置文件。如果你继续看到更新的问题,运行实时调试命令来识别问题。

  如果你在反病毒许可或FortiGuard更新方面遇到问题,请开始通过基本的连通性测试进行故障排除。大多数情况下,与更新相关的问题是由FortiGuard服务器的连接问题引起的。对于常见的反病毒问题,你可以执行以下操作:

  ● 确保FortiGate有一个稳定的互联网连接,可以解析DNS(update.fortinet.net)。

  ● 如果FortiGate和internet之间有另一个防火墙,请确保TCP端口443是开放的,并且允许来自FortiGate设备和到FortiGate设备的流量。

  ● 使用CLI命令强制FortiGate检查新的病毒更新:execute update-av。

  ● 请确认FortiGate设备已注册,且具有有效的反病毒服务合约。

  如果你有一个有效的合同和更新的数据库,你仍然有感染病毒的问题,该怎么办?开始对基本配置错误进行故障排除。大多数情况下,问题是由设备上的错误配置引起的。你可以用下面的方法来验证它们:

  ● 请确保在正确的防火墙策略上应用了正确的反病毒配置文件。

  ● 确保你在所有internet连接防火墙策略上使用相同的反病毒配置文件和SSL/SSH检查。

  ● 添加并使用高级威胁保护统计信息小部件可从该单位获取最新的病毒统计信息。

  以下是一些可以用来检索信息和解决反病毒问题的命令:

  ● get system performance status: 显示最近一分钟的统计信息。

  ● diagnose antivirus database-info: 显示当前的反病毒数据库信息。

   ● diagnose autoupdate versions: 显示当前的反病毒引擎和签名版本。

  ● diagnose antivirus test“get scantime”: 显示被病毒感染文件的扫描时间。

  ● execute update-av: 强制FortiGate检查来自FortiGuard服务器的反病毒更新。

  答案:B

  恭喜你!你已经学完了这一课。现在,你将回顾你在这一课中涉及的目标。

  上图展示了你在这节课中涉及的目标。

  通过掌握本课所涉及的目标,你了解了如何使用FortiGate特性和功能来保护你的网络免受病毒侵害。