防火墙系列(二)-----防火墙的主要技术

防火墙系列(二)—–防火墙的主要技术

好朋原文地址:
[Mars_guest](https://blog.csdn.net/Mars_guest

)

包过滤技术

工作对象–>数据包
防火墙要在数据包进入系统之前处理它
实现包过滤技术的防火墙模块要在操作系统协议栈的网络层的位置。

过滤对象

针对IP的过滤

查看每个IP数据包的包头,将包头数据与规则集相比较,转发规则集允许的数据包,拒绝规则集不允许的数据包

针对ICMP的过滤

  • 最常用的ping指令使用ICMP查询报文,攻击者而可以利用这样的的报文或程序探测用户网络主机和设备的可达性,进而勾勒出用户网络的拓补结构;因此要阻止类型8回送请求ICMP报文进出用户网络;
  • 与类型8相对应的类型0回送应答报文也很值得关注,攻击者通过向目的主机发送多个类型8的报文是的服务器响应信息过多瘫痪,从而实现攻击的目的
  • 类型5路由重定向报文,攻击者可以通过中间人攻击的方法,伪装成预期的接受者截获或者篡改正常的数据包,也可以将数据包导向至受其控制的位置网络。
  • 还有类型3目的不可达报文。

针对TCP过滤

有两种
1.针对源端口或者目的端口的过滤,例如HTTP的80端口,对这些端口号进行过滤规则的设置,可以实现禁止内部用户访问指定网站。
2.对标志位过滤
两个标志位 SYN:建立连接 ACK:响应;
下面叙述TCP三次握手的标志位变化(A向B发起连接)

(1)A发出连接请求时,它发出的报文SYN位为1而其他标志位为0,该报文携带发起者自行选择的一个通信的初始序号 ;

(2)B接受这个连接请求时,返回一个连接应答报文。这个报文SYN为1而ACK位为1。这个报文不但携带A对通信初始序号的确认(加1操作),而且携带B自行选择的另一个通信初始序号,如果A拒绝连接请求,则返回的报文RST位置1;

(3)A对B发回的B自行选择的通信初始序号进行确认(加1操作)作为希望接受的下一个报文的序号,ACK位置1;

利用TCP标志位进行过滤:除了在连接请求的过程之外,SYN位始终置0;只要通过对SYN=1的报文进行操作,就可以实现连接会话的控制、拒绝这些报文即可。

针对UDP过滤

UDP基于无连接的服务,一个UDP用户数据包报文中携带了到达目的地所需的全部信息,不需要返回任何的确认,报文之间的关系难以确定,很难指定相应的过滤规则。
有效解决方法–>动态包过滤技术

包过滤优点

1.简单快速,只需在内联网络与外联网络之间的路由器上安装过滤模块即可

2.对用户是透明的,不需安装特定的软件,不需要进行任何的培训

3.检查规则相对简单耗时极短,执行效率非常高

包过滤缺点

1.思想简单,对信息处理能力有限,只能访问包头中的部分信息,不能理解通信的上下文;

2.过滤规则增多时维护困难,规则之间的包含冲突关系复杂;

3.控制层次较低,不能实现用户级的控制;
解决–>动态包过滤;


状态检测技术

提出前景

为了解决静态包过滤技术的各项缺点,提出这个概念、
可以根据实际情况动态的自动生成或删除安全过滤规则,不需要管理人员的手工设置。

基本原理

根据连接的状态进行检查,当一个初始数据的报文到达防火墙时,首先检查该报文是否符合安全过滤规则的规定。如果符合,将这条连接记录下来并且添加允许这条连接通过的过滤规则,之后向目的地址转发报文。以后凡是属于这个连接的数据防火墙一律通过(双向的)。在通信结束后,防火墙将自动删除关于这条连接的过滤规则,主要工作在传输层

  • TCP:定义了多种状态,以状态信息为基础,结合相应的标志位信息,加上双方的IP地址和端口号,建立TCP的状态连接表来精确的跟踪监控、

  • UDP:无连接的模式,状态难以定义和追踪,伪状态连接 由于不知道结束状态,超时删除,对错误的处理,通过ICMP传递差错信息。

  • ICMP:无连接,超时删除,按照ICMP报文对称性,当属于同一连接的ICMP报文完成请求这一应答过程之后,即可将其从状态连接表中删除。

状态检测优点

1.安全性高于静态包过滤,状态检测机制可以区分发送方和接受方。

2.提高效率,一开始对连接进行详细检查,之后添加规则通过,不用在同一连接执行重复的动作。

状态检测缺点

1.主要在网络层和传输层,对报文数据部分检查少,安全性有限。

2.检查内容多,对防火墙性能要求高;

最后推荐下朋友的github page : [Marsguest–留下生活中的点点滴滴](https://marsguest.github.io/
)

猜你喜欢

转载自blog.csdn.net/qq_40574571/article/details/79843955