包过滤、状态化、七层防火墙
包过滤防火墙:又被称为三层防火墙,笼统认为与ACL无异,针对IP包头拆开源IP与目的IP,原端口与目的端口进行匹配。
状态化防火墙:防火墙维护一个状态化记录表(默认只维护tcp/udp),当防火墙收到一个不在状态表中的包时,他会与过滤规则进行比较,不管这个包是syn,ack或者是其他什么包,如果过滤规则允许接受这个会话,那么这个会话就被加入转态连接表中去,后续的包都会与状态化连接表比较,如果会话在状态连接表中,则不再与过滤规则进行比较,状态化表大大减轻了防火墙的匹配规则资源,降低了使用性能。
状态检测机制
状态检测机制开启状态下,只有首包通过设备才能建立会话表项,后续包直接匹配会话表项进行转发。
状态检测机制关闭状态下,即使首包没有经过设备,后续宝只要通过设备也可以生成会话表项。
对于TCP报文
开启状态检测机制时,首包(SYN报文)建立会话表项。对除SYN报文以外的其他报文,如果没有对应会话表项(设备没有收到SYN报文或者会话表项已经老化),则予以丢弃,也不会建立会话表项。
关闭状态检测机制时,任何格式的报文在没有对应会话表项的情况下,只要通过各项安全机制的检查,都可以为其建立会话表项。
对于UDP报文
由于UDP是基于无连接的通信,任何UDP格式的报文在没有对应会话表项的情况下,只要通过各项安全机制的检查,都可以为其建立会话表项。
对于ICMP报文
开启状态检测机制时,没有对应会话表项的ICMP应答报文将被丢弃。
关闭状态检测机制时,没有对应会话表项的ICMP应答报文将以首包形式处理
转载于https://www.freebuf.com/articles/network/255486.html
状态检测"机制,是以流量为单位 来对报文进行检测和转发,即:对一条流量的第一个报文(首包)进行包过滤规则检查,第一次来的包(防火墙可以区分是去的,还是回的),并将判断结果作为该条流量的"状态"记录进会话表项,建立两个缓存的session(一个去包缓存、一个回包缓存),后续属于同一数据流的数据包匹配缓存表后放行
基于状态检测防火墙组成
在基于状态检测的防火墙中,有两张表:规则表 和 状态表(会话表)
规则表
规则表表示了防火墙的过滤规则
规则表由 六元组构成
sa | da | sp | dp | protocol_type | direction |
源地址 | 目的地址 | 源端口 | 目的端口 | 协议类型 | 数据流方向 |
状态表
状态表表示了数据包连接的属性
状态表由 九元组构成
protocol_type | state | sequence_number | Timeout | N |
协议类型 | 该次连接的状态 | TCP包序列号(其他此处为空) | 该次连接超时值 | 连接以通过数据包个数 |
前四项与规则表一致,此处省略
protocol_type:分为TCP、UDP、ICMP、其他协议
TCP数据包的检测流程
TCP是基于连接的协议,通过三次握手确保数据的稳定传输
在TCP连接首次建立的过程中:
- 发起连接的SYN报文只通过规则表的检查,
- 其余报文(非SYN数据包)则需要通过状态表的匹配
状态检测接口接收到 TCP 数据包后:
1:首先对 TCP 包进行完整性检查
和流量检查: 通过检查来判断数据包长度是否相等、物理地址是否正确等等
2:其次判断是否是 SYN 连接
3:若为SYN首包,由于TCP连接通过三次握手建立(SYN->SYN/ACK->ACK),所以在确认SYN为三次握手的首包,并匹配规则表后,会建立一个临时的"连接未完成表"——Pending表,Pending表是为还未进行的两次握手(SYN/ACK,ACK)建立的临时表,从而避免了后续的握手包还需要经过规则表匹配,提高效率
相关攻击及防御措施
伪造TCP报文防护
为了防止攻击者伪造TCP报文,攻击者可以伪造成与正常用户一样的6元组,这时需要通过9元组中的参数N,对TCP报文的序号(为了保证传输的可靠性,TCP对每一个报文都进行了编号,攻击者无从伪造编号)进行检测
SYN Flood攻击防护
为了防止SYN Flood等DDOS攻击,需要对超时时间进行限制(状态表九元组中Timeout表项),对超时未建立连接的SYN报文即使丢弃
包过滤、状态化、七层防火墙相关推荐
- linux 七层防火墙,iptables防火墙实现七层过滤对应用层的过滤
一)iptables防火墙实现七层过滤对应用层的过滤.(应用模块layer7) 图如下: 1)对内核先打补丁,打上layer7的模块,然后重新编译内核 tar xf netfilter-layer7- ...
- l4 l7 代理_什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?区别是什么? 翻译自Nginx官网...
阅读前的小说明: 由于工作需要,本人正在研究微服务架构.而微服务的服务网格( Service Mesh )架构中,需要选择一种 proxy 作为每个微服务之间通讯的代理.因此为了定夺微服务中常用的两种 ...
- 网络安全技术第七章——防火墙技术概述及应用(包过滤防火墙 、代理防火墙、状态检测防火墙、分布式防火墙)
防火墙技术概述及应用 防火墙技术概述及应用 1.防火墙的概念 2.高效可靠的防火墙应具备的基本特性 3.防火墙的基本功能 4.防火墙的基本原理 5.防火墙的类型 (1)包过滤防火墙 (2)代理防火墙 ...
- 什么是状态化包过滤防火墙
每日小知识伴你晚睡: 状态化包过滤防火墙: 定义:硬件防火墙的主流技术,为穿越TCP和UDP流维护状态花表项. 基本上每一个防火墙的厂商都有状态化包过滤的功能,比如说checkpoint netsc ...
- 网络七层协议和网络状态报错误对应表
网络七层协议: 7应用层:协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 功能:文件传输.电子邮件.文件服务.虚拟终端 6表示层:格式 ...
- 在Debian 4.0rc3上编译内核2.6.24时加入Layer7模块笔记[防火墙中在TCP/IP第七层Layer7应用层阻挡QQ,MSN等软件的应用]...
作者:何祖彬[RobinHe] Mail:zubin.he@gmail.com 始于2008年8月3日 上午 版本号:KernelLayer7-V1.0-20080803,2008年8月3日首版 转载 ...
- 网络流量分析详解(包含OSI七层模型、TCP协议及Wireshark工具用法)
网络流量分析 Network Traffic Analysis(NTA) 这个系列讲的是整个网络流量分析流程,其中包含TCP协议.HTTP协议详解和Wireshark.Tcpdump的详细用法,现在只 ...
- 网络之OSI七层模型
观前提示:本篇博客演示使用的 IDEA 版本为2021.3.3版本,使用的是Java8(又名jdk1.8) 电脑使用的操作系统版本为 Windows 10 目录 网络初识 1.计算机与网络 1.1 计 ...
- 第四层到第七层的高层交换技术及其应用
1 前言 Internet的特点就是不断变化发展,目前网络上的信息量和业务量都呈现爆炸性的增长趋势.不断增长的负荷和新需求的出现,使得用单台服务器处理应用服务的结构已成为过去,取而代之的是以单一虚拟 ...
最新文章
- python使用fpdf生成pdf文件章节(chapter),包含:页眉、页脚、章节主题、数据排版等;
- 存储过程--分页与C#代码调用
- Confluence 6 SQL Server 测试你的数据库连接
- DataTables选择多行
- 如何在JavaServer Pages中使用Salesforce REST API
- linux进程号为一,一步步探究linux进程中的用户ID
- MTK 驱动开发(31)---Sensor 移植及调试1
- Navicat Premium 12 安装教程 + 注册机 Navicat_Keygen_Patch_v5.0_By_DFoX_CHS [附资源]
- mac os android 线刷,Mac系统下使用Fastboot线刷安卓设备
- 【Jenkins】windows系统下Jenkins的下载、安装与启动
- Ubuntu 18.04安装c++版OpenCV4
- realsense相机色彩图与深度图对齐
- C++ Primer Plus 学习笔记(十一)
- ORA-01790: expression must have same datatype as corresponding expression
- Mask rcnn代码实现_pytorch版_适用30系列显卡
- arduino摄像头监控_如何使用Arduino和Pusher制作实时光监控器
- vm打开虚拟机提示“未能启动虚拟机“解决方案
- RadioButton设置默认选中后无法取消,可选中多个的问题
- 蜗牛星际之安装PVE+LEDE+群辉
- 服务器组装风扇,服务器配件之风扇篇