目录
1、什么是防火墙
在网络的发展早期,没有防火墙时,网络的性质是大家都联通的,也就是 any to any
相互联通也就意味着安全性无法得到有效的保障,随着发展,则出现了对网络安全的需求
引出了防火墙的概念:防火墙是一种隔离(非授权用户在区域间)并过滤(对受保护网络有害的流量或者数据包)的设备
所以,简单来说防火墙的防御对象就是
-
授权用户
-
非授权用户
2、状态防火墙工作原理?
状态防火墙是一种能够提供状态封包检查或状态检视功能的防火墙。
状态防火墙(英语:Stateful firewall),一种能够提供状态数据包检查(stateful packet inspection,缩写为SPI)或状态查看(stateful inspection)功能的防火墙,能够持续追踪穿过这个防火墙的各种网络连接(例如TCP与UDP连接)的状态。这种防火墙被设计来区分不同连接种类下的合法数据包。只有匹配主动连接的数据包才能够被允许穿过防火墙,其他的数据包都会被拒绝。
这种防火墙也可以提供动态数据包过滤(Dynamic Packet Filtering)的功能。
在包过滤(ACL表)的基础上增加一个会话表,数据包需要查看会话表来实现匹配(匹配状态)
把会话状态记录,追踪下一个包的状态进行匹配
会话表可以用hash来处理形成定长值,使用CAM芯片处理,达到交换机的处理速度
-
首包机制
-
细颗粒度
-
速度快
3、防火墙如何处理双通道协议?
单通道协议:通信过程中只占用单个端口,如HTTP,它只占用80端口
多通道协议:通信过程中占用多个端口,如FTP,它在被动模式下需占用21号端口和一个随机端口,而主动模式中占用的是20和21号端口
简单的包过滤遇到随机端口时则无法进行数据流定义,所以有了ASPF
ASPF
应用层报文过滤(application specific packet filter): 是针对应用层的包过滤,即基于状态检测的报文过滤。也称为状态防火墙,它维护每一个连接的状态,并且检查应用层协议的数据,以此决定数据包是否被允许通过 。它和普通的静态防火墙协同工作,以便于实施内部网络的安全策略。aspf能够检测试图通过防火墙的应用层协议会话信息,阻止不符合规则的数据报文穿过。
ASPF对多通道协议的支持:创建Server-map→匹配Server-map
servermap
servermap表项由ASPF(Application specific packet filter)通过动态创建用于保证多通道协议应用的正常。servermap表项主要由目的地址、目的端口、协议类型组成。
servermap表项由ASPF(Application specific packet filter)通过动态创建用于保证多通道协议应用的正常。servermap表项主要由目的地址、目的端口、协议类型组成。
如下这样的一个表项表示,目的地址为192.168.0.1,目的端口号为1952的FTP数据报文将被允许通过,老化时间为1分钟,在47秒后该表项将老化并被删除。
inside-Address:Port Global-Address:Port Pro AppType TTL Left
192.168.0.1 :1952 ----- TCP FTP DATA 00:01:00 00:00:47
Server-map是一种映射关系,当数据连接匹配了动态Server-map表项时,不需要再查找包过滤策略,保证了某些特殊应用的正常转发。(NAT Server、NAT No-PAT产生的Server-map需要查找安全策略)
另一种情况,当数据连接匹配Server-map表,会对报文中IP和端口进行转换
Server-map通常只是用检查某个报文,通道建立后的报文还是根据会话表来转发。
Server Map的产生:转发多通道协议;转发QQ/MSN、TFTP等STUN类型协议;NAT Server或SLB时;NAT No-PAT
4、防火墙如何处理nat?
困境 某些协议会在应用层携带通信ip,这个ip用于下一阶段通信。但是nat的地址转换并不是转应用层IP而是 转三层ip,这就导致某些协议的通信阶段在nat场景下失败。
ALG
Application Level Gateway 应用网关,用来处理上述应用层数据在NAT场景转换问题。 这也是导致交换机一般没有nat的主要原因
NAT和NAPT只能对IP报文的头部地址和TCP/UDP头部的端口信息进行转换。对于一些特殊协议,例如FTP等,它们报文的数据部分可能包含IP地址信息或者端口信息,这些内容不能被NAT有效的转换。解决这些特殊协议的NAT转换问题的方法就是在NAT实现中使用应用层网关ALG(Application Level Gateway)功能。ALG是对特定的应用层协议进行转换,在对这些特定的应用层协议进行NAT转换过程中,通过NAT的状态信息来改变封装在IP报文数据部分中的特定数据,最终使应用层协议可以跨越不同范围运行。
例如,一个使用内部IP地址的FTP服务器可能在和外部网络主机建立会话的过程中需要将自己的IP地址发送给对方。而这个地址信息是放到IP报文的数据部分,NAT无法对它进行转换。当外部网络主机接收了这个私有地址并使用它,这时FTP服务器将表现为不可达。
目前支持ALG功能的协议包括:DNS、FTP、SIP、PPTP和RTSP。不同协议支持的NAT转换字段如表1-1所示。
表1-1 不同协议支持的NAT转换字段表
应用协议 | 做NAT变换的字段 |
DNS | 响应报文中的IP和Port |
FTP |
|
SIP |
|
PPTP | 分PPTP Client在私网还是PPTP Server在私网两种场景:
|
RTSP | setup/reply OK报文中的端口字段 |
5、你知道那些防火墙?以及防火墙的技术分类?
最开始的防火墙-----包过滤防火墙 ACL(访问控制列表)---三层技术
-
简单、速度快
-
检查颗粒度粗,很粗
-
最好配合NAT使用
代理防火墙----中间人技术---应用层
降低包过滤的颗粒度的一种做法,区域之间通信使用固定设备
-
代理技术只能特定的应用来实现,应用间不能通用
-
技术复杂,速度慢
-
能防御应用层威胁,内容威胁
状态防火墙---会话追踪技术---三层、四层
在包过滤(ACL表)的基础上增加一个会话表,数据包需要查看会话表来实现匹配(匹配状态)
把会话状态记录,追踪下一个包的状态进行匹配
会话表可以用hash来处理形成定长值,使用CAM芯片处理,达到交换机的处理速度
-
首包机制
-
细颗粒度
-
速度快
一体化安全网关UTM防火墙
把应用网关和IPS等设备在状态防火墙的基础上进行整合和同一
统一威胁管理(UTM:Unified Threat Management)---应用层
深度包检测技术
-
把原来分散的设备进行了统一管理,节约资金和学习成本
-
统一有利于各设备之间协作
-
功能集成化变大,设备负荷变大并且检测也是逐个模块来进行的,貌合神离,速度慢
下一代防火墙
基于UTM进行并行处理但是性能还是有问题