在本课中,你将了解FortiGuard、网页过滤、反病毒和应用控制。你还将了解FortiManager如何充当本地FortiGuard服务器,并与网页过滤一起使用。
通过展示FortiGuard、网络过滤、反病毒和应用控制的能力,你将能够在FortiGate上实施和维护安全配置文件和策略。
FortiGuard分发网络(FDN)为你的FortiManager系统及其托管的FortiGate设备和FortiClient代理提供FortiGuard服务。它提供以下方面的更新和评级服务:
● 反病毒
● 入侵防御系统 (IPS)
● 网页过滤
● 反垃圾邮件
● 应用控制
● 漏洞扫描
● IP信誉
● 网页安全
● 数据库安全
● 地理IP地址
FortiGate使用不同的端口进行评级服务(如网页过滤和反垃圾邮件)和更新服务(如反病毒和IPS)。
在评级服务的情况下,当与公共FortiGuard服务通信时,FortiGate使用以下端口之一:
● UDP端口8888
● UDP端口53
● HTTPS端口8888
● HTTPS端口53
● HTTPS端口443
在评级服务的情况下,当与配置为本地FortiGuard服务器的FortiManager通信时,FortiGate使用以下端口之一:
● UDP端口8888
● UDP端口53
● HTTP端口8888
● HTTPS端口53
在更新服务的情况下,FortiGate使用HTTPS端口443。
默认情况下,FortiGuard服务器位置是自动的,服务器是根据与FortiGate设备的接近度选择的。你可以将FortiGate配置为仅位于美国或欧盟的公共FortiGuard服务器。
要了解如何对FortiGuard问题进行故障排除,你需要了解FortiGuard通信的工作原理。FortiGate和FortiGuard之间用于网页过滤和反垃圾邮件的通信与反病毒和IPS的通信不同。首先,你将了解FortiGuard网页过滤和反垃圾邮件的工作原理:
1. FortiGate联系DNS服务器以解析FortiGuard服务名称。
2. FortiGate获取服务器(通常是两个或三个)的IP地址列表,可以联系这些地址来验证FortiGuard许可证。
3. FortiGate联系其中一台服务器来检查许可证,并获得可用于提交网页过滤和反垃圾邮件评级查询的服务器列表。
4. FortiGate获取服务器列表。
5. FortiGate开始向列表中的一台服务器发送评级查询。(在本课的后面,你将了解FortiGate如何选择服务器。)
6. 如果所选服务器在两秒钟内没有回复,FortiGate会联系列表中的下一台服务器。
FortiGuard服务名称取决于FortiGate配置:
● service. fortiguard.net:FortiGate配置为使用UDP并与全球服务器通信。
● securewf. fortiguard.net:FortiGate配置为使用HTTPS并与全球服务器通信。
● usservice. fortiguard.net:FortiGate配置为使用UDP并与仅位于美国的服务器通信。
● ussecurewf. fortiguard.net:FortiGate配置为使用HTTPS并与仅位于美国的服务器通信。
● euservice. fortiguard.net:FortiGate被配置为使用UDP并与仅位于欧盟的服务器通信。
● eusecurewf. fortiguard.net:FortiGate被配置为使用HTTPS并与仅位于欧盟的服务器通信。
你可以在FortiGate GUl上查看FortiGuard许可证的状态以及与FortiGuard的通信。你还可以检查每个FortiGuard服务的本地安装数据库的版本。
在本节中,你将了解作为本地FortiGuard分发服务器(FDS)的FortiManager。
FortiManager可以充当本地FDS。它持续连接到公共FDS服务器,以获取托管设备许可证信息并检查固件可用性更新。
所有FortiManager设备都可以为受支持的设备提供反病毒、IPS、漏洞扫描和签名更新。FortiManager设备还可以提供网页过滤和反垃圾邮件评级服务。
你需要在FortiManager上的System Settings > Network下为每个界面配置服务访问设置。FortiManager支持来自已注册(托管)设备和未注册(未托管)设备的请求。启用FortiManager内置FDS后,你可以将FortiGate设备配置为使用FortiManager FortiGuard服务。
现在,你将看看FortiGate上需要什么,才能将FortiManager用于FortiGuard服务。你需要配置server-list。这是你定义server-address的地方,这是FortiManager的IP,FortiGate将在其中查询评级和软件包更新。
你还可以在server-type设置中定义以下选项:
● rating:网页过滤、反垃圾邮件等
● update:反病毒、IPS等
默认情况下,启用include-default-servers。如果FortiManager设备(在服务器列表中配置)不可用,这允许FortiGate与公共FortiGuard服务器进行通信。如果禁用,即使FortiManager设备停机,FortiGate设备也永远不会进入公共FDS。
上图显示的GUI部分以及相关的CLI命令显示了所有FortiGate设备的FortiGuard许可证的状态。
你在FortiGuard>Package Management中管理反病毒和IPS签名软件包。从FortiGuard收到的包裹列在接收状态下。它显示收到的软件包;版本;大小;要部署的版本;以及FortiGate、FortiMail、FortiAnalyzer和FortiClient的更新历史记录。
单击更新历史记录以打开软件包的更新历史记录页面。它显示更新时间、发生的事件、更新状态以及下载的版本。
你可以通过在待部署版本列中选择更改来更改要部署的软件包的版本。
单击软件包管理>服务状态,查看所有受管理的FortiGate设备的列表、其上次更新时间及其状态。
● 最新:FortiGate收到了最新的包裹。
● 从未更新:FortiGate从未请求或收到包裹。
● 待定:出于可接受的原因(例如待定的计划更新),FortiGate有一个旧版本的软件包。
● 问题:FortiGate错过了预定的查询,或者没有正确收到最新的软件包。
● 未知:FortiGate状态目前未知。
上图显示的命令包含有关在FortiManager(由S/N显示)管理的设备上安装或将安装哪些更新的详细信息。
FortiManager可以记录更新服务事件。它们对故障排除很有用。首先将日志级别设置为调试。下一张图片显示了显示日志时必须使用的命令。或者,你可以将日志导出到SFTP或FTP服务器。
更新服务日志显示向FortiManager提出的FortiGate请求,以及向公共FortiGuard服务器提出的FortiManager请求。
网页过滤和反垃圾邮件数据库在FortiGuard管理>查询服务器管理下管理。从FortiGuard收到的数据库列在接收状态下。
此页面显示从服务器收到更新的日期和时间、更新版本、更新大小和更新历史记录。
选择更新历史记录以打开软件包的更新历史记录页面。它显示更新时间、发生的事件、更新状态、版本号和下载大小。
你可以使用上图显示的命令查看有关FortiGate向FortiManager发出的评级请求的统计信息。默认情况下,此命令显示最后60分钟的请求速率。但是,可以使用上图显示的命令更改时间段。此信息也定期记录在事件日志中。
FortiManager可以像记录更新服务事件一样记录评级服务事件。对于故障排除,建议你先启用调试级别。
在本节中,你将了解网络过滤。
FortiOS中的网页过滤以两种检查模式之一运行:代理和流。默认情况下,FortiGate会缓存从FortiGuard收到的评级结果。因此,在向FortiGuard发送评级请求之前,FortiGate会检查网站类别是否尚未在本地缓存中。你可以配置网页过滤缓存中条目的生存时间(TTL)。
在Web过滤检查期间,FortiGate首先检查静态URL过滤器列表,然后检查FortiGuard类别,然后检查内容过滤列表。在上图的示例中,社交网络类别被网络过滤器配置文件中的FortiGuard类别过滤器阻止,以阻止Facebook。然而,根据用户访问www.facebook.com时的URL过滤器,网站将被允许。
最后,FortiGate可以执行一些高级选项,例如操作HTTP头。
由于加密流量占大多数组织流量的60%至80%,因此检查加密流量以维护安全网络已经变得至关重要。在网页过滤的背景下,FortiGate有两种检查出站加密会话的方法:SSL证书检查和完整的SSL检查。
你可以配置SSL/SSH检查配置文件以使用任一检查方法。
使用SSL证书检查时,FortiGate不会解密或检查任何加密流量。使用此方法,FortiGate仅检查初始未加密的SSL握手。如果存在SNI字段,FortiGate使用它来获取FQDN来对站点进行评级。如果SNI不存在,FortiGate将从服务器证书的CN字段检索FQDN。
在某些情况下,CN服务器名称可能与请求的FQDN不匹配。例如,youtube.com数字证书中CN字段的值是google.com。因此,如果你从不支持SNI的浏览器连接到youtube.com,并且FortiGate使用SSL证书检查方法,FortiGate错误地假设你正在连接到google.com,并使用google.com类别而不是youtube.com的类别。
请注意,SSL证书检查仅适用于Web过滤,以及在进行应用程序控制时使用一些应用程序签名检测。它不适用于反病毒、IPS或DLP扫描,这些扫描需要检查完整的有效载荷。
在进行基于证书的检查时,默认情况下,FortiGate会根据服务器证书的CN和SAN字段中的信息验证客户端请求的SNI字段中的信息。如果SNI字段中的域与CN和SAN字段中列出的任何域不匹配,FortiGate将使用CN字段中的域而不是SNI字段中的域。
你可以将FortiGate配置为更严格,因此,如果SNI字段中的域与CN和SAN字段中列出的任何域不匹配,它将关闭客户端连接。
你还可以将FortiGate配置为完全禁用SNI检查,以便FortiGate始终根据FQDN对URL进行评级。
你可以配置完整的SSL检查来检查所有数据包内容,包括有效负载。FortiGate通过代理SSL连接来执行此检查。两个SSL会话是建立客户端到FortiGate和FortiGate到服务器。这两个已建立的会话允许FortiGate使用自己的密钥加密和解密数据包,这允许FortiGate完全检查加密数据包中的所有数据。
你可以使用FortiOS CLI显示FortiGuard类别列表及其数值。
当你使用FortiOS CLl或使用FortiManager上的脚本创建Web配置文件时,你可以使用FortiGuard类别编号。与使用GUI类似,你可以使用CLI为每个类别配置不同的操作。
你可以使用类别编号来测试特定类别或子类别是否被允许或阻止。为此,请使用上图显示的URL格式。
在上图显示的示例中,类别11是赌博。测试确认此类别中列出的所有网站都将被阻止。替换消息页面显示被阻止的类别,以及其他信息,如客户端IP、服务器IP和用户信息。
两个会话标志指示流量是在基于代理的模式还是基于流的模式下检查的。标识redir表示在基于代理的模式下检查流量。标志ndr表示在基于流的模式下检查流量。在基于代理的检查的情况下,调试流包含“发送到应用程序层”的消息。
在FortiGate上启用安全配置文件会影响防火墙资源和吞吐量。数据包被发送到内核或主CPU以强制过滤。FortiOS在防火墙策略和安全配置文件中支持基于流和基于代理的检查。
根据你的要求,你可以选择检查模式,但了解一些差异以及它如何影响防火墙性能是有用的。基于流的检查实时识别和阻止威胁,因为FortiOS识别威胁通常比基于代理的检查需要更少的处理资源。建议对优先考虑流量吞吐量的策略应用基于流量的检查。
基于代理的检查涉及缓冲流量,并在确定操作之前对其进行整体检查。拥有要分析的所有数据,可以检查更多的数据点,而不是基于流量的检查。基于代理的检查也支持一些高级功能,如使用配额、安全搜索和Web配置文件覆盖。
你了解到FortiGate需要SSL检查才能应用网络过滤。因此,在FortiGate上启用SSL深度检查时,FortiGate的整体性能可能会降低。这是因为所有流量都需要解密、检查和重新加密。有一些最佳做法可以减少影响:
1. 你可以限制允许加密流量的数量策略。
2. 使用FortiGate设备安全策略的灵活性来逐步部署SSL检查,而不是一次性启用SSL检查。
3. 仅在需要的地方应用SSL深度检查。例如,免除已知和受信任的流量的SSL检查。
4. 使用硬件加速,如内容处理器(CP8或CP9)来卸载SSL内容扫描。
如果FortiGate支持,需要基于流的安全功能的防火墙会话可以卸载到网络处理器(NP6或NP7)。网络处理器减少了FortiGate CPU的工作负载,并提高了整体吞吐量。
请注意,包含基于流和基于代理的配置文件的防火墙策略永远不会卸载到NP,并且始终由FortiGate CPU处理。
在某些情况下,即使启用了NP加速,并且会话由FortiGate CPU处理,防火墙会话也可能无法卸载。这些是:
1. 该政策禁用了NP加速。
2. 防火墙策略包括基于代理的安全配置文件。
3. 防火墙会话需要FortiOS会话助手。
4. 启用隧道,包括进出隧道接口(SSL VPN、GRE等)的流量,但IPsec VPN会话除外。
FortiGate可以在内存中维护最近网站评级响应的列表。因此,如果URL已经知道,FortiGate不会发回评级请求。
默认情况下,FortiGate被配置为强制使用HTTPS端口443使用FortiGuard或FortiManager执行实时过滤。通过禁用CLl上的FortiGuard任意广播设置,可以获得其他端口和协议。这些端口和协议用于查询服务器(FortiGuard或FortiManager)HTTPS端口53和端口8888、UDP端口443、端口53和端口8888。如果你使用的是UDP端口53,任何类型的检查都会显示此流量不是DNS,并阻止服务正常工作。在这种情况下,你可以切换到备用UDP端口443或端口8888,或将协议更改为HTTPS,但这些端口不能保证在所有网络中都打开,因此你必须事先检查。
缓存响应减少了为网站建立评级所需的时间。此外,内存查找比在互联网上传输的数据包要快得多。
超时默认为15秒,但如果有必要,你可以将其设置为30秒。
要列出FortiGuard网络过滤缓存的内容,请使用diagnose webfilter fortiguard cach dump命令。对于每个URL,输出按域名和IP地址列出其评级。域名评级是第一个数字的前两位数字,从左到右。它是以十六进制表示的类别ID。IP地址的评级是第二个数字的前两位数字。它也是以十六进制表示的类别ID。
get webfilter categories命令列出了所有类别及其各自的ID号。在此列表中,ID以十进制表示。因此,如果你想在缓存中找到URL的类别名称,请使用第一个命令列出缓存,并将ID号从十六进制转换为十进制。然后,使用第二个命令查找该ID号的类别名称。
在本节中,你将了解应用控制。
当FortiGate或VDOM在基于流(NGFW模式设置为基于配置文件,策略设置为基于流)检查模式或策略设置为基于代理的检查模式中运行时,要配置应用控制,管理员必须创建应用控制配置文件,并将该配置文件应用于防火墙策略。
需要注意的是,无论策略上使用哪种检查模式,应用控制配置文件都使用基于流的扫描技术。
应用控制配置文件由三种不同类型的过滤器组成:
● 类别:根据相似性对应用程序进行分组。例如,所有能够提供远程访问的应用程序都分组在远程访问类别中。你可以查看类别中所有应用程序的签名,或将操作应用于整个类别。
● 应用程序覆盖:提供控制特定签名和应用程序的灵活性。
● 过滤器覆盖:当预定义的类别不符合你的要求,并且你想根据类别中不可用的标准阻止所有应用程序时,非常有用。你可以根据行为、受欢迎程度、协议、风险、供应商或应用程序使用的技术配置应用程序的分类,并据此采取行动。
应用控制配置文件在应用控制页面上配置。你可以根据类别、应用程序覆盖和过滤器覆盖来配置操作。你还可以通过单击查看应用程序签名来查看应用控制签名列表。
在应用控制配置文件页面的顶部,你将看到需要深入检查的云应用程序数量的摘要。没有深度检查配置文件,无法扫描使用SSL加密的云应用程序。FortiGate必须解密流量才能执行检查和控制应用程序流量。
未知应用程序设置匹配无法匹配任何应用程序控制签名的流量,并将流量标识为日志中的未知应用程序。导致流量被识别为未知应用程序的因素包括:
● 你的用户正在使用多少罕见的应用程序
● 你正在使用哪个IPS数据库版本
将流量识别为未知可能会导致频繁的日志条目。频繁的日志条目会降低性能。
当FortiGate在基于NGFW策略的模式下运行时,管理员可以直接将应用程序控制应用于安全策略,而不必先创建应用程序控制配置文件,然后将其应用于防火墙策略。无需使用应用程序控制配置文件,使管理员更容易选择他们希望在防火墙策略中允许或拒绝的应用程序或应用程序类别。
需要注意的是,基于NGFW策略的模式VDOM或FortiGate中的所有安全策略必须在合并策略上指定SSL/SSH检查配置文件。NGFW基于策略的模式还要求使用中央源NAT(SNAT),而不是在防火墙策略中应用的NAT设置。
你可以在应用程序部分的安全策略中选择一个或多个应用程序、应用程序组和应用程序类别。单击应用程序的+图标后,将打开一个弹出窗口。在该窗口中,你可以搜索并选择一个或多个应用程序签名、应用程序组或应用程序类别。根据应用于策略的应用程序、组和应用程序类别,Fortios将安全操作应用于应用程序流量。
你可以在相同的安全策略中配置URL类别;但是,添加URL过滤器会导致应用程序控件仅扫描基于浏览器的技术类别中的应用程序,例如Facebook网站上的Facebook Messenger。
你还可以使用多个应用程序和应用程序类别配置组。这允许管理员混合多个应用程序和类别。
除了应用URL类别过滤器外,你还可以将反病毒和IPS安全配置文件应用于允许通过的应用程序流量。
FortiOS使用三步流程来执行基于NGFW策略的应用程序过滤。以下是每个步骤发生的简要概述。
在步骤1中,FortiOS允许所有流量,同时将数据包转发到IPS引擎以检查和识别流量。与此同时,FortiOS在会话表中创建一个条目,允许流量通过,并添加一个may_dirty标志。
在步骤2中,一旦IPS引擎识别应用程序,它就会用以下信息更新会话条目:dirty标志、app_valid标志和应用程序ID。
在步骤3中,FortiOS内核再次执行安全策略查找,以查看已识别的应用程序ID是否列在任何现有安全策略中。这一次,内核同时使用第4层和第7层信息进行策略匹配。在标准匹配防火墙策略规则后,FortiOS内核将安全策略上配置的操作应用于应用程序流量。
你必须在基于NGFW策略的模式下拥有匹配的中央SNAT策略才能传递流量。FortiGate根据中央SNAT策略中定义的标准对流量应用NAT。
在策略&对象中安排安全策略极其重要,以便更具体的策略位于顶部,以确保正确使用应用程序控制。
默认的SSL检查&身份验证策略使用证书检查SSL检查配置文件来检查任何安全防火墙接受的流量。
当你启用中央NAT时,你可以在FortiGate GUI上的中央SNAT页面上配置SNAT。
将中央NAT用于SNAT的主要好处是防火墙策略和中央SNAT策略隔离。这对于由多个网络和IP池组成的高级SNAT配置特别有用。你没有启用NAT并在防火墙策略上选择IP池,而是为防火墙策略接受的所有流量配置SNAT策略。这样,你将防火墙策略配置的重点放在要接受哪种流量上,将SNAT策略集中在要转换的接受流量的哪一部分以及要遵循的SNAT映射上。其结果是,你可以通过从中删除SNAT设置来简化防火墙策略配置。
当你配置SNAT策略时,你可以配置以下匹配标准:
● 流入接口
● 流出接口
● 源地址
● 目标地址
● 协议
● 源端口(显式端口映射)
你还必须指明是使用流出接口地址还是IP池执行SNAT。请注意,如果你启用中央NAT模式,除非你配置相应的匹配中央SNAT策略,否则FortiGate不会对流量执行SNAT。同样,如果流量与任何配置的SNAT策略不匹配,FortiGate也不会对流量执行SNAT。
与防火墙策略一样,SNAT策略从上到下处理,如果找到匹配项,则根据中央SNAT策略映射设置对源地址和源端口进行转换。
在上图上显示的示例中,PC1(10.0.1.10)启动了与外部服务器(80.80.80)的两个连接。HTTPS连接与中央SNAT策略ID 1匹配,因此,源地址被转换为IP池地址(70.70.70.71)。DNS连接匹配中央SNAT策略ID 2,该ID不引用IP池。结果是,DNS连接的源地址被转换为外部接口地址(70.70.70.70)。
虽然没有显示在上图中,但配置了接受两个连接的防火墙策略。
现在,如果PC1启动与服务器的ICMP连接呢?由于没有匹配的中央SNAT策略,因此FortiGate不会为ICMP连接执行SNAT。
NGFW政策匹配使用自上而下的方法。在更广泛或更开放的政策之上,你必须有特定的政策。例如,如果你想阻止Facebook但允许Social.Media类别,则必须将阻止Facebook流量的策略置于允许Social.Media类别的策略之上。
通过掌握本课程中涵盖的目标,你学习了如何在FortiGate上实现和维护网页过滤、反病毒和应用控制。