在本课中,你将学习如何在FortiGate上配置Web过滤,以控制网络中的网络流量。
完成本节后,你应该能够实现上图显示的目标。
通过展示Web过滤配置的能力,你将能够有效地实现Web过滤配置文件。
如此HTTP过滤流程示例所示,FortiGate查找HTTP GET请求以收集URL信息并执行Web过滤。
在HTTP中,域名和URL是独立的部分。域名在标题中可能如下所示:Host: ww.acme.com,URL在标题中可能如下所示:/index.php?login=true。
如果你按域过滤,有时它会屏蔽太多。例如,tumblr.com上的博客被认为是不同的内容,因为作者各不相同。在这种情况下,你可以更具体,并通过URL部分进行阻止,例如tumblr.com/hacking。
在默认的基于配置文件的模式下,FortiGate提供了两种检查模式(基于流和基于代理)来执行Web过滤。
你可以在基于流或基于代理的检查模式下配置Web过滤。
基于流的检查模式在文件通过FortiGate时对其进行检查。数据包在收到时进行分析并转发。原始流量没有改变。因此,不支持修改内容的高级功能,例如安全搜索执行。
基于流的检查模式的优点是:
● 与基于代理的检查模式相比,用户看到HTTP请求的响应时间更快。
● 另一端的服务器响应缓慢导致超时错误的可能性较小。
基于流的检查模式的缺点是:
● 在基于代理的检查模式下可用的许多安全功能在基于流的检查模式下不可用。
● 根据FortiGuard服务对网站的分类,可用的操作更少。
另一方面,基于代理的扫描是指透明代理。它被称为透明,因为在IP层,FortiGate不是目标地址,但FortiGate确实拦截了流量。当启用基于代理的检查时,FortiGate会缓冲流量,并在确定操作之前对其进行整体检查。由于FortiGate从整体上检查数据,它可以比使用基于流的检查时检查更多的数据点。
代理分析标头,并可能更改标头,如HTTP主机和URL,用于Web过滤。如果安全配置文件决定阻止连接,代理可以向客户端发送替换消息。这增加了整体传输速度的延迟。
对于加密协议,FortiGate需要额外的检查。当使用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过滤中正常工作,因为不需要检查完整的有效负载。
FortiGate有一个名为certificate-inspection的SSL证书检查的只读预配置配置文件。如果你想启用SSL证书检查,请在配置防火墙策略时选择此配置文件。
或者,你可以按照以下步骤创建自己的SSL证书检查配置文件:
1. 在FortiGate GUI上,单击安全配置文件,然后单击SSL/SSH检测。
2. 单击新建以创建新的SSL/SSH检查配置文件。
3. 选择多个客户端连接到多个服务器,然后单击SSL证书检查。
4. 选择服务器证书SNI检查的操作。
当服务器证书SNI检查配置启用时,如果SNI字段中的域与CN和SAN字段中列出的任何域不匹配,FortiGate将使用CN字段中的域而不是SNI字段中的域。使用Strict,如果出现不匹配,FortiGate会关闭客户端连接。当SNI检查禁用时,FortiGate总是根据FQDN对URL进行评分。
现在,你将查看Web过滤配置文件。
你可以将此安全配置文件配置为使用基于代理或基于流的检查模式的功能集。但是,根据你选择的模式,可用的设置是不同的。基于流的检查可用的选项更少。
在上图显示的示例中,安全配置文件被配置为使用基于代理的功能集。它提供了特定于基于代理的配置的功能。
配置Web过滤配置文件后,你可以将此配置文件应用于配置为使用基于代理的检查模式的防火墙策略,因此过滤将应用于你的Web流量。
在Web过滤配置文件中,Fortiguard类别过滤增强了Web过滤功能。它不是单独阻止或允许网站,而是查看网站被评级的类别。然后,FortiGate根据该类别采取行动,而不是基于URL。
FortiGuard类别过滤是一项需要有效合同的实时服务。该合同验证了与FortiGuard网络的连接。如果合同到期,有两天的宽限期,你可以在服务结束前续签合同。如果你不续订,在两天的宽限期后,FortiGate会报告每个评级请求的评级错误。此外,默认情况下,FortiGate会阻止返回评级错误的网页。你可以通过启用当发生评级错误时允许的网站更改此行为。
你可以将FortiManager配置为本地FortiGuard服务器。为此,你必须将数据库下载到FortiManager,并配置FortiGate以针对FortiManager而不是FortiGuard验证类别。
你可以在Web过滤配置文件上启用FortiGuard类别过滤。列出了类别,你可以自定义要单独执行的操作。在默认的基于配置文件的模式下,可用的操作是允许、监视、屏蔽、警告和认证。
要查看完整的类别列表,请访问FortiGuard Web过滤网站。
除了允许和屏蔽操作(分别允许和阻止访问网站)之外,监视操作还允许访问该类别中的站点并同时进行记录。在基于代理的模式下,你还可以配置使用配额。
配额允许在特定时间或带宽内进行日常访问。午夜,配额重置。一旦达到类别的每日配额,FortiGate会阻止流量并显示替换消息页面。除了监视操作外,你还可以对警告和认证操作应用配额。
警告操作通知用户,互联网政策不允许请求的网站。然而,该操作让用户可以选择进入请求的网站,或返回到以前的网站。
你可以自定义警告间隔。当计时器过期时,如果你访问同一类别中的其他网站,FortiGate会再次显示警告消息。
你可以自定义警告替换消息。默认情况下,它提供URL及其相应类别的信息。有了这些信息,用户可以单击继续来覆盖互联网使用策略。
认证操作会阻止请求的网站,除非用户输入成功的用户名和密码。FortiGate支持使用LDAP、RADIUS等进行Web过滤认证的本地和远程认证。选择此操作会提示你定义允许覆盖阻止的用户组。
你还可以自定义时间间隔以允许访问。如果用户访问同一类别的其他网站,在计时器到期之前,不会提示用户再次进行认证。
与警告操作一样,FortiGate显示一条替换消息以继续,第二条消息要求用户凭据。你可以在系统>替换消息中自定义这些替换消息。
如果你认为特定URL没有正确的类别,你可以要求在Fortinet URL评级提交网站上重新评估评级。你还可以在FortiGate配置中覆盖特殊URL的Web评级。
请记住,更改类别不会自动导致网站采取不同的操作。这取决于Web过滤配置文件中的设置。
静态URL过滤是另一个Web过滤功能,它提供了更多的粒度。URL过滤器中配置的URL根据访问的网站从上到下进行检查。如果FortiGate找到匹配项,它将应用已配置的操作。你可以配置四个操作之一:
● 例外允许来自可信来源的流量绕过所有安全检查。
● 阻断拒绝尝试,用户会收到替换消息。
● 允许许可证访问。流量传递给其余的操作,包括FortiGuard Web过滤、Web内容过滤、Web脚本过滤和反病毒扫描。
● 监视在创建日志条目时允许流量。流量仍然受到所有其他安全配置文件检查。
为了找到完全匹配,URL过滤有三种模式类型:简单、正则表达式和通配符。
那么,有了这些不同的功能,检查顺序是什么?如果你已经启用了其中许多,检查顺序流程如下:
1. 本地静态URL过滤
2. FortiGuard类别过滤(以确定评级)
3. 高级过滤(例如安全搜索或删除Active X组件)
对于每个步骤,如果没有匹配,FortiGate会进入下一个启用的检查。
基于类别的过滤需要与FortiGuard的实时连接。
你可以通过运行diagnose debug rating CLI命令来验证与FortiGuard服务器的连接。此命令显示你可以连接的FortiGuard服务器列表,以及以下信息:
● Weight:它基于FortiGate和此服务器之间的时区差异,以减少使用远程服务器的可能性。
● RTT:回程时间
● Flags:D(从DNS返回的IP),I(联系合同服务器),T(计时),F(失败)
● TZ:服务器时区
● FortiGuard-requests:FortiGate向FortiGuard发送的请求数量
● Curr Lost:连续丢失的FortiGuard请求的当前数量(连续,当一个数据包成功时,它会重置为0)
● Total Lost:丢失的FortiGuard请求总数
该列表的长度是可变的,具体取决于FortiGuard分发网络和FortiGate配置。
默认情况下,FortiGate配置为强制使用HTTPS端口443与FortiGuard或FortiManager执行实时过滤。当启用fortiguard-anycast命令时,FortiGuard域名将解析为单个任意广播IP地址,这是FortiGuard服务器列表中的唯一条目。通过在CLI上禁用FortiGuard任意广播设置,其他端口和协议可用。这些端口和协议在HTTPS端口53和端口8888、UDP端口443、端口53和端口8888上查询服务器(FortiGuard或FortiManager)。如果你使用的是UDP端口53,任何类型的检查都会显示此流量不是DNS,并阻止服务工作。在这种情况下,你可以切换到备用UDP端口443或端口8888,或将协议更改为HTTPS,但这些端口不能保证在所有网络中都打开,因此你必须事先检查。
如果FortiGuard请求的数量过高,你还可以启用Web过滤器缓存。启用后,FortiGate会在内存中保留最近网站评级响应的列表。因此,如果URL已经知道,FortiGate不会发回评级请求。缓存响应减少了为网站建立评级所需的时间。此外,内存查找比在互联网上传输的数据包要快得多。
如果你与FortiGuard有实时连接并配置了安全配置文件,但它们没有执行网络检查,该怎么办?
大多数时候,问题是由设备上的配置错误引起的。你可以按以下方式验证它们:
● 确保SSL检查字段至少包含一个带有SSL认证检查方法的配置文件。
● 确保在防火墙策略上应用了正确的Web过滤配置文件。
● 使用相应Web过滤配置文件中的功能集验证检查模式设置。
要确认正确的配置和Web过滤行为,你可以查看Web过滤日志。
上图显示了日志消息的示例。访问详细信息包括有关FortiGuard配额和类别的信息(如果已启用),哪些Web过滤配置文件用于检查流量、URL和更多详细信息。
你还可以通过单击GUl顶部的下载图标来查看原始日志数据。下载的文件是syslog格式的纯文本文件。
答案:A
答案:B
上图显示了你在本课中涵盖的目标。
通过掌握本课中涵盖的目标,你学会了如何在FortiGate上配置Web过滤以控制网络中的Web流量。