5.2.2 防火墙技术
提升物联网信息传输的安全性,要从互联网的特点和性能入手,以此为依据搭建更具实用性的防火墙系统,并结合具体的系统应用来完善访问机制,对不同的网络进行隔离,以此提升整个网络运行的安全等级。被隔离的不同网络在完成信息传输时,能够达到更高水平的安全性,并保证数据在传输过程中不被恶意盗取和篡改,以提升数据的有效性。
防火墙是建立在一个安全和可信的内部网和一个被认为不安全和可信的外部网之间的防御工具,它由软件和硬件设备组成(在不同网络之间),只有一个唯一的出入口。通过结合安全政策来控制出入网络的信息流,加上防火墙技术本身就具有很强的抗攻击能力,能够为计算机网络提供安全的信息服务。防火墙技术的关键在于其在网络之间执行访问控制策略。从专业角度而言,防火墙技术实际上就是一个分离器、限制器,只允许经过授权的数据通过,也正因为如此,它能够有效地监控内网和外网之间发生的任何活动,有利于增强整个内部网络的安全性。
1.防火墙的基本类型
防火墙可以是软件、硬件或是软硬件的组合。目前,涉密信息系统内较少使用纯软件防火墙,多用硬件或软硬件相结合的防火墙。防火墙从结构上分为两种:基于ASIC芯片的纯硬件防火墙和基于NP架构的软硬件结合防火墙,其优缺点包括:纯硬件防火墙基于ASIC(Application Specific Integrated Circuit,特定用途集成电路)开发,性能优越,但可扩展性、灵活性较差;软硬件结合防火墙大多基于NP(Network Processor,网络处理器)开发,性能较高,具备一定的可扩展性和灵活性。
防火墙按功能划分为包过滤型防火墙、应用代理型防火墙和包过滤与应用代理相结合的复合型防火墙3种类型。GB/T 2028—2006对包过滤型和应用代理型防火墙的功能做了解释:“包过滤型防火墙允许内外部网络的直接连接,依据IP地址、协议等关键字进行访问控制。应用代理型防火墙不允许内外部网络的直接连接,将连接分为两个部分,代理内外部网络的连接请求与应答,安全性更高”。
包过滤型防火墙在网络层实现访问控制功能,它在网络层接收到数据包后,从规则链表中按顺序逐条匹配规则,如果匹配成功就执行规则中设置好的动作,若规则链表中没有规则相匹配,则丢弃该数据包。就实现方式而言,包过滤型防火墙又分为静态包过滤型和动态包过滤型。静态包过滤型防火墙的过滤规则是基于数据包的报头信息进行制定的,报头信息中包括源IP地址、目的IP地址、传输协议(TCP、UDP、ICMP等)、TCP/UDP目标端口、ICMP消息类型等;动态包过滤型防火墙采用动态设置包过滤规则的方法,对建立的每一个连接都进行跟踪,并且根据需要可动态地在过滤规则表中进行更改。包过滤型防火墙的工作方式如图5.2所示。
图5.2 包过滤型防火墙的工作方式
应用代理型防火墙在网络层以上(传输层、会话层、表示层和应用层)实现访问控制功能。应用代理型防火墙主要针对不同的过滤规则,在防火墙内部开启一个相应的代理服务,对数据包进行网络层以上协议的过滤,从而实现更细粒度的进出防火墙数据包控制功能。应用代理型防火墙的工作方式如图5.3所示。
2.防火墙产品安全性分析
(1)静态包过滤型防火墙
图5.3 应用代理型防火墙的工作方式
静态包过滤型防火墙是第一代防火墙,也是安全性较差的一种防火墙。它将捕捉到的数据包中的报文头在网络层进行分析,得到数据包的源IP地址、目的IP地址、TCP/UDP源端口、TCP/UDP目的端口,并结合防火墙的规则表来进行过滤。由于包过滤型防火墙只能够在网络层对数据包进行分析,而无法对数据包中TCP协议的状态位进行分析,因此,很容易受到如下攻击而被穿越。
1)利用虚假IP地址欺骗防火墙
静态包过滤型防火墙的访问控制功能是在网络层实现的,因此,它可以只用路由器完成。静态包过滤型防火墙根据数据包中报文头中的源IP地址、目的IP地址、源端口、目的端口等报头信息来判断是否允许数据包通过。由于是在网络层检查数据包,与应用层无关,因此,防火墙对应用层信息无感知,形象地说,防火墙不理解通信内容,不能在用户级别上进行过滤,即不能识别不同的用户和防止IP地址欺骗。因此,入侵者可利用伪造合法IP地址的手段,将发送的攻击数据包伪装成合法的数据包来骗过防火墙的检测,达到穿越防火墙保护的目的。
2)利用DoS攻击和DDoS攻击突破防火墙
DoS攻击的原理是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。DDoS(Distributed Denial of Service,分布式拒绝服务)攻击是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般采用一对一方式,当攻击目标CPU速度低、内存小或者网络带宽小以及各项性能指标不高时,其效果比较明显。随着计算机与网络技术的发展,计算机的处理能力迅速增强,内存大大增加,同时出现了千兆级别的网络,这增大了DoS攻击的困难程度,这时候DDoS攻击出现了。DDoS攻击就是利用更多的傀儡机来发起进攻,即以比从前更大的规模来进攻目标。
由于简单的静态包过滤型防火墙不能跟踪TCP协议的状态位,很容易受到DDoS攻击,一旦防火墙受到DoS攻击或DDoS攻击,便会忙于处理攻击而无暇顾及过滤功能,攻击包便可穿越防火墙。
3)利用分片攻击技术绕过防火墙保护
链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度,不同的网络类型都有一个上限值。我们通常接触的以太网的MTU是1 500,如果IP层有数据包要传,且数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作,使每一片的长度都小于或等于MTU。
在IP的分片包中,所有的分片包用一个分片偏移字段来标志分片包的顺序,只有第一个分片包含有TCP端口号的信息。当IP分片包通过分组过滤型防火墙时,防火墙只根据第一个分片包的TCP信息来判断是否允许通过,其余后续的分片不做检测直接通过,这样一来,攻击者就可以通过先发送第一个合法的IP分片来骗过防火墙的检测,接着封装了恶意数据的后续分片包就可以直接穿越防火墙到达内部网络主机,威胁网络和主机的安全。
4)利用木马攻击技术绕过防火墙保护
木马攻击是当前较为常用的一种攻击手段,其主要攻击原理就是在受保护区域的某台主机上运行客户端程序,建立一个监听端口,实时地与外部服务器进行通信。木马攻击对于静态包过滤型防火墙尤为有效,原因是一般的静态包过滤型防火墙只过滤低端口(1 024以下),不过滤高端口(一些服务要用到高端口,因此,防火墙不关闭高端口),所以很多木马程序都绑定高端口,如冰河、subseven等。但是,木马攻击的前提是必须先上传并运行木马客户端程序,对于简单的静态包过滤型防火墙,利用内部网络主机开放的服务漏洞便可以进行渗透挂马。
(2)动态包过滤型防火墙
1992年,USC信息科学院的Bob Braden开发出了基于动态包过滤(Dynamic Packet Filter)技术的第四代防火墙,该防火墙后来演变为目前所说的状态检测(Stateful Inspection)技术。1994年,以色列的Check Point公司开发出第一个采用这种技术的商业化产品。所谓状态检测技术,就是从TCP连接的建立到终止都被跟踪检测的技术。原先的静态包过滤型防火墙在实现数据包过滤功能时是用单独的数据包来匹配规则的,然而同一个TCP连接,其数据包是前后关联的,即先是syn包,然后是包含数据的包,最后是fin包。数据包的前后序列号也是相关的。如果割裂这些关系,单独的过滤数据包很容易被精心构造的攻击数据包所欺骗,如NAMP的攻击扫描就有利用syn包、fin包、reset包来探测防火墙后面的网络。相反,一个完全基于状态检测技术的动态包过滤型防火墙在发起连接时就判断,如果符合规则,即在内存中建立一个快转表,在快转表中记录这个连接的相关状态信息(如IP地址、端口号等),后续进入防火墙的数据包会首先进入快转表中检测是否有该连接的记录,如果检测到有该连接记录,则不需要再从规则表中按顺序检测是否匹配表中的某条规则,而可以直接通过防火墙。
基于动态包过滤型防火墙的上述特性,一些精心构造的攻击数据包由于没有在内存中的快转表记录相应的状态信息而被丢弃,这些攻击数据包就无法穿越防火墙。在状态检测技术里,由于采用动态规则技术,原先静态防火墙中因高端口无法关闭易遭木马攻击穿透的问题也得以解决。原因在于,平时防火墙可以过滤内部网络的所有端口(1~65 535),外部攻击者难以发现入侵的切入点,可是为了不影响正常的服务,防火墙一旦检测到服务(如NFS和RPC服务等)必须开放高端口时,便在内存中的快转表中动态地添加一条规则来打开相应的高端口,服务完成后,这条规则便被防火墙删除。这样既保障了安全,又不影响正常使用。一般来说,完全实现了状态检测技术的防火墙,智能性都比较高,对一些扫描攻击还能自动做出反应,但也存在着一定的安全隐患。通过下面描述的特定攻击方式也可以达到穿越防火墙的目的。
1)利用FTP-pasv模式特性绕过防火墙保护
FTP的连接有两种方式:Port模式和Passive模式(Pasv Mode)。Port模式是客户端打开一个端口等待服务端去建立数据连接,而Passive模式恰相反,是服务端打开一个端口等待客户端去建立数据连接。若客户端主机采用Passive模式连接FTP服务器,则在服务器接到客户端的PASV命令后,会指定一个本地的随机端口来作为PASV端口,并通知客户端,然后等待客户端的连接,在通知消息里包含FTP服务器的IP地址和打开的PASV端口,如FTP服务器的IP地址是192.168.0.100,那么客户端收到的PASV通知格式即为227 Entering Passive Mode(192,168,0,100,m,n),其中,m和n是定义PASV端口的值,计算方式是m*256+n,假如这里m是10,n是20,那么PASV端口就是2580。客户端主机收到这条通知,当它想向服务器发起连接时,便会向192.168.0.100:2580这个目标地址发送SYN请求,服务器收到请求后,会向客户端主机反馈一个ACK信息,表明数据连接成功。
FTP-pasv攻击是针对动态包过滤型防火墙实施入侵的重要手段之一,较难防范。目前,很多防火墙不能过滤这种攻击手段,如CheckPoint的Firewall-1。如果涉密系统中有应用FTP服务的需求,且采用的是Passive连接模式,基于上述工作原理,在监视FTP服务器发送给客户端的数据包的过程中,防火墙在每个数据包中寻找“227”这个字符串,如果发现带有这个字符串的数据包,便从中提取目标地址和端口,并对目标地址加以验证,通过后,将允许建立到该地址的TCP连接,攻击者可利用该特性来伪造数据包,设法连接受防火墙保护的服务器和服务,以达到突破防火墙边界保护的目的。
2)利用反弹木马攻击技术绕过防火墙保护
如果规则配置合理,动态包过滤型防火墙对于连入防火墙内部网络的链接会进行严格的过滤,但它对于从内部向防火墙外部发起的链接却疏于防范。与一般的木马相反,反弹端口型木马(反弹木马)的服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口,木马定时监控控制端的存在,发现控制端上线便立即弹出端口,主动连接控制端打开的主动端口。
反弹木马对基于状态检测的动态包过滤型防火墙最具威胁。攻击者通过内部网络的反弹木马定时连接由外部攻击者控制的主机,由于连接是从防火墙内部发起的,且通常为了隐蔽,控制端的被动端口一般开在80端口,这样防火墙无法区分是木马连接还是合法连接,便对该连接不实施任何阻拦,使得攻击者从防火墙内部绕过制定的规则同外部建立连接,达到穿越防火墙的目的。
(3)应用代理型防火墙
1989年,贝尔实验室的Dave Presotto和Howard Trickey推出了第二代防火墙,即电路层防火墙,同时提出了第三代防火墙——应用层防火墙(代理型防火墙)的初步结构。
由于第二代防火墙是在网络的传输层上实施访问策略,即在内外网络主机之间建立一个虚拟电路进行通信,相当于在防火墙上直接开了个口子进行传输,不像应用层防火墙那样能严密控制应用层信息,并对数据流进行过滤,所以它很快便被同时提出的第三代防火墙所取代。
代理在应用层防火墙上的运行实质是启动两个连接,一个是客户端到代理,另一个是代理到目的服务器,实现上也是根据规则过滤。由于运行在应用层能够对数据流进行过滤和规则比对,因此,可以防范对数据流中含恶意代码的攻击,但速度较慢。由于应用层防火墙能够对数据流进行分析和规则匹配,相比包过滤型防火墙在安全性方面有了较大的提高。普通攻击方式通常利用正常的应用服务或端口,如内部开放的HTTP80端口来渗透攻击包。如果防火墙的配置不当使得外部攻击者能够连接到DMZ服务器区的Web服务器,且服务器的补丁又未能够及时更新,那么攻击者便可以发动各种Web攻击(如CGI漏洞攻击、UNICODE编码攻击和WebShell提权攻击等),渗透DMZ区,进而渗透内网区,达到穿越防火墙的目的。
3.防火墙技术的主要功能
(1)保障网络安全
防火墙技术能够有效地保证网络安全,其中,通过将有限的公有IP地址动态或静态地与内部的私有IP地址进行映射,可以有效保护内部网络。另外,防火墙技术还能够拒绝网络中各种交换传输的数据单元,以确保内网更加安全。NAT(Network Address Translation,网络地址变换)技术还能够有效地解决互联网地址空间短缺问题。如具有邮件通知功能,可以将系统的告警通过发送邮件来通知网络管理员。
(2)避免内部网络信息出现泄露
在防火墙技术中,根据设置的安全规则,能够动态地维护通过防火墙的所有通信的状态,极大程度地提升了网络的安全性,还能够有效隔离关键网段,限制内网访问人员。通过设置信任域与不信任域之间数据出入的策略,例如通过过滤掉不安全的服务,能够有效降低风险。另外,还可进行自定义规则计划,确保系统能够在设定的时间段实现自动启用和关闭。这种直接控制不安全服务的方式,可以有效保证内网信息不会发生泄露。
(3)限制网络访问
防火墙的又一个主要功能是实现对整个网络的访问控制,例如防火墙设置,实现内部用户对外部网络特殊站点的访问策略,保证了网络安全。通过以防火墙为中心的安全方案配置,一个子网的所有或大部分需要改动的软件,以及附加的安全软件库,能够集中地放在防火墙系统中,这种集中的安全保护方式提升了安全管理的效能。
4.计算机网络安全中防火墙技术的应用策略
(1)访问策略分析
在计算机网络运行过程中应用防火墙技术,首先是在访问策略过程中进行应用。访问策略能够应用配置的形式实现技术应用目标,结合科学合理的计划安排,针对计算机网络的运行过程进行全面的分析和统计,形成更加安全科学的保护系统,提升计算机网络运行的安全性和稳定性。在使用访问策略时,防火墙能够基于单位方式,把计算机中的运行信息分隔开来,按照不同的单位形式规划出内外两种访问保护措施。防火墙技术的应用能够提高流通访问过程的安全系数。基于防火墙技术的应用,访问策略还能够让用户更加全面地了解和掌握计算机网络的运行特点,使计算机网络的运行过程更加安全。基于防火墙技术应用的访问策略方式,跟计算机网络本身的安全保护方式存在一定的差异性。在实际应用中,访问策略是结合计算机的网络安全需求,适当地调整防火墙技术,以提升计算机网络的安全性。在计算机网络访问策略的活动过程中,需要详细地记录好这个访问策略的活动情况,制定策略表,作为执行顺序的时间标准。
(2)日志监控
在计算机网络安全中,防火墙技术还能够应用在日志监控中,能够把安全防护价值更好地体现出来。一部分管理工作人员在采集计算机网络的日志信息时,要选择和收集计算机网络中的所有信息,但是由于不同的防火墙本身拥有巨大的信息数据,因此这种选择方式过于费时费力,在采集过程中一旦出现误差可能会漏掉重要的数据信息。解决这一问题需要提升日志信息的采集效果,把其中重要的日志信息价值充分发挥出来,减少不必要的信息采集从而提升防火墙技术的应用价值。
(3)安全配置
一部分计算机属于单独分离出来的,需要对其设置安全服务隔离区,这些隔离区跟其他的服务器设备和系统管理设备群之间存在较大的差异性。比较独立的局域网也是内网的重要构成部分,能够确保服务器在运行过程中数据信息的安全,保障系统管理工作的正常运行。在安全配置中应用防火墙技术,能够保护内网中的所有主机地址,防止外部了解内网结构和计算机的真实IP地址,提升内网运行的安全性,减少公网IP的使用数量。在计算机网络安全中应用防火墙技术,可以有效控制投资成本。例如公司在使用计算机网络时设置边界路由器,就能够具备过滤功能,配合防火墙技术,可以跟内网有效地连接在一起,确保内网的安全运行。
计算机网络具备虚拟性、技术性以及公众性等技术特点,缺乏计算机网络安全管理会导致用户在网络中的信息受到破坏,影响计算机网络的正常应用,因此做好计算机网络安全防护工作非常重要。在计算机网络使用过程中应用防火墙技术,能够确保用户在使用计算机网络时更加安全,保护计算机中的数据信息不受侵害,促进计算机网络的安全发展。
防火墙作为涉密信息系统边界防护上最基本的安全防护产品,一直以来都是黑客研究和攻击的重点,针对防火墙的攻击手法和技术也越来越智能化和多样化。虽然防火墙技术已经较为成熟,但我们仍要重视其安全性,应结合已发现的脆弱点,切实地从技术和管理方面加强防范措施,确保涉密信息系统的安全。