在本课中,你将学习如何监视和控制可能使用标准或非标准协议和端口的网络应用程序,而不仅仅是阻止或允许协议、端口号或IP地址。
这节课你将学习上图显示的主题。
通过演示应用程序控制基础知识的能力,你将能够理解在FortiGate上应用程序是如何控制的。
应用控制检测应用程序(通常是消耗大量带宽的应用程序),并允许你采取与应用程序流量相关的适当操作,例如监视、阻断或应用流量整形。
应用控制通过将已知模式与应用程序的传输模式匹配来识别应用程序,例如谷歌Talk。因此,只要应用程序的传输模式是唯一的,就可以准确地识别应用程序。然而,并不是每个应用程序的行为都是独一无二的。许多应用程序重用现有的标准协议和通信方法。例如,许多视频游戏,如魔兽世界,使用BitTorrent协议来分发游戏补丁。
应用控制可以在基于代理和基于流的防火墙策略中配置。但由于应用控制使用IPS引擎,IPS引擎使用基于流的检测,所以检测始终是基于流的。相比之下,通过HTTP代理进行web过滤和反病毒时,代理首先解析HTTP并删除协议,然后只扫描其中的负载。
为什么FortiGate使用基于流的应用控制扫描?
与其他形式的安全配置文件(如web过滤或反病毒)不同,应用控制不是由代理应用的。它使用IPS引擎来分析网络流量并检测应用程序流量,即使应用程序使用的是标准或非标准协议和端口。它不使用内置的协议状态来运行。它会匹配数据包的整个字节流中的模式,然后寻找模式。
当设计HTTP和其他协议时,它们被设计为易于跟踪。正因为如此,管理员可以很容易地访问NAT设备后面的单个服务器,比如路由器和后来的防火墙。
但当设计P2P应用程序时,它们必须能够在没有网络管理员帮助或合作的情况下工作。为了实现这一点,设计人员让P2P应用程序能够绕过防火墙,难以置信地难以检测。端口随机化、针孔和改变加密模式是P2P协议使用的一些技术。
这些技术使得使用防火墙策略很难阻止P2P应用程序,也使得基于代理的检查很难发现它们。
基于流量的检测通过IPS引擎对报文进行模式匹配分析,通过模式查找来检测P2P应用。
上图展示了一个传统的客户端—服务器架构。流行网站可能有很多客户端,但通常情况下,比如办公文件服务器,它只是一个客户端和一个服务器。
传统的下载使用标准端口号上定义的协议。无论是从web还是FTP站点下载,都是从一个IP地址下载到一个IP地址。所以,阻止这种流量很容易:你只需要一个防火墙策略。
但是,屏蔽点对点下载的流量要困难得多。为什么?
P2P下载将每个文件分配给多个(理论上是无限的)节点。每个对等点传送文件的一部分。虽然在客户端—服务器架构中,拥有许多客户端是一个缺点,但对于P2P架构来说,这是一个优点,因为当节点数量增加到n时,文件传输速度是n倍。
由于受欢迎程度提高了交付速度,不像传统的客户端—服务器架构,受欢迎程度可能有效地导致服务器上的拒绝服务攻击(DoS),一些软件,如Linux的BitTorrent分发版和分发新补丁的游戏,利用了这一优势。即使每个客户端只有很少的带宽,但它们加在一起可以提供比许多功能强大的服务器更多的带宽来下载。
因此,为了下载文件,请求对等端每秒消耗的带宽要比仅从单个服务器上消耗的带宽多得多。即使你的网络中只有一个对等端,它也会消耗异常大量的带宽。因为协议通常是规避的,而且会有很多会话到很多对等点,所以很难完全阻塞。
在尝试控制应用程序之前,了解应用控制使用的签名非常重要。
应用控制如何检测最新的应用和应用协议的变化?
应用控制更新是标准FortiCare支持合同的一部分,但它需要订阅数据库更新。用于应用控制签名的数据库与入侵防御系统(IPS)数据库是分开的。你可以在FortiGuard页面中配置FortiGuard自动更新其应用控制特征库。应用控制特征库信息也会显示在FortiGuard界面中。
你可以通过FortiGuard网站或单击应用控制配置文件中的单个应用签名查看最新版本的应用控制数据库。
应用控制数据库根据类别、流行度和风险等提供有关应用控制签名的详细信息。
FortiGuard安全研究团队在构建应用控制签名时,会对应用进行评估,并根据安全风险类型划分风险级别。该评级是Fortinet特有的,与通用漏洞评分系统(CVSS)或其他外部系统无关。该评级可以帮助你决定是否阻止一个应用程序。
在FortiGuard网站上,你可以阅读每个签名的相关应用的详细信息。
上图展示了一个名为Tor的应用程序的示例。Tor是一个web代理,所以它属于代理类别。一个最佳实践是创建测试策略,你可以使用它来观察策略行为。
如果最近的FortiGuard更新不包括你需要控制的应用程序的定义,你可以在FortiGuard网站上提交请求,以添加应用程序。如果你认为一个应用程序应该属于不同的类别,你也可以提交重新评估应用程序类别的请求。
许多web应用程序提供的功能可以嵌入到第三方网站或应用程序中。例如,你可以在文章的末尾嵌入Facebook的Like按钮,或在教育网站上引用YouTube的视频。FortiOS为管理员提供了检查子应用程序流量所需的所有工具。FortiGuard应用控制特征库以分层结构组织。这让你能够以更细粒度的方式检查流量。你可以阻止Facebook应用程序,同时允许用户使用Facebook聊天进行协作。
答案:A
答案:A
干得漂亮!你已经了解了基本的应用控制功能。现在,你将了解应用控制配置。
通过熟练配置FortiOS提供的应用控制操作方式,你将能够在配置文件模式和NGFW策略模式下有效地使用应用控制。
当FortiGate或VDOM工作在基于流(NGFW模式为基于配置文件,策略集为基于流)的检测模式或策略集为基于代理的检测模式下,管理员在配置应用控制时,需要创建应用控制配置文件,并将应用控制配置文件应用到防火墙策略中。
重要的是要注意,无论策略上使用哪种检测模式,应用控制配置文件都使用基于流的扫描技术。
应用控制配置文件由三种不同类型的过滤器组成:
● 类别:根据相似度对应用程序进行分组。例如,所有能够提供远程访问的应用程序都被分组在远程访问类别中。你可以查看一个类别中所有应用程序的签名,也可以将一个操作作为一个整体应用到一个类别中。
● 应用程序覆盖:提供控制特定签名和应用程序的灵活性。
● 过滤器覆盖:当预定义的类别不满足你的要求,并且你希望基于类别中不可用的条件来阻止所有应用程序时非常有用。你可以根据应用程序的行为、流行程度、协议、风险、供应商或应用程序使用的技术来配置应用程序的分类,并据此采取行动。
在应用控制页面配置应用控制配置文件。可以配置动作基于类别、应用程序覆盖和过滤器覆盖。你还可以通过单击查看应用程序签名查看应用程序控件签名列表。
在应用控制配置文件页面的顶部,您将看到需要深入检查多少云应用程序的摘要。如果没有深度检查配置文件,使用SSL加密的云应用程序是无法被扫描的。为了执行检查和控制应用程序流量,FortiGate必须对流量进行解密。
未知应用程序配置对无法匹配到任何应用控制签名的流量进行匹配,并在日志中将其标识为未知应用程序。导致流量被识别为未知应用程序的因素包括:
● 你的用户在使用多少稀有的应用程序
● 你使用的是哪个IPS数据库版本
将流量标识为未知会导致频繁的日志记录。频繁的日志记录会降低性能。
云符号右侧列出的数字表示该类别中云应用程序的数量。
允许和记录DNS流量:启用该选项,表示允许应用传感器的DNS流量。根据应用程序及其查询DNS服务器的频率,启用此设置会占用大量系统资源。
QUIC:QUIC是一个来自谷歌的协议,它使用UDP而不是标准的TCP连接进行web访问。web过滤不扫描UDP协议。允许QUIC指示FortiGate检查谷歌Chrome包的QUIC头,并生成日志作为QUIC消息。阻止QUIC迫使谷歌Chrome使用HTTP2/TLS1.2和强化日志QUIC被阻止。QUIC的默认操作是Block。
对基于HTTP应用的替换消息:该设置允许你使用用户利益解释替换来自HTTP/HTTPS应用程序的被阻止的内容。对于非HTTP/HTTPS应用,FortiGate仅丢弃报文或重置TCP连接。
配置应用控制配置文件后,在防火墙策略中选择该配置文件。与任何其他安全配置文件一样,你在应用控制配置文件中配置的设置不会全局应用。FortiGate将应用程序控制配置文件设置仅应用于你选择了应用控制配置文件的防火墙策略所治理的流量。这允许细粒度控制。
协议强制被添加到应用控制配置文件中,允许管理员在已知端口(例如21、80和443)上配置网络服务(例如FTP、HTTP和HTTPS),而在其他端口上阻止这些服务。
该功能在以下场景下起作用:
● 当一个协议解析器确认网络流量的服务时,协议强制可以检查确认的服务是否在服务器端口下的白名单中。如果不是,则认为该流量违规,IPS可以采取配置中指定的动作(例如阻断)。
● 网络流量没有确认服务。如果IPS dissectors排除了在其服务器端口下强制执行的所有服务,则将被视为服务违规。例如,如果为FTP配置了端口21,IPS剖析器无法确定确切的服务,但确定它不是FTP。如果非ftp流量的端口是21,这将是一个违规。
IPS引擎检测流量流中是否存在匹配的签名。
然后,FortiGate按以下顺序扫描数据包以匹配应用控制配置文件:
1. 应用程序&过滤覆盖:如果你已经配置了任何应用程序覆盖或过滤覆盖,应用控制配置文件首先考虑它们。它会从列表顶部开始查找匹配的覆盖,比如防火墙策略。
2. 类别:最后,应用控制配置文件应用你为应用程序配置的动作。
在上图显示的示例配置文件中,应用控制配置文件阻断游戏和视频/音频类别。对于这些类别中的应用程序,FortiGate使用应用控制HTTP块消息响应。(这与web过滤HTTP阻断消息略有不同。)所有其他类别都被设置为监控(Monitor),除了未知应用程序(Unknown Applications),允许通过流量。
在应用程序和过滤覆盖部分中,可以看到指定了一些异常。而不是被设置为阻断,Battle.Net(游戏)和Dailymotion(视频/音频)设置为监控。因为在扫描中首先应用了应用程序重写,所以允许这两个应用程序,并生成日志。
接下来,扫描检描应用程序&过滤覆盖。因为过滤覆盖被配置为阻止使用过多带宽的应用程序,所以它会阻止所有使用过多带宽的应用程序,而不管允许这些应用程序的类别是什么。
上图展示了几个安全配置文件功能如何在相同流量上协同工作、重叠或替代。
应用控制配置文件扫描完成后,FortiGate会开始其他扫描,例如web过滤。网络过滤扫描可能会阻止Battle.Net和Dailymotion,但它会使用自己的屏蔽消息。此外,网络过滤不会检查应用控制覆盖列表。所以,即使应用程序控制覆盖允许一个应用程序,网络过滤仍然可以阻止它。
类似地,静态URL过滤有自己的豁免操作,它可以绕过所有后续的安全检查。但是,应用控制发生在web过滤之前,因此web过滤豁免无法绕过应用控制。
在上图显示的示例配置文件中,过滤覆盖已移动到应用程序覆盖之上。在这种情况下,过滤覆盖(过度带宽)被阻塞,而且由于Dailymotion属于过度带宽类别,因此即使在应用程序&过滤覆盖部分下将Dailymotion设置为监视,它也会被阻断。
放置应用程序和过滤覆盖的优先级优先。
对于应用控制配置文件中的每个过滤器,必须指示一个动作,当流量匹配时,FortiGate会做什么。
动作包括以下内容:
● 允许:允许流量通过,不记录日志
● 监控:通过流量,同时产生日志信息
● 阻断:丢弃检测到的流量,并记录日志
● 隔离:阻断来自攻击者IP的流量,直到达到过期时间,并生成日志消息
查看签名动作允许你只查看来自特定类别的签名,而不是可配置的动作。查看云签名动作允许你查看来自特定类别的云应用程序的应用程序签名。
哪一种行动是正确的选择?
如果你不确定选择哪种操作,在你研究你的网络时,监控最初可能是有用的。之后,在你研究了你的网络流量之后,你可以通过选择最合适的动作来微调你的过滤器选择。你选择的动作也取决于应用程序。如果应用程序需要反馈以防止不稳定或其他不想要的行为,那么你可以选择隔离而不是阻止。否则,对FortiGate资源最有效的利用就是阻断。
配置应用控制配置文件后,需要将应用控制配置文件应用到防火墙策略中。
这将指示FortiGate开始扫描受防火墙策略约束的应用流量。
对于基于HTTP的应用程序,应用控制可以向用户提供关于应用程序被阻断的原因的反馈。这就是所谓的阻断页面,它类似于你可以为使用FortiGuard网络过滤阻断的URL配置的页面。
另外值得一提的是,如果在防火墙策略中启用了深度检查,那么所有基于HTTPS的应用程序都将提供此阻断页面。
该阻断页面包含以下信息:
● 检测应用程序的签名(在本例中为Dailymotion)
● 签名的类别(视频/音频)
● 被特别阻断的URL(在本例中是www.dailymotion.com的索引页),因为一个网页可以由多个URL组合而成
● 用户名(如果启用了身份验证)
● 组名(如果启用了身份验证)
● 流量控制策略的UUID
此列表中的最后一项可以帮助你确定FortiGate上的哪个策略阻止了该页面,即使你有大量具有许多FortiGate设备的策略来保护不同的分部。
当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基于策略模式的应用控制配置很简单。用户可以新建安全策略,也可以对已有的安全策略进行编辑。在应用程序区域,选择要允许或拒绝的应用程序、类别或组,并相应地更改安全策略的操作。对于已选择允许的应用,你可以通过启用反病毒扫描和IPS控制,进一步增强网络安全性。你还可以启用安全事件或所有会话的日志记录功能,确保所有应用控制事件都被记录。
NGFW策略模式下必须配置匹配的中央SNAT策略,才能使流量通过。FortiGate根据中央SNAT策略中定义的标准对流量应用NAT。
在策略&对象中安排安全策略是非常重要的,这样更具体的策略就位于顶部,以确保正确使用应用控制。
默认的SSL检测和认证策略会检查任何安全防火墙接受的流量,并使用certificate-inspection SSL检查配置文件。
NGFW的策略匹配采用自顶向下的方式。一个特定的策略必须高于一个更宽泛或开放的策略。例如,如果你想屏蔽Facebook,但允许社交.媒体类别,你必须将阻断Facebook流量的策略置于允许社交.媒体的策略之上。
如果应用程序是必需的,但必须防止它影响带宽,那么可以对应用程序应用速率限制,而不是完全阻止它。例如,你可以对用于存储或备份的应用程序进行速率限制,为更敏感的流媒体应用程序(如视频会议)留下足够的带宽。
当你试图限制与任务关键型应用程序使用相同TCP或UDP端口号的流量时,对应用程序应用流量整形非常有用。一些高流量的网站,如YouTube,可以通过这种方式进行节流。
检查节流如何工作的细节。并非所有对www.youtube.com的URL请求都是针对视频的。你的浏览器会对以下内容发出多个HTTPS请求:
● 网页本身
● 图片
● 脚本和样式表
● 视频
所有这些项目都有单独的URL。如果你分析一个像YouTube这样的网站,网页本身并不占用太多带宽;使用带宽最多的是视频内容。但是,由于所有内容都使用相同的协议(HTTPS)传输,并且URL包含动态生成的字母数字字符串,因此传统的防火墙策略无法通过端口号或协议来阻断或节流流量,因为它们是相同的。使用应用程序控制,你可以只限制视频的速率。这样做可以防止用户饱和你的网络带宽,同时仍然允许他们访问网站上的其他内容,如评论或分享链接。
通过配置流量整形策略,可以限制应用类别、应用组或特定应用的带宽。流量整形还可以对FortiGuard web过滤分类和应用组进行流量整形。
必须确保匹配条件与要应用整形的防火墙策略一致。它不必完全匹配。例如,如果防火墙策略中的源设置为all(0.0.0.0/0.0.0.0),则流量整形策略中的源可以设置为all中包含的任意源,例如LOCAL_SUBNET(10.0.1.0/24)。
如果流量整形策略在图形界面中不可见,可以在可见功能页面启用。
在流量整形策略界面中,可以配置两种整形器,并将它们应用到流量整形策略中:
● 共享流量整形器:对使用该整形器的所有流量应用总带宽。范围可以是每个策略,也可以是所有引用该整形器的策略。
● 每IP流量整形器:对安全策略中的所有源IP地址进行流量整形。带宽在组内平均分配。
注意,出接口通常是出口接口(WAN)。共享流量整形器设置应用于ingress-to-egress流量,这对于限制上传的带宽很有用。反向整形器设置也是共享整形器,但它应用于反向的流量(egress-to-ingress流量)。这对于限制下载或流媒体的带宽很有用,因为它限制了从外部接口到内部接口的带宽。
答案:A
答案:A
干得漂亮!你已经了解了应用控制配置。现在,你将了解如何记录和监视应用控制事件。
通过演示应用控制配置的能力,包括检查应用控制日志,你将能够有效地使用和监视应用控制事件。
无论应用控制配置在哪种操作模式中,都必须启用安全策略或防火墙策略上的日志记录。当启用安全事件日志或安全策略或防火墙策略的所有会话日志时,应用控制事件也会被记录。必须将应用控制应用于安全策略或防火墙策略,才能启用应用控制事件日志记录。
当在安全策略或防火墙策略上选择拒绝动作时,必须启用记录拒绝流量选项,以便为阻断的流量生成应用控制事件。
FortiGate在日志与报告页面的安全事件窗格中记录所有应用控制事件。你可以通过单击应用控制查看日志。
在上图的示例中,默认应用控制配置文件阻止对Dailymotion的访问。你可以在日志详细信息部分查看此信息,以及日志源、目的地、应用程序和动作的相关信息。
注意,应用控制使用基于配置文件的配置生成此日志消息。NGFW基于策略配置的日志信息中不包含应用传感器名称等不适用的信息。无论采用哪种检测方式,每条日志的其余信息和结构都是一样的。
你还可以在转发流量日志窗格中查看详细信息,防火墙策略在其中记录活动。你还可以找到FortiGate应用应用控制的流量摘要。同样,这是因为应用控制是由防火墙策略应用的。要找出哪个策略应用了应用控制,可以查看日志消息的策略ID或策略UUID字段。
在仪表板菜单上,Top Applications独立页面提供了关于每个应用程序的详细信息,例如应用程序名称、类别和带宽。
你可以通过双击单个日志条目进一步深入查看更细粒度的详细信息。详细视图提供了有关所选应用程序的源、目标、策略或会话的信息。
答案:A
答案:A
干得漂亮!你已经了解了应用控制日志记录和监视。现在,你将了解应用控制最佳实践和故障排除。
通过展示应用控制最佳实践和故障排除方面的能力,你将能够配置和维护有效的应用控制解决方案。
上图列出了在FortiGate上实现应用控制时要牢记的一些最佳实践。
并非所有流量都需要应用控制扫描。不要将应用控制应用于仅限内部流量。
为了最大限度地减少在FortiGate上的资源使用,在创建防火墙策略时要尽可能具体。这可以减少资源的使用,也可以帮助你构建更安全的防火墙配置。
为所有冗余互联网连接创建相同的防火墙策略,以确保对故障转移流量执行相同的检查。SSL/SSH检测方式选择深度检测,不选择基于证书的检测,确保对加密协议进行内容检测。
具有专用芯片(如网络处理器和内容处理器)的FortiGate型号可以卸载和加速应用程序签名匹配,以增强性能。
在没有日志盘的FortiGate设备上,可以使用FortiCloud帐户在FortiView中保存和查看应用控制日志。
如果你在使用FortiGuard应用控制更新时遇到问题,请开始使用最基本的步骤排除问题:
● 确保FortiGate与internet或FortiManager有稳定的连接(如果FortiGate被配置为从FortiManager接收更新)
● 如果网络连接稳定,请在FortiGate上检查DNS解析
● 如果FortiGate安装在网络防火墙后面,确保FortiGate允许端口443
最新版本的应用控制数据库可登录FortiGuard官网查询。如果你本地安装的数据库已经过时,请尝试运行execute update-now命令强制FortiGate检查最新更新。
答案:B
答案:B
恭喜你!你已经完成了这节课。现在,你要复习本节课中涉及到的目标。
通过掌握本课所涵盖的目标,你学习了如何使用方法来监视和控制标准和非标准网络应用程序,而不仅仅是阻止协议、端口号或IP地址。