分析防火墙中的7级应用程序的好处。 第2部分。安全性



得益于新的引擎体系结构和新的网络流管理思想,新一代防火墙更加方便和安全。

为什么这篇文章出现?


屡次遇到使用新一代防火墙的安全工作者,他们看到他们继续在端口号上编写规则。 当我建议继续以应用程序的名称进行编写时,我听到了“如果那样行不通怎么办?”。 如果您也感到“害怕”,或者不清楚为什么要编写应用程序规则,那么本文适合您。
通过参考第1部分开始本文。防火墙基础

第2部分。L7防火墙的安全影响


目录内容


L7防火墙检查数据字段的内容,L4防火墙否
应用程序已更改-防火墙是否已更改
流量检测如何工作
L7防火墙更方便
L7防火墙更安全
哪些新问题为L7编写规则创造了新方法
7级分析技术的局限性
结论
投票

L7防火墙检查数据字段的内容,L4防火墙否


我们正在苦苦挣扎的主要问题是,现在程序已被立即编写,因此它们绕过了L4防火墙保护。
如果有人放置Skype,则他不想致电系统管理员并乞求打开防火墙上需要的端口-他希望Skype立即亮起“绿色”。 程序员知道网络上通常有一个HTTP代理,或者HTTP的端口80是开放的,DNS的端口是53,NTP的端口是123,有时对于从内到外到Internet的员工来说,所有内容都是开放的,您可以相应地使用这些允许的连接。



开发人员使用“用户体验”一词-安装后,客户端在绿色Skype中着火=客户端感到高兴。 而且,Skype通过仅在TCP / 80和443端口上仅对浏览器开放的连接非法通过了公司的外围区域-L4防火墙忽略了这一点,因为查看数据包的内容不是他的任务-只有标头对他很重要。

L4防火墙问题:端口跳跃(隧道)


在允许的连接中建立未经授权的应用程序的隧道连接是现代网络的标准情况。 自然,黑客使用相同的技巧:他们在允许的连接中创建隧道。 而且保安人员甚至都不知道。

TCP-Over-DNS隧道示例




从图中收集的流量数据包中可以明显看出,第53个TCP端口上存在连接,这通常被视为DNS协议的操作。 但是,如果仔细观察,您会发现在DNS协议的“文本”字段中存在某种加密的文本。 这是TCP-Over-DNS隧道的实现,我经常在公司网络中看到这种实现。 左侧是您的用户或黑客可以使用的其他隧道的列表。 L4防火墙是否提供此类信息? 不行 因此,如果需要保护公司免受未经授权的隧道的侵害,则需要分析传输数据的内容,并使用它来分析当前哪个应用程序正在使用此TCP连接。

应用程序已更改-防火墙是否已更改




世界已经发生了变化,如今仅靠端口号来确定应用程序还不够。 是的,在20年前,我们同意如果在“端口”字段中写入80,则为HTTP,如果为53,则为DNS,但现在并非如此!

有必要分析传输数据的内容,并让他们分析当前哪个应用程序正在使用此TCP连接。

转到applipedia.paloaltonetworks.com应用程序数据库 。 查看有多少应用程序使用端口80和443。
一个例子。

使用端口80的应用程序


许多安全功能的问题是忽略非标准端口上的应用程序。



将标准应用程序移至非标准端口还使攻击者无法控制。 此控件仅还原分析所有流量内容的设备,而不仅还原标头。

流量检测如何工作


应用程序分析的任务之一是检测专门创建的应用程序的流量,以使它们的连接不可见。 以Skype为例。 学会将Skype加密的UDP数据包与其他加密的UDP数据包区分开的人是非常好的伙伴。

还有一类设备可以执行此操作:深度包检查(以下称为DPI)。 此类设备现在拥有大型提供商,可让您操纵应用程序流量:应用QoS或以正确的方向重定向。 有时会比较NGFW和DPI。 区别:尽管NGFW还具有QoS功能,但DPI​​旨在控制流量质量和NGFW安全。

检测流量中应用程序的方法不同。

  • 如果您需要找到一个不会在流量中隐藏自身的应用程序 (例如HTTP),则足以使用常规搜索来查找相应的模式或签名。 这是制造商积极使用的。 这是最简单的。
  • 如果您需要找到一个故意隐藏自身应用程序 (例如TOR),则需要一套用于分析软件包统计信息和软件包行为的方法。 这很困难,它需要一个研究实验室,该实验室还需要及时跟踪协议中的更改并实施新的搜索算法。 我试图让至少一个开发人员告诉他们这些算法是如何工作的,但偶然发现答案就是所有知识产权。

可能是应用程序已经更改了操作算法,而DPI或NGFW引擎尚未更改。 例如,电报有时会因为被猎杀而发生变化。 出现误报。 这一点很重要。 因此,设备以及NGFW和DPI主要在应用程序检测的数量和质量上有所不同。 这是唯一的方法:将NGFW放在您的流量上,看看吧。 如果我们谈论外围,那么我看到的最复杂的流量每个月包含715个不同的应用程序。 平均而言,各种应用程序有200-300个遍及整个外围。 在应用程序流量的可视化中,您可以看到以下内容:将鼠标悬停在每个圆圈上:

http://researchcenter.paloaltonetworks.com/app-usage-risk-report-visualization/


应用程序数据库中有成千上万个应用程序,因此,从根本上分析每个应用程序的格式和算法是分析师一项艰巨而艰巨的工作。 一旦我们了解了应用程序的工作方式,程序员便开始工作,通过流量实现应用程序发现。 并且这数千个应用程序正在不断变化。 因此,必须不断支持该产品,学习新的应用程序并监视旧应用程序的更改,并将修改后的检测器添加到数据库中。 在这里可以找到所有可能产生流量的应用程序的数据库。

有时,L7防火墙供应商试图衡量他们在数据库中拥有的应用程序数量,但这更像是亵渎行为。 通过批判性思维,您了解到实际上您只需要检测内部(内部)之间,在数据中心(10-15个),ICS / SCADA网络(2-3个应用程序)的外围(平均,在300个不同应用程序的区域中)。细分(也许只有几十个)。 而且,如果您可以检测成千上万的应用程序-这仅仅是营销,而且是对没人使用的未知应用程序的检测。

公司网络上的示例应用程序:

图片

公司内部的内部细分是对信息安全标准的持续要求,几乎没人能满足。 在程序员,金融家,人力资源和会计部门之间,应用程序也可以运行。 至少需要控制Windows网络(SMB协议),这在通过SMB分发的WannaCry cryptoclocker流行之后变得尤为明显。 也就是说,内部网络还需要分析7级应用程序和相关方法,以在沙盒和IPS中搜索恶意代码,并至少控制传输的文件类型。
网络中最常见的问题是:防火墙据说是7级,但实际上它是通过端口检测应用程序的。 如何检查?

  1. 为了进行测试,将FTP服务器挂在端口25上。 如果设备错误,并说这是SMTP协议,则绝对不是L7防火墙。
  2. 或者只是尝试为使用同一端口的两个不同应用程序编写规则。 为它们制定不同的规则:在一个阻止exe文件中,在另一个阻止文件中允许它们。 如果果真如此,那就意味着事实是首先对应用程序(而不是端口号)进行了分析,然后再处理其内容:阻止文件,检查病毒签名,检查IPS签名等等。
  3. NGFW的另一个有趣测试是,当您需要在同一IP地址上创建两个具有不同属性的自定义L7应用程序时。 这不能使用L4防火墙,但是可以使用L7防火墙。 完整说明并在此处进行测试: http : //basic.ngfw-test.com/
在俄罗斯,防火墙了解俄罗斯应用程​​序的流量仍然很重要:1C,Odnoklassniki,Yandex.Disk,mail.ru,卡巴斯基反病毒软件更新的外观等等。 这也是重要的应用程序发现组件,您需要将这些应用程序安全地允许员工使用。

L7防火墙更方便


如果您查看培训网络工程师的过程,那么大多数人会从著名的网络设备制造商那里学习课程,这将为您提供有关网络技术的丰富知识。



这些专着的作者在2003年完成了相当数量的Cisco课程,因此特别介绍了培训网络工程师的细节:通常,在研究了7级OSI ISO模型之后,仅对前4级进行了详细研究。 也就是说,信息安全网络工程师的所有微妙之处只知道TCP / UDP / ICMP级别。 从应用程序级别考虑的只有几个基本的:HTTP,DNS,SSH,Telnet,NTP,FTP。 结果如何? 网络管理员觉得从传输层管理应用程序层很容易!

对于刚出炉的网络专家来说,似乎可以在传输级别上使用规则来完成所有事情,而您只需要允许必要的协议和端口即可。 是否需要允许Internet上的浏览器? 我们打开TCP / 80。 需要打开DNS吗? 打开TCP / 53或UDP / 53。 需要打开RDP吗? 打开TCP / 3389。 在L4防火墙上编写规则已成为公司的标准。

我必须说,许多IT专家都知道状态全面检查的概念。 但是同时,对于许多人来说,不同的防火墙支持针对不同应用程序的充分检查是一个启示。 我有一些统计数据,因为我曾在Informzashita公司的培训中心担任防火墙课程的老师。 我看到了什么? 有人认为有状态检查只是关于允许接受TCP / UDP / ICMP协议响应的许可。 但是,更复杂的应用程序呢? 例如,如何跟踪FTP协议在端口21和20上建立的两个TCP连接-它们是否相互依赖? 在那里,您不仅需要接受答案,还需要在端口21的控制连接内允许第二个连接(取决于PORT命令)。 又有多少个应用程序在自己内部打开新连接,从而为应用程序提供了呢? 总而言之,网络现在使用常规访问列表,该列表不了解FTP协议内的PORT命令,并且还有L4防火墙,该防火墙可拆卸PORT命令并自动打开所需的端口,有些人则走得更远,着眼于更复杂的MS RPC或ICS协议命令/ SCADA协议。 但是L4防火墙的所有可能应用程序看起来都不像,这些防火墙通常在应用程序层网关(ALG)内实现的应用程序数量也有所不同。

我在干什么 只记住主要的TCP / UDP端口的信念是行不通的。
世界上已经有数千个应用程序,并且所有应用程序都使用计算机网络。 而且没有网络工程师可以记住所有这些端口。

对网络工程师的启示是为更复杂的应用程序(例如VNC)打开端口的任务。 没有人记得那里有哪些港口,必须使用谷歌。
发布第一部分时,我进行了一项调查 ,发现人们仍然准备记住端口号-意见分为50到50:有人回答说他准备记住VNC应用程序的所有4个端口。

也许端口数量的冠军是Lync(又名Skype for Business)。 大约40个端口。 记住他们是否现实?

如果您查看描述了需要打开哪些端口的Microsoft TechNet,那么我想对任何规则写一个许可,因为大约有40个端口,其中一些必须动态打开。 而且,在L4防火墙中注册非常不便。

事实证明,对于网络工程师来说,编写L7应用程序的规则更为方便,并且防火墙本身必须自动打开必要的端口。

需要打开VNC吗? 您在规则中写了VNC一词,防火墙已经知道您需要打开哪些基础协议。 这很方便。

一个例子。 NGFW报告选定的流量类别。



平均而言,有200-300个应用程序通过公司网络使用Internet访问。 应用程序级防火墙显示它是哪个应用程序,并且可以为所有或特定用户过滤这些应用程序,并按类型或内容过滤文件,这些文件或类型将过滤到公司网络上所有用户允许的应用程序。 同样不要忘记,在NGFW中,安全功能是并行工作的:IPS,防病毒,反间谍软件,URL过滤器,DNS过滤器,威胁情报等。 也就是说,我们不仅允许应用程序,而且还安全地进行操作。

L7防火墙更安全


我手边有Palo Alto Networks NGFW。 我在上面写了三个不同的规则。 让我们看看它们有何不同。



如果您曾经配置过防火墙,那么对于不同的用户组(贵宾,营销和程序员),我会以三种不同的方式启用SSL。

  1. vip用户将能够使用端口443,并且将能够在其中使用SSL ,因为它是SSL的默认端口。 如果他们尝试访问端口443(例如常规telnet),则它们将不会成功-防火墙将验证它不是SSL并将其阻止。 这就是您所需要的!
  2. 行销可以使用SSL转到任何端口 ,因为在“服务”字段中指示端口的地方,允许任何端口。 问题是,我是否希望市场营销在非标准端口上使用SSL? 不行 这是常见的配置错误。 如果规则禁止,则将端口指定为any是合乎逻辑的-也就是说,如果我们要禁止任何端口上的SSL。
  3. 程序员可以使用任何应用程序在端口443上行走,这实际上是一个漏洞,因为我最初只想打开SSL。 这正是L4防火墙的工作方式-打开端口,然后对端口无关,什么应用程序使用此端口都无所谓。 程序员组中的任何程序员都可以使用任何隧道。

设置应用程序默认值非常重要,它可以减少规则数量:您可以在一个规则的``应用程序''列中指定必要的应用程序,防火墙本身将为必要的应用程序打开必要的端口,只有应该去那里的那些应用程序才能通过这些端口。 因此,您需要一个规则来打开多个应用程序。

例如,对于以下规则,默认情况下所有员工仅被允许访问Internet,NGFW将不断检查他们是否仅希望在第53个端口上使用DNS客户端,而不希望使用TCP-over-DNS。 当然,这会提高安全性,因为您不仅允许应用程序,而且控制仅允许您允许的应用程序通过开放渠道进行访问。



哪些新问题为L7编写规则创造了新方法


您需要了解,对于L7防火墙处理器而言,根据软件包内容确定应用程序非常困难。 如果通常的L4防火墙仅检查了TCP数据包头的几个字节,然后不检查就通过了闪存片段的剩余兆字节,那么L7防火墙应读取TCP / IP数据字段中存储的所有内容,并不断检查TCP / IP连接中的内容,突然改变或对公司构成威胁。 因此,当出现诸如内容分析之类的功能时,所有设备开始变慢。 因此,内容分析需要功能更强大的设备。

7级分析技术的局限性


L7防火墙需要更多的内存来存储一个连接的状态,因此L7防火墙的“同时连接数”参数始终低于两个设备中具有相同RAM量的L4防火墙,并且每10次显着。这已经在Statefull部分中进行了说明。检验 这是确保应用程序安全的代价。 因此,如果您要比较L4和L7检查,请询问制造商他如何测量“同时会话数”参数:安全级别为7启用或禁用。

性能上也是一样:L4防火墙处理器仅检查数据包标头的几个字节,然后以路由速度传输数据本身而不进行检查; L7防火墙同时检查标头和后续连接数据包中包含的所有兆字节数据。 这是完全不同的工作。 因此,此类工作需要在专用的硬件平台上完成,在这些平台上,可以加速应用程序分析,加速流式杀毒,IPS和其他安全功能。 最重要的是,Cavium成功地创建了用于提高安全性的芯片,例如Palo Alto Networks使用了其芯片。 FPGA() IPS FPGA. , — .

结论


- , L7 firewall . , . : NGFW .

- , , L7 firewall - , .

- , , . , - 80 .

3. SSL NGFW. ( )

!


denis@batrankov.ru

Source: https://habr.com/ru/post/zh-CN436836/


All Articles