在本节课中,你将学习如何使用FortiGate来保护你的网络免受病毒的侵害。
这节课,你将学习上图显示的主题。
通过演示反病毒基础知识的能力,你将能够在理解和应用在FortiGate上的反病毒。
与使用多种方法避免被检测的病毒一样,FortiGate也使用多种技术来检测病毒。这些检测技术包括:
● 反病毒扫描:这是第一个最快最简单的方法来检测恶意软件。它会检测到与反病毒数据库中的签名完全匹配的病毒。
● 灰色软件扫描:此扫描检测未经请求的程序,称为灰色软件,这些程序在用户不知情或不同意的情况下安装。严格来说,灰色软件并不是一种病毒。它通常与无害的软件捆绑在一起,但确实有不必要的副作用,因此被归类为恶意软件。通常,灰色软件可以通过简单的FortiGuard灰色软件签名检测到。
● 机器学习(Al)扫描:这些扫描是基于概率的,因此它们增加了误报的可能性,但它们也检测到零日攻击。零日攻击是一种新的、未知的恶意软件,因此没有现有的相关签名。如果你的网络经常被攻击,那么启用Al扫描可能值得付出性能代价,因为它可以帮助你在病毒爆发之前检测到病毒。Al扫描检测到的文件采用W32/Al.Pallas.Suspicious签名进行识别。
当所有反病毒功能都开启时,FortiGate的扫描顺序为:反病毒扫描→灰色软件扫描→Al扫描。
如果AI扫描结果太不确定怎么办?如果你需要一种更复杂、更确定的方法来检测恶意软件并发现零日病毒呢?
你可以将反毒扫描与FortiSandbox云或FortiSandbox设备集成。请注意,你需要在CLI下的系统全局设置下启用云沙箱,以便配置选项出现在GUI上。对于需要更多确定性的环境,FortiSandbox在受保护的环境(VM)中执行文件,然后检查软件的影响,以确定它是否危险。
例如,假设你有两个文件。两者都改变了系统注册表,因此是可疑的。一个是驱动程序安装,它的行为是正常的,但第二个文件安装了一个连接到僵尸网络命令和控制服务器的病毒。沙箱可以揭示其中的区别。
FortiGate可以根据沙盒检测结果,配置接收FortiSandbox提供的补充特征库。
FortiOS在确定向FortiSandbox发送哪些文件方面很聪明。FortiOS为此使用的一个功能是内容解除和重构(CDR),这是一个基于代理的功能,你将在本课中了解更多。CDR处理文件时,可以将原始文档保存到FortiSandbox中。
FortiGuard为FortiGate提供基于当前威胁形势的信息,用于确定文件是否应该被视为可疑的。FortiGate为管理员提供了粒度控制,以确定将什么类型的文件发送到FortiSandbox进行进一步调查。管理员还可以选择使用FortiSandbox数据库,与FortiGuard反病毒数据库一起,以提高他们的网络安全性。
FortiSandbox内联扫描仅在代理检测模式下支持。你需要在系统FortiSandbox系统设置下启用内联扫描,然后在反病毒配置文件中选择内联。当启用该设置时,FortiSandbox将保存客户端的文件以进行检查,并在返回裁决后应用适当的配置操作。FortiSandbox云或FortiGate云沙箱不支持内联扫描。
定期更新允许你定期配置计划更新,例如每小时、每天、每周或每小时自动更新一次。你还可以启用反病毒PUP/PUA,允许反病毒灰色软件检查潜在不需要的程序和应用程序。
无论选择哪种方法,都必须在至少一个防火墙策略中启用反病毒扫描。否则,FortiGate将不会下载任何更新。或者,你可以从Fortinet客户服务和支持网站下载软件包(需要订阅),然后手动将它们上传到你的FortiGate。
你可以从GUl上的FortiGuard页面或使用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为反病毒签名尚未检测到的新威胁添加基于哈希的病毒检测。当文件被发送到scanunit守护程序时,缓冲区被哈希化,请求被发送到urlfilter守护程序。在检查其请求缓存中的已知签名后,urlfilter deamon用剩余的签名向FortiGuard发送反病毒请求。FortiGuard返回一个等级,用于确定scanunit deamon是否应该报告该文件是有害的。作业在扫描单元守护进程中保持挂起,直到客户端收到响应,或者请求超时。
恶意软件阻止列表:FortiGate可以通过链接动态外部恶意软件阻止列表来增强反病毒数据库。该列表驻留在web服务器上,可以通过安全结构恶意代码哈希列表中定义的HTTP/HTTPS URL获得。哈希列表可以是MD5、SHA1和SHA256哈希的形式,并被写在明文文件的单独行上。恶意软件阻止列表可以定义为安全架构连接器,并通过设置刷新率动态地拉出列表。
答案:B
答案:A
干得漂亮!你已经了解了反病毒功能的基本知识。现在,你将了解反病毒扫描模式。
通过演示在FortiOS中提供的所有反病毒扫描模式中的能力,你将能够以有效的方式使用反病毒配置文件。
AV检测支持基于流的检测和基于代理的检测两种方式,两种方式都使用完整的AV数据库(根据命令行设置扩展或极端)。
基于流的检测模式混合了基于代理的扫描模式:默认的扫描模式和遗留的扫描模式。默认模式在不缓冲容器归档文件的情况下增强了对嵌套归档文件的扫描。遗留模式则是缓冲完整的容器,然后再进行扫描。
在基于流的检测模式下,IPS引擎读取报文的有效载荷,同时缓存本地副本,并将报文转发给接收端。由于文件是同时传输的,基于流的模式比基于代理的模式消耗更多的CPU周期。然而,根据FortiGate型号,一些操作可以卸载到SPU以提高性能。当FortiGate接收到该文件的最后一个数据包时,它将该数据包暂停,并向IPS引擎发送一个副本。IPS引擎提取有效载荷并组装整个文件,然后将整个文件发送给AV引擎进行扫描。
检测到病毒时可能出现两种情况:
● 当在TCP会话上检测到病毒时,其中一些数据包已经转发给接收者,FortiGate将重置连接,不发送文件的最后一部分。虽然接收方获得了大部分文件内容,但该文件已被截断,因此无法打开。IPS引擎还缓存受感染文件的URL,因此,如果第二次尝试传输该文件,IPS引擎将向客户端发送阻止替换消息,而不是再次扫描该文件。
● 如果在连接开始时检测到病毒,IPS引擎会立即发送阻止替换消息。
正如你在上图中看到的,客户端发送请求并立即开始接收数据包,但FortiGate同时也缓存了这些数据包。当最后一个数据包到达时,FortiGate将其缓存并将其暂停。然后,IPS引擎提取最后一个数据包的有效载荷,组装整个文件,发送给反病毒引擎进行扫描。如果反病毒扫描没有检测到任何病毒,并且返回的结果是干净的,则重新生成最后一个缓存的数据包并传递给客户端。但是,如果发现病毒,最后一个数据包就会被丢弃。即使客户端已经收到了文件的大部分,文件也会被截断,客户端将无法打开被截断的文件。
无论你使用哪种模式,扫描技术都提供类似的检测率。如何在扫描引擎之间进行选择?如果性能是你的头等大事,那么流量检测模式更合适。如果安全性是优先考虑的,那么代理检测模式(禁用客户端安慰)更合适。
每个协议的代理在扫描之前先获取一个连接并缓冲整个文件(或等待直到达到超大限制)。客户端必须等待扫描完成。如果检测到病毒,则立即显示阻止替换页面。因为FortiGate需要缓冲整个文件,然后再进行扫描,扫描时间比较长。而且,从客户端角度来看,它必须等待扫描完成,并且可能会因为缺少数据而终止连接。
你可以从config firewall profile-protocol-options 命令树给HTTP和FTP配置客户端安慰。这允许代理缓慢地传输一些数据,直到它可以完成缓冲区并完成扫描。这可以防止连接或会话超时。第一次尝试时不会出现阻止替换消息,因为FortiGate正在将数据包传输到终端客户端。
使用代理检测反病毒可以使用基于流的扫描,默认开启。基于流的扫描对大型归档文件进行扫描,方法是先对文件进行解压,然后同时进行扫描和提取。这个过程优化了内存利用率,节省了FortiGate上的资源。即使病毒位于这些大文件的中间或接近末尾,也会被检测到。
使用代理检测模式扫描,客户端发送一个请求,FortiGate开始缓冲整个文件,然后将其发送给反病毒引擎进行扫描。如果文件是干净的(没有任何病毒),FortiGate开始将文件传输到最终客户端。如果发现病毒,则不向终端客户端发送报文,代理向终端客户端发送替换阻止消息。
应用基于代理的反病毒配置文件需要在FortiGate配置中使用两个部分来使用非默认设置:
1. 反病毒配置文件
2. 防火墙策略
反病毒配置文件提供了在配置文件中选择基于代理的方法作为检测模式的选项。这允许配置文件检查MAPI和SSH协议流量,以及使用内容解除和重建(CDR)功能对微软文档和PDF文件进行消毒。
如果反病毒配置文件中的检测方式为代理方式,则只有防火墙策略检测方式为代理方式时,反病毒配置文件中的检测方式才会生效。
答案:A
答案:B
干得漂亮!你已经了解反病毒扫描模式了。现在,你将了解反病毒配置。
通过展示反病毒配置的能力,包括查看反病毒日志,你将能够以有效的方式使用反病毒配置文件。
反病毒配置文件可在反病毒页面配置。由于防火墙策略的检测方式默认为基于流,功能集需要配置为基于流。如果防火墙策略的检测模式为基于代理的检测模式,则功能集可以配置为基于代理,允许使用MAPI协议、CDR等代理检测模式防火墙策略才能使用的特定功能。
两个功能集都提供以下选项:
APT保护选项
● 将电子邮件附件中的Windows可执行文件视为病毒:默认启用该选项,被识别为Windows可执行文件的文件(包括压缩文件)可视为病毒处理。
● 将文件发送到FortiSandbox进行检查:如果配置了FortiSandbox云或设备,可以配置反病毒配置文件,将恶意文件发送到FortiSandbox进行行为分析。如果被标记为恶意,如果使用FortiSandbox数据库被启用,任何未来匹配相同行为的文件将被阻止。
病毒爆发防御
● 使用FortiGuard爆发防御数据库:FortiGuard病毒爆发防御是一个额外的保护层,使你的网络免受新出现的恶意软件的伤害。快速病毒爆发可以在开发签名来阻止它们之前感染网络。爆发保护将阻止这些病毒爆发,直到FortiGuard上出现签名为止。
● 使用外部恶意软件阻止列表:FortiGate可以通过链接动态外部恶意代码阻止列表来增强反病毒数据库。恶意软件阻止列表可以定义为Security Fabric连接器,并配置为通过设置刷新率动态拉取列表。
在反病毒配置文件中,可以定义如果检测到受感染的文件,FortiGate应该做什么。配置反病毒配置文件后,必须应用到防火墙策略中。
协议选项提供了比反病毒配置文件更细粒度的控制。你可以配置协议端口映射,公共选项,web选项和电子邮件选项,仅举几例。
你可以在GUl的协议选项页面配置协议选项,也可以在CLl上配置。协议选项用于反病毒和其他安全配置文件,例如web过滤,DNS过滤和数据丢失预防(DLP),仅举几例。
一旦配置了协议选项,它们就会应用到防火墙策略中。
那么建议的缓冲区限制是多少呢?根据型号和配置不同而有所不同。你可以为你的网络调整oversize-limit以获得最佳性能。较小的缓冲区可以最大限度地减少代理延迟(对于两种扫描模式)和RAM使用,但这可能会允许病毒通过而不被发现。当缓冲区过大时,客户端可能会注意到传输超时。你需要平衡这两者。
如果你不确定要设置oversize-limit的值,你可以暂时启用oversize-log,看看你的FortiGate是否经常扫描大文件。然后你可以相应地调整这个值。
大于oversize限制的文件将被跳过扫描。你可以通过在CLI中启用oversize-log选项来启用超大文件的日志记录。
大文件通常被压缩。当压缩文件经过扫描时,压缩就像加密一样:签名不会匹配。因此,FortiGate必须解压文件才能扫描它。
在解压缩文件之前,FortiGate必须首先识别压缩算法。有些档案类型仅使用头文件就可以正确识别。此外,FortiGate必须检查文件是否有密码保护。如果存档有密码保护,FortiGate无法解压它,因此无法扫描它。
FortiGate将文件解压到RAM中。就像其他大文件一样,RAM缓冲区有一个最大大小。增加这个限制可能会降低性能,但它允许你扫描更大的压缩文件。
如果存档是嵌套的,例如,如果攻击者试图通过将ZIP文件放入ZIP文件中来绕过你的扫描,FortiGate将尝试撤消所有压缩层。默认情况下,FortiGate将尝试解压并扫描最多12层深度,但你可以将其配置为扫描你的设备支持的最大数量(通常为100)。通常情况下,你不应该增加这个设置,因为它会增加RAM使用。
在FortiGate设备开始扫描恶意软件流量之前,你需要在防火墙策略上应用反病毒配置文件、协议选项和SSL/SSH检测配置文件。
在完整SSL检查级别中,FortiGate在到达服务器之前,在它自己的接口上终止SSL/TLS握手。交换证书和私钥时,是与FortiGate进行的,而不是与服务器进行的。接下来,FortiGate启动与服务器的第二次连接。
由于流量在接口之间传递时是未加密的,因此在重新加密并转发数据包之前,FortiGate可以检查内容并查找与反病毒特征库的匹配。
由于这些原因,完整SSL检查级别是使反病毒有效的唯一选择。
对于代理检测模式下的反病毒扫描(关闭客户端安慰功能),检测到病毒后,立即显示阻止替换页面。
对于基于流的检测方式扫描,如果在流的起点检测到病毒,第一次扫描时将弹出阻止替换页面。如果在传输了几次报文后检测到病毒,则不显示阻止替换页面。但是,FortiGate会缓存URL,在第二次尝试时,可以立即显示替换页面。
注意,如果启用了深度检测,所有基于HTTPS的应用程序也会显示阻止替换消息。
该页面包括以下内容:
● 文件名
● 病毒名称
● 网站主机及网址
● 用户名和组(如果启用了身份验证)
● 链接到FortiGuard百科全书,其中提供分析、建议的操作(如果有的话)和检测可用性
你可以直接访问FortiGuard网站查看有关其他恶意软件的信息,并扫描、提交,或使用可疑恶意软件的样本进行这两种操作。
如果启用了日志记录,你可以在安全事件下的反病毒日志页面上找到详细信息。
当反病毒扫描检测到病毒时,默认情况下,它会记录检测到的病毒、动作、策略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
干得漂亮!你已经了解了反病毒最佳实践。现在,你将了解反病毒故障排除。
通过展示排除常见反病毒问题的能力,你将能够配置和维护有效的反病毒解决方案。
如果你在反病毒许可证或FortiGuard更新方面有问题,请通过基本的连通性测试开始故障排除。大多数情况下,与更新相关的问题是由与FortiGuard服务器的连接问题引起的。你可以执行以下操作来处理常见的反病毒问题:
● 请确保FortiGate具有稳定的网络连接,并能解析DNs(update.fortinet.net)。
● 如果FortiGate和internet之间有另一个防火墙,请确保TCP端口443是开放的,并且允许来自和通往FortiGate设备的流量。
● 使用CLI命令execute update-av强制FortiGate检查新的病毒更新。
● 确认FortiGate设备已注册并具有有效的反病毒服务合同。
如果FortiGate显示有效的许可证,但反病毒数据库过期怎么办?
检查你的FortiGate上安装的当前数据库版本,并将版本号与FortiGuard网站上的当前版本进行比较。FortiGate可能不会更新防病毒数据库,如果它没有被使用(应用在防火墙策略上)。请确保至少在一个防火墙策略上应用了反病毒配置文件。如果你继续看到更新的问题,请运行实时调试命令来识别问题。
如果你拥有有效的合同和更新的数据库,但仍然在捕获病毒方面遇到问题,该怎么办?开始排查基本配置错误。大多数情况下,问题都是由设备上的错误配置引起的。可以通过以下方法进行验证:
● 请确保在正确的防火墙策略上应用了正确的反病毒配置文件。
● 请确保你在所有互联网连接防火墙策略上使用相同的反病毒配置文件和SSL/SSH检测。
● 添加并使用高级威胁防护统计信息小部件以获得来自单元的最新病毒统计信息。
以下是一些可用于检索信息和排除反病毒问题的命令:
● get system performance status:显示最近一分钟的统计信息。
● diagnostic antivirus database-info:显示当前反病毒数据库信息。
● diagnose autoupdate versions:显示当前的反病毒引擎版本和签名版本。
● diagnose antivirus test “get scantime”:显示受感染文件的扫描时间。
● execute update-av:强制FortiGate检查来自FortiGuard服务器的反病毒更新。
答案:B
恭喜你!你已经完成了这节课。现在,你要复习本课所学到的目标。
通过掌握本课所涵盖的目标,你学习了如何使用FortiGate特性和功能来保护你的网络免受病毒的侵害。