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