首页 > 技术文章 > 华为防火墙理论

kkfollwme 2021-01-25 10:45 原文

防火墙本质是控制

一至二代传统防火墙:具有数据包过滤、网络地址转换(NAT)、协议状态检查以及VPN功能等功能
三代UTM防火墙:UTM是2004年IDC定义的概念,主要是为了解决传统防火墙无法防御病毒、木马等应用层攻击,以及分布式部署多种安全设备投入
成本太高的问题
下一代防火墙(NGFW):是一款可以全面应对应用层威胁的高性能防火墙。通过深入洞察网络流量中的用户、应用和内容,并借助全新的高性能
单路径异构并行处理引擎,NGFW能够为用户提供有效的应用层一体化安全防护,帮助用户安全地开展业务并简化用户的网络安全架构。
现在最多的就是NGFW,华为是USG6000系列。

UTM和NGFW的差别是:性能更好,传统UTM产品针对每一个功能采用一个安全引擎,只是把多种安全引擎叠加在了一起,
因此在每个UTM模块(AV/防病毒、IPS/入侵检测、URL过滤)都进行分别执行解码、状态复原等操作,导致大量的资源消耗。
而下一代防火墙采用集成化、单引擎:NGFW将应用层安全检测模块统一到一个检测引擎,各个功能模块还可以形成联动。
然后传统防火墙和UTM的差别是:UTM可以检查4层以上报文,传统的只能检查4层以下报文。


传统防火墙与UTM防火墙的区别:
防火墙模式和UTM模式是USG5300的两种运行模式。
当USG5300工作在防火墙模式下时,IPS功能、URL过滤功能、AV功能和升级服务不能使用,只能使用传统防火墙功能;当USG5300工作在UTM模式
下时,IPS功能、URL过滤功能、AV功能和升级服务以及传统的防火墙功能都可以使用,但是传统防火墙功能的规格有所下降。
相对而言,下一代防火墙检测更加细。UTM 与下一代防火干墙有一些交集,但二者有本质的区别,Unified Threat Management,统一威胁管理。
即将防病毒、入侵检测和防火墙安全设备划归统一威胁管理新类别。而且新一代防火墙还具有云防护能力。

UTM防火墙与下一代防火墙区别:
共同点:两种产品形态都是为了解决安全问题,并且都关注到了多种威胁的防御,应该讲价值取向上有重合的地方。
不同点:NGFW与UTM最大的不同在于处理机制上,UTM是在防火墙平台上发展起来的,这种架构注定入侵防御、病毒防护等各个功能是简单叠加的,
数据包需要逐个通过各个检测引擎,每通过一个引擎性能将下降一大截,全部开启后,性能仅剩余10%左右,很多时候无法满足实际需求,
因此我们看到很多UTM产品至今仍停留在概念阶段。NGFW最大的不同,是将所有威胁检测功能融合在了一个引擎里,数据包只需要通过一个引擎,
就可以完成所有威胁的检测,这样的改变带来了几点价值:
1)提升了检测效率,性能增强,所有功能全开启的情况下性能同样能够支撑大流量;
2)NGFW各功能模块间的融合意味着相互之间可以联动,这意味着NGFW不再像UTM那样割裂的看待某一个攻击,而是可以关联的看到整个
攻击过程的全貌。另外,在安全防御理念上,NGFW倡导主动防御的概念,对应对未知威胁有较大的提升。

 


下一代防火墙(NGFW)的主要变化:
多功能叠加
安全网关UTM
防火墙:隔离流量
杀毒软件:检测数据内容是否有木马等
DMZ Trust Local UNtrust华为上的四大区域
在华为防火墙上,一个接口只能加入到一个安全区域中
不同的网络受信任的程度不同,在防火墙上用安全区域来表示网络后,怎么来判断一个安全区域的受信任程度呢?在华为防火墙上,每个安全区域都有一个唯一的安全级别,用1~100的数字表示,数字越大,则代表该区域内的网络越可信。对于默认的安全区域,它们的安全级别是固定的:Local区域的安全级别是100,Trust区域的安全级别是85,DMZ区域的安全级别是50,Untrust区域的安全级别是5。
DMZ来放对外访问的服务器的
低级别访问高级别是inbound流量
高级别访问低级别是outbound流量
思科:高级别默认可以访问低级别
华为:高低级别默认不可以互访

防火墙上提供了Local区域,代表防火墙本身。凡是由防火墙主动发出的报文均可认为是从Local区域中发出,凡是需要防火墙响应并处理(而不是转发)的报文均可认为是由Local区域接收。
Local区域中不能添加任何接口,但防火墙上所有接口本身都隐含属于Local区域。也就是说,报文通过接口去往某个网络时,目的安全区域是该接口所在的安全区域;报文通过接口到达防火墙本身时,目的安全区域是Local区域。

Trust区域,该区域内网络的受信任程度高,通常用来定义内部用户所在的网络。
DMZ区域,该区域内网络的受信任程度中等,通常用来定义内部服务器所在的网络。
Untrust区域,该区域代表的是不受信任的网络,通常用来定义Internet等不安全的网络。

在华为防火墙上,每个安全区域都有一个唯一的安全级别,用1~100的数字表示,数字越大,则代表该区域内的网络越可信。对于默认的安全区域,它们的安全级别是固定的:Local区域的安全级别是100,Trust区域的安全级别是85,DMZ区域的安全级别是50,Untrust区域的安全级别是5。

任意两个安全区域都构成一个安全域间(Interzone),并具有单独的安全域间视图,大部分的安全策略都需要在安全域间视图下配置。
安全域间这个概念用来描述流量的传输通道。它是两个“区域”之间的唯一“道路”,如果希望对经过这条通道的流量进行控制,就必须在通道上设立“关卡”,也就是安全策略。报文在两个安全区域之间流动时,我们规定:报文从低级别的安全区域向高级别的安全区域流动时为入方向(Inbound),报文从由高级别的安全区域向低级别的安全区域流动时为出方向(Outbound)。报文在两个方向上流动时,将会触发不同的安全检查。

通常情况下,通信双方一定会交互报文,即安全域间的两个方向上都有报文的传输。而判断一条流量的方向应以发起该条流量的第一个报文为准。
通过设置安全区域,防火墙上的各个安全区域之间有了等级明确的域间关系。不同的安全区域代表不同的网络,防火墙成为连接各个网络的节点。以此为基础,防火墙就可以对各个网络之间流动的报文实施管控。

如果没有配置任何安全策略,防火墙是不允许报文在安全区域之间流动的。
缺省包过滤是对所有报文都生效的缺省的安全策略。默认情况下,缺省包过滤的动作是拒绝通过。(华为都是默认拒绝通过)

实现包过滤的核心技术是访问控制列表。
包过滤防火墙只根据设定好的静态规则来判断是否允许报文通过,它认为报文都是无状态的孤立个体,不关注报文产生的前因后果
“逐包检测”机制,即对设备收到的所有报文都根据包过滤规则每次都进行检查以决定是否对该报文放行,严重影响了设备转发效率,使包过滤防火墙成为网络中的转发瓶颈。

先进行会话检测,在生成会话表
状态检测防火墙使用基于连接状态的检测机制,将通信双方之间交互的属于同一连接的所有报文都作为整体的数据流来对待。在状态检测防火墙看来,同一个数据流内的报文不再是孤立的个体,而是存在联系的。为数据流的第一个报文建立会话,数据流内的后续报文直接根据会话进行转发,提高了转发效率。

通过会话中的五元组信息可以唯一确定通信双方的一条连接。
防火墙将要删除会话的时间称为会话的老化时间。
一条会话就表示通信双方的一个连接。防火墙上多条会话的集合就叫做会话表
五元组:协议,源地址:源端口,目的地址:目的端口

会话是通信双方的连接在防火墙上的具体体现,代表两者的连接状态,一条会话就表示通信双方的一个连接。防火墙上多条会话的集合就叫做会话表(Session table)。
会话是动态生成的,但不是永远存在的。如果长时间没有报文匹配,则说明通信双方已经断开了连接,不再需要该条会话了。此时,为了节约系统资源,防火墙会在一段时间后删除会话,该时间称为会话的老化时间。

安全策略是按一定规则控制设备对安全域间的流量进行转发和内容安全一体化检测的策略。
规则的本质是包过滤。

防火墙的基本作用是保护特定网络免受“不信任”的网络的攻击,但是同时还必须允许两个网络之间可以进行合法的通信。

防火墙能够识别出流量的属性,并将流量的属性与安全策略的条件进行匹配。如果所有条件都匹配,则此流量成功匹配安全策略。流量匹配安全策略后,设备将会执行安全策略的动作。
如果动作为“允许”,则对流量进行内容安全检测。如果内容安全检测也通过,则允许流量通过;如果内容安全检测没有通过,则禁止流量通过。
如果动作为“禁止”,则禁止流量通过。


一体化检测是指对一条流量的内容只进行一次检测和处理,就能实现包括反病毒、入侵防御在内的内容安全功能。由于一体化检测的高效性,我们往往可以通过配置较宽泛的安全策略条件来匹配一类流量,然后再通过各种内容安全功能来保证网络安全。用于下一代防火墙(NGFW)

NGFW安全策略构成
条件 动作 配置文件

多个用户共享少量公网地址访问Internet的时候,可以使用源NAT技术来实现。
源NAT技术只对报文的源地址进行转换。

黑洞路由:为了避免外网用户访问global地址但是没有匹配到Server-Map的报文,在GNFW和router之间形成路由环路。

根据采用的攻击报文类型的不同,网络中目前存在多种DDoS攻击类型。NGFW可以防范以下几种常见的DDoS攻击:SYN Flood、UDP Flood、ICMP Flood、HTTP Flood、HTTPS Flood、DNS Flood和SIP Flood攻击。

最常见的DoS((Denial of Service))攻击就是我们常常提到的单包攻击。这类攻击一般都是以个人为单位的黑客发动的,攻击报文也比较单一,虽然破坏力强大,但是只要掌握了攻击的特征,防御起来还是比较容易的。
单包攻击包括扫描类攻击、畸形报文类攻击和特殊报文类攻击。

扫描类攻击主要包括IP地址扫描和端口扫描,IP地址扫描是指攻击者发送目的地址不断变化的IP报文(TCP/UDP/ICMP)来发现网络上存在的主机和网络,从而准确的发现潜在的攻击目标。端口扫描是指通过扫描TCP和UDP的端口,检测被攻击者的操作系统和潜在服务。攻击者通过扫描窥探就能大致了解目标系统提供的服务种类和潜在的安全漏洞,为进一步侵入系统做好准备。(手机信息)

畸形报文类攻击是指通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的IP报文时发生错误,或者造成系统崩溃,影响目标系统的正常运行。主要的畸形报文攻击有Ping of Death、Teardrop等。

而扫描类攻击在防御过程中比较消耗防火墙的性能,所以不建议开启。


NGFW的应用行为控制:
使用限制:
应用行为控制功能受License控制。License激活前,应用行为控制功能可配置,但不生效。当License过期后,应用行为控制功能不可用。
文件上传大小/文件下载大小限制对支持断点续传的文件上传/下载无效。
HTTP文件下载控制项用来控制采用HTTP协议进行文件下载的操作,如在文件下载页面选择专用的下载工具(如BT、电驴等)进行下载,将无法对下载工具进行控制。

应用行为控制常用于企业内部对内网用户的上网(HTTP)行为和FTP行为进行管理。

应用行为控制配置思路:
1. 创建应用行为控制的配置文件(Profile),并在其中设置需要控制的行为选项。
2. 在安全策略中创建规则(Rule),并在其中设置需要生效的域、用户、时间等信息。
3. 在规则(Rule)中引用应用行为控制配置文件(Profile)即可生效。

网站默认80端口,改成其他端口的话每次访问都要加端口,就很麻烦
FTP多通道协议,有主动和被动的传输方式,遇到使用随机协商端口的协议,单纯的包过滤方法无法进行数据流定义

特殊报文类攻击是指攻击者利用一些合法的报文对网络进行侦察,这些报文都是合法的应用类型,只是正常网络很少用到。主要的特殊报文攻击有超大ICMP报文控制、Tracert和时间戳选项IP报文控制等。

Sever-map表
由于某些特殊应用会在通信过程中临时协商端口号等信息,所以需要设备通过检测报文的应用层数据,自动获取相关信息并创建相应的会话表项,以保证这些应用的正常通信。这个功能称为ASPF应用层报文过滤(Application Specific Packet Filter),所创建的会话表项叫做Server-map表。

对于多通道协议,例如FTP,ASPF功能可以检查控制通道和数据通道的连接建立过程,通过生成server-map表项,确保FTP协议能够穿越设备,同时不影响设备的安全检查功能。
Server-map表相当于在防火墙上开通了“隐形通道”,使得像FTP这样的特殊应用的报文可以正常转发。当然这个通道不是随意开的,是防火墙分析了报文的应用层信息之后,提前预测到后面报文的行为方式,所以才打开了这样的一个通道。
Server-map通常只是用检查首个报文,通道建立后的报文还是根据会话表来转发。
Server-map表在防火墙转发中非常重要,不只是ASPF会生成,NAT Server等特性也会生成Server-map表。

 

 NAT配置思路:

以前的NAT配置加上安全策略,源NAT策略,黑洞路由

NAT Sever配置思路:

1. 配置接口IP地址和安全区域,完成网络基本参数配置。

2. 配置安全策略,允许外部网络用户访问内部服务器。

3. 配置服务器映射功能,创建静态映射,映射内网Web服务器。                        //重点

4. 在NGFW上配置缺省路由,使内网服务器对外提供的服务流量可以正常转发至ISP的路由器。

5. 在NGFW上配置黑洞路由,避免NGFW与Router之间产生路由环路。

6. 在Router上配置到服务器映射的公网地址的静态路由。

 

对于同一个内部服务器发布多个公网IP供外部网络访问的场景,如果不同公网IP所在的链路规划在不同的安全区域,可以通过配置针对不同的安全区域发布不同的公网IP的NAT Server来实现。如果不同公网IP所在的链路规划在同一个安全区域,可以通过配置指定no-reverse参数的NAT Server来实现。指定no-reverse参数后,可以配置多个global地址和同一个inside地址建立映射关系。

另外,指定no-reverse参数后,设备生成的Server-map表只有正方向,内部服务器主动访问外部网络时,设备无法将内部服务器的私网地址转换成公网地址,内部服务器也就无法主动向外发起连接。因此,通过指定no-reverse参数可以禁止内部服务器主动访问外部网络。

 

推荐阅读