什么是防火墙

简介

防火墙也被称为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统,可以将内部网络和外部网络隔离。通常,防火墙可以保护内部/私有局域网免受外部攻击,并防止重要数据泄露。在没有防火墙的情况下,路由器会在内部网络和外部网络之间盲目传递流量且没有过滤机制,而防火墙不仅能够监控流量,还能够阻止未经授权的流量

ELK 防火墙_网络

安全区域

防火墙安全区域是一个非常重要的概念,简称为区域(Zone)。 安全区域是一个或多个接口的集合,是防火墙区别于路由器的主要特征。 防火墙默认情况下为我们提供了三个安全区域,分别是 Trust、DMZ和Untrust 。 Trust区域 ,该区域内网络的受信任程度高,通常用来定义内部用户所在的网络。 DMZ区域 ,该区域内网络的受信任程度中等,通常用来定义内部服务器所在的网络。

ELK 防火墙_ELK 防火墙_02

状态防火墙的工作原理

基本运行模式简述

状态检测"机制,是以流量为单位 来对报文进行检测和转发,即:**对一条流量的第一个报文(首包)进行包过滤规则检查,**第一次来的包(防火墙可以区分是去的,还是回的),并将判断结果作为该条流量的"状态"记录进会话表项,建立两个缓存的session(一个去包缓存、一个回包缓存),后续属于同一数据流的数据包匹配缓存表后放行

基于状态检测防火墙组成

在基于状态检测的防火墙中,有两张表:规则表 和 状态表(会话表)

规则表

规则表表示了防火墙的过滤规则
规则表由 六元组构成

sa

da

sp

dp

protocol_type

direction

源地址

目标地址

源端口

目标端口

协议号

数据类型

状态表

状态表表示了数据包连接的属性
状态表由 九元组构成

protocol_type

state

sequence_number

Timeout

N

协议类型

该次连接的状态

TCP包序列号(其他此处为空)

该次连接超时值

连接以通过数据包个数

前四项与规则表一致,此处省略protocol_type:分为TCP、UDP、ICMP、其他协议

三大模块

●协议处理模块

针对数据链路层和网络层进行过滤

●规则匹配模块

根据事先配置的规则对数据包进行过滤

●状态检测模块

分析协议的工作原理和流程

ELK 防火墙_网络_03


1:数据包首先会到达状态检查模块,通过对数据包分析、提取数据包报文头文件信息,检查数据包是否符合在状态表中某个已经建立的有效的会话连接记录,如符合记录则根据报文头信息更新状态表并放行。

2:若与状态表中无匹配表项,则检测其与规则表是否匹配,不匹配直接丢弃

3:若匹配进一步判断是否允许建立新连接,这时根据 IP 协议承载的上层不同

协议类型建立新表项,最终报文加载状态信息进行处理。

TCP数据包的检测流程

TCP是基于连接的协议,通过三次握手确保数据的稳定传输

在TCP连接首次建立的过程中
●发起连接的SYN报文只通过规则表的检查,
●其余报文(非SYN数据包)则需要通过状态表的匹配
状态检测接口接收到 TCP 数据包后:
1:首先对 TCP 包进行完整性检查和流量检查:
通过检查来判断数据包长度是否相等、物理地址是否正确等等
2:其次判断是否是 SYN 连接
3:若为SYN首包,由于TCP连接通过三次握手建立(SYN->SYN/ACK->ACK),所以在确认SYN为三次握手的首包,并匹配规则表后,会建立一个临时的"连接未完成表"——Pending表,Pending表是为还未进行的两次握手(SYN/ACK,ACK)建立的临时表,从而避免了后续的握手包还需要经过规则表匹配,提高效率