教程篇(5.4) NSE4 11. 应用控制 ❀ 飞塔 (Fortinet) 网络安全专家

来源:互联网 发布:淘宝导航条隐藏 编辑:程序博客网 时间:2024/06/04 18:13


在本课程中你将学习如何监视和控制使用标准或非标准协议和端口的网络应用程序,而不仅仅是简单地阻塞或允许协议、端口号或IP地址


在完成这一课程之后,你应该具备应用程序控制、保持最新信息和监视应用程序在网络上使用的实用技能。


应用控制检测应用程序(通常是消耗更多带宽的应用程序),并允许你采取与应用程序流量相关的适当动作,例如监视、阻塞或应用流量整形。

  通过将已知模式与应用程序的传输模式相匹配,可以识别特定的应用程序,比如Google Talk。因此,很明显,如果应用程序的传输模式是唯一的,那么就能准确地识别应用程序。然而并不是每个应用程序都以一种独特的方式运行。许多重复使用已有的、标准的协议和通信方法。例如,许多像魔兽世界这样的视频游戏现在都在使用BitTorrent协议来分发游戏补丁。

  应用程序控制可以在基于代理和基于流的虚拟域进行配置,但是检查总是基于流的,因为它使用的是基于流的IPS引擎。相比之下,当通过HTTP代理应用web过滤和反病毒时,代理首先解析HTTP并删除协议,然后只扫描内部的有效负载。

  为什么使用基于流的扫描来进行应用程序控制?

  与其他形式的安全配置文件不同,例如web过滤或反病毒,应用控制不被代理应用。它使用一个IPS引擎来分析网络流量和检测应用程序的流量,即使应用程序使用的是标准的或非标准的协议和端口。在协议状态下构建它不起作用,它匹配包的整个字节流中的模式,然后查找模式。


当设计HTTP和其他协议时,它们被设计成易于跟踪。通过这种方式,管理员可以方便地访问NAT设备背后的单个服务器,比如路由器,以及以后的防火墙。

  但是,当P2P应用程序设计时,它们必须能够在没有网络管理员的帮助或协作的情况下工作。为了实现这一目标,设计师们让P2P应用程序能够绕过防火墙,难以检测。端口随机化、针孔和改变加密模式是P2P协议使用的一些技术。

  技术使P2P应用程序难以使用防火墙策略来阻止,也使它们难以通过基于代理的检查来检测。

  使用IPS引擎的基于流的检查可以分析包的模式匹配,然后寻找用于检测P2P应用程序的模式。


这是一个传统的客户机-服务器架构。受欢迎的网站可能有多个客户端,但是通常,例如使用office文件服务器,它只是一个客户端和一个服务器。

  传统的下载使用定义的协议而不是标准的端口号。无论是来自web还是FTP站点,下载都是从单个IP地址到单个IP地址。因此,阻塞这种通信是很容易的:你只需要一个防火墙策略。

  但对点对点下载更困难。为什么?


P2P下载将每个文件分成多个(理论上是无限的)对等点。每个对等点提供文件的一部分。虽然拥有许多客户端在客户-服务器体系结构中是一个缺点,但它对P2P架构来说是一个优势,因为随着对等节点的数量增加到n,文件的交付速度将提高n倍。

  由于流行提高了交付速度,不像传统的客户端-服务器架构,流行可能会导致对服务器的服务攻击,某些软件,如Linux的BitTorrent发行版,以及发行新补丁的游戏,利用了这一优势。即使每个客户端的带宽都很低,它们也可以为下载提供比许多功能强大的服务器更多的带宽。

  相反,为了下载该文件,请求对等点每秒的带宽比从单个服务器上消耗的带宽要多。即使你的网络上只有一个同伴,它也能消耗大量的带宽。由于协议通常是规避的,而且会有很多次会议,所以很难完全阻止。


在尝试控制应用程序之前,了解应用控制所使用的签名是很重要的。

  应用控制如何检测最新的应用程序和应用程序协议的变化?


  因为应用控制使用的是IPS引擎,所以FortiGuard升级是至关重要的。你可以配置你的FortiGate,以自动更新它的IPS和应用控制签名数据库。它还显示了当前版本的IPS定义和引擎。你还可以通过单击update AV&IPS定义手动触发数据库更新。


你可以从FortiGuard网站http://www.fortiguard.com查看最新的应用控制数据库版本,或者在应用控制配置文件点击显示应用控制签名。


  应用控制数据库提供了基于类别、技术和风险的应用程序控制签名的详细信息。


  在构建应用程序控制签名时,FortiGuard安全研究团队评估应用程序并分配一个风险级别。所分配的风险级别是基于安全风险的类型。评级是Fortinet特定的,与普通的漏洞评分系统(CVSS)或其他外部系统无关。如果你没有意识到特定的应用程序,那么这个信息可以帮助你决定是否应该阻止应用程序。

  在FortiGuard网站上,你可以阅读每个签名相关应用的详细信息。让我们来看一个例子。

  在这里你可以看到一篇关于Ultrasurf_9.6+的文章。Ultrasurf_9.6+是一个web代理,因此它属于代理类别。如果对应用程序进行扫描或阻塞有特殊的要求,本文提供了一些建议。制定测试策略并首先使用它们来观察行为总是明智的。

  如果有需要控制的新应用程序,而最新的更新不包含对它们的定义,那么你可以访问FortiGuard网站,并提交一个请求来添加新的应用程序。


现在你已经了解了应用控制是什么以及它是如何工作的。在本节中,你将了解如何配置应用控制配置文件,以匹配应用程序的流量,并采取适当的操作。


应用控制配置文件由三种不同类型的过滤器组成:

  • 类别:它由基于相似性分组的应用程序组成。例如,所有能够提供远程访问的应用程序都被分组在远程访问类别中。你可以在一个类别中查看所有应用程序的签名,或者将一个动作应用到整个类别中。

  • 应用程序覆盖:它提供了控制特定签名和应用程序的灵活性。

  • 过滤覆盖:当预定义的类别不能满足你的需求时,它可能是有用的,并且你希望根据类别中不可用的标准来阻塞所有的应用程序。你可以根据行为、流行程度、协议、风险、供应商或应用程序使用的技术来配置应用程序的分类,并基于此进行操作。


从应用控制页面配置应用控制配置文件。你可以根据类别、应用程序覆盖和筛选覆盖来配置操作。你还可以通过单击视图应用程序签名查看应用程序控制签名的列表。

  未知的应用程序匹配无法与任何应用程序控制签名相匹配的流量,并将流量作为日志中的未知应用程序。流量是否被确定为未知的应用取决于:

  • 你的用户有多少种罕见的应用程序

  • 你正在使用的IPS数据库版本

  识别未知的流量可能会导致许多日志记录,并且频繁的日志条目会降低性能。


  如果你选择启用允许和日志DNS流量,请注意你只需要在短时间内执行它,例如在调试期间。因此,这取决于应用程序,以及它查询DNS服务器的频率,这可以使用重要的系统资源。基于http的应用程序的替换消息允许你用一个解释(为用户的利益)替换被阻塞的内容。然而,对于非http/https应用程序,你只能删除数据包或重新设置TCP连接。一旦配置了应用控制配置文件,就在防火墙策略中选择传感器,象任何其他控制一样。


IPS引擎检查一个签名匹配的通信流。然后,对于应用程序控制配置文件,FortiGate按特定的顺序扫描匹配的包:


  1. 应用重写:如果你已经配置了任何应用重写,那么应用程序控制配置文件将首先考虑这些。它查找从列表顶部开始的匹配的覆盖,如防火墙策略。

  2. 过滤覆盖:如果不存在匹配的应用重写,那么应用控制配置文件将基于配置的过滤器覆盖应用该操作。

  3. 类别:最后,应用程序控制配置文件应用你在所选择的类别中为应用程序配置的操作。

  同样值得一提的是,不能创建同一个签名的多个覆盖。


对于应用程序控制配置文件中的每个过滤器,你必须指示一个操作,当流量匹配时,FortiGate要怎么做。


  • 允许:简单地通过流量,而不生成日志。

  • 监视:传递流量,但也生成一个日志消息。

  • 阻止:删除检测到的流量并生成一个日志消息。

  • 隔离:阻止攻击者的流量直到过期时间到达。它还生成一个日志消息。

  视图签名只允许你查看特定类别的签名,而不是一个可配置的操作。

  哪一种选择是正确的?

  如果你不确定要选择哪个操作,那么在你学习网络的时候,监视可以是有用的。一旦你花了一些时间来研究你的网络流量,你就可以通过选择最合适的动作来调整你的过滤器的选择。它还取决于应用程序。如果一个应用程序需要反馈来防止不稳定或其他不需要的行为,那么你可能会使用隔离而不是阻止。否则,最有效地利用Fortigate资源来阻止。


在这个示例配置文件中,应用控制可以阻止游戏和视频/音频类别。对于这些类别中的应用程序,FortiGate使用应用程序控制的HTTP块消息进行响应,它与web过滤的HTTP块消息略有不同。所有其他的类别都被设置为监控,并且允许通过流量。

  在应用重写部分,你可以看到一些异常被指定。而不是被阻止,Battle.Net(游戏)和Dailymotion(视频/音频)将被设置为监控。由于应用重写首先在扫描中应用,因此这两个应用程序将被允许,并将生成日志。

  接下来,扫描将检查过滤覆盖。由于一个过滤器覆盖被配置为阻止使用过多带宽的应用程序,它会阻塞所有应用程序,使用过多的带宽,而不考虑允许这些应用程序的任何类别。

  这里有一个例子,说明了在相同的流量中,几个UTM特性可以在一起工作、重叠或作为替代品进行工作。

  在应用程序控制扫描完成之后,FortiGate开始其他的扫描,比如web过滤。这种扫描可以阻止Battle.Net和Dailymotion,但它会使用自己的信息。另外,web过滤不检查应用重写的列表。因此,即使应用重写允许应用程序,web过滤仍然可以阻止它。

  类似地,静态URL过滤有它自己的豁免权操作,它绕过了所有后续的安全检查。但是,应用控制发生在web过滤之前,因此web过滤免除不能绕过应用程序控制。


对于基于http的应用程序,应用控制可以向用户提供关于为什么他们的应用程序被阻塞的反馈。这被称为阻止页面,它类似于你可以配置的url,你可以通过FortiGate web过滤来阻止它。

  值得一提的是,如果在防火墙策略中启用了深度检查,所有基于http的应用程序也将提供此阻止页面。

  阻止页面包含以下信息:

  • 检测到应用程序的签名(在本例中是BitTorrent)

  • 签名的类别(P2P)

  • 特定的URL被阻塞(在本例中是bittorrent.com的索引页面),因为一个web页面可以从多个URL组合起来

  • 客户端的源IP(10.0.1.10)

  • 服务器的目标IP(20.x.x.x)

  • 用户名(如果启用了身份验证)

  • 管理流量的策略的UUID

  • FortiGate的主机名

  列出的最后两段信息可以帮助你确定哪一种FortiGate阻塞了页面,即使你有一个很大的网络,其中有许多FortiGate,可以保护不同的部分。


如果应用程序是必需的,但是你需要防止它影响带宽,那么你可以对应用程序应用一个速率限制,而不是完全阻塞它。例如,你可以将用于存储或备份的限制应用程序的数量限制在足够的带宽上,以供更敏感的流媒体应用程序使用,例如视频会议。

  当你试图限制使用相同TCP或UDP端口号作为关键任务应用程序的流量时,将流量整形应用于应用程序是非常有用的。一些高流量的网站,比如YouTube,可以通过这种方式被扼杀。

  让我们来看看节流是如何工作的。不是所有的URL请求到www.youtube.com都是为了视频。你的浏览器会发出几个HTTPS请求:

  • 网页本身

  • 图像

  • 脚本和样式表

  • 视频

  所有这些项都有单独的url。如果你分析一个像YouTube这样的网站,网页本身就不会使用太多的带宽,使用最多带宽的是视频内容。但是,由于所有内容都是使用相同的协议(HTTPS)传输的,这些url包含动态生成的字母数字字符串,传统的防火墙策略不能通过端口号或协议来阻止或限制流量,因为它们是相同的。使用应用程序控制,你可以只限制视频。这样做可以防止用户在网络带宽上饱和,同时允许他们访问站点上的其他内容,比如评论或共享链接。


你可以通过配置流量整形策略来限制应用程序类别或特定应用程序的带宽。从FortiOS 5.4开始,你也可以应用流量整形到FortiGuard web过滤器的类别。


  你必须确保匹配的标准与你希望应用成形的防火墙策略或策略相一致。它不需要完全匹配。例如,如果防火墙策略中的源被设置为all(0.0.0.0/0.0.0.0),那么流量整形策略中的源可以被设置为任何包含在所有的源中的源,例如,STUDENT_INTERNAL(10.0.1.0/24)。

  如果在GUI中看不到流量整形策略,你可以通过功能选择页面启用它。

  注意,传出的接口通常是出站接口(WAN)。共享整形应用入口到出口的流量,这对于限制上传的带宽是很有用的。反向的整也是一个共享的整形,但是它被应用到反向的流量中(出口到入口的流量的)。这对于限制下载或流媒体的带宽非常有用,因为它限制了从外部接口到内部接口的带宽。

  可以从流量整形策略页面中配置两种类型的整形,你可以将它们应用到流量整形策略中。

  • 共享的整形:一个共享整形使用整形应用一个总带宽给所有流量。范围可以是每个策略,也可以是引用整形的所有策略。

  • 每IP的整形:每IP整形允许你在安全策略中应用所有的源IP地址的流量,并且在这个组中,带宽是相等的。


从FortiOS 5.4开始,所有基于云计算的应用都被归类为云访问安全检查(权限),允许对云应用进行细粒度的控制,比如YouTube、Dropbox和Netflix。

  你可以在安全配置文件菜单下配置一个新的或已存在的CASI配置文件,或编辑一个已存在的CASI配置文件。但是,如果在GUI中不可见这个CASI配置文件,那么你可以从功能选择页面启用它。

  CASI配置文件可以在基于代理的和基于流程的虚拟域进行配置,但是检查始终是基于流的,因为它使用的是IPS引擎(与应用程序控制配置文件相同)。请注意,它需要对FortiGuard IPS和应用控制进行订阅。


  许多应用程序正在切换到只使用https,因此请记住,对于这些应用程序,你还需要一个SSL/SSH检查配置文件。当将一个应用程序的配置文件应用到防火墙策略时,在防火墙策略中启用深度检查(完全的SSL/SSH检查),就像基本上对云应用程序进行深度检查一样。

  对于所选的云应用程序,你可以在每个功能上配置一个单独的操作:

  • 允许:通过流量,不记录日志

  • 监视:通过流量并生成一个日志。

  • 阻止:阻塞流量并生成一个日志。


如果启用了日志记录,你可以使用它来发现在你的网络上使用了哪些应用程序,并通过日志&报表菜单查看它们的详细信息。

  在这个例子中,应用控制检测到一个试图访问BitTorrent的客户端。配置的操作是监视流量。我们知道这一点,因为动作为通过,所以我们知道FortiGate并没有阻塞流量。但是,这个操作并不是简单地允许没有日志记录的通信,我们之所以知道,是因为日志消息存在。


  你可以通过单击其日志条目查看日志消息的详细信息。日志条目提供了详细的信息,例如应用程序类别、应用程序传感器名称、动作和策略ID等。

  你还可以通过转发流量日志查看详细信息。这是防火墙策略记录活动的地方。你还将找到一个关于加强应用程序控制的流量的摘要。同样,这是因为应用程序控制是由防火墙策略应用的。为了找出应用程序控制的策略,您可以查看该日志消息的策略ID或策略UUID字段。

  如果你需要在一天的特定时间内找出哪个应用程序占用了大部分带宽,该怎么办?


在FortiView菜单下,应用程序页面提供了每个应用程序的详细信息,比如应用程序名称、类别和带宽。


  通过右键单击应用程序并单击深入细节,你可以进一步深入了解更多细节信息。此视图提供关于所选应用程序的源、目的地、策略或会话的信息。


复习一下我们讨论过的内容:

  • 应用控制如何识别流量

  • 为什么一些流量,尤其是点对点,在没有应用控制的情况下很难阻止

  • FortiGate的应用控制签名5点评分系统

  • 如何提交对其他应用程序的请求

  • 如何配置应用控制配置文件

  • 应用控制和IPS引擎进程的操作顺序

  • 什么时候流量整形

  • 怎样配置CASI

  • 如何读取日志以发现已检测到哪些应用程序,以及FortiGate实施了哪些动作


飞塔技术 - 老梅子   QQ:57389522



阅读全文
0 0