防火墙技术

一、防火墙的基本概念

1.定义

2.安全区域和接口

✅ 关键特性

  • 一个物理接口只能属于一个安全区域

  • 区域间流量必须通过策略显式允许(默认拒绝所有)

3.多安全区域

4.默认安全规则-ACL与安全级别

4.1 ACL(访问控制列表)

类型工作层级特点
标准ACL网络层(L3)仅基于源IP过滤(如access-list 1 deny 192.168.1.0 0.0.0.255
扩展ACL传输层(L4)基于五元组(源/目标IP、端口、协议)过滤

⚠️ 局限

  • 传统ACL无状态检测(无法跟踪TCP连接状态)

  • 策略复杂度随规则数量指数级增长

4.2 安全级别(Security Level)

数值化信任等级:每个安全区域被赋予1-100的整数值,值越大越可信越重要

区域典型安全级别说明
Management100最高权限(设备配置入口)
Trust85内网用户区域
DMZ50服务器隔离区
Untrust5互联网(最低信任)

4.3安全级别核心作用

自动化策略生成

  • 高→低安全级别:默认允许出站(如Trust→Untrust)

  • 低→高安全级别:默认拒绝入站(如Untrust→Trust)

❓路由器和防火墙的区别 

路由器和防火墙的根本区别在于设计目标:路由器解决网络连通问题,防火墙解决网络安全问题。  
具体表现在:
路由器通过路由表决策转发路径,核心指标是吞吐量和低延迟;
防火墙通过安全策略过滤流量,核心能力是深度包检测和威胁防御。

二、防火墙的发展历史

三、防火墙工作层次

四、防火墙的类型

1.包过滤防火墙

1.1工作层级

网络层(Layer 3)和传输层(Layer 4)

1.2原理

检查每个数据包的源IP、目标IP、端口号(如TCP/UDP)、协议类型(如ICMP/TCP) 等头部信息,根据预设规则(ACL)决定允许或丢弃数据包。(跟交换机包过滤功能相似)

1.3优点和缺点:

✅ 高效低延迟:仅检查包头,处理速度快,性能高,可以用硬件实现原理。

缺点技术原理说明实际风险案例
不能根据状态信息控制无状态表记录会话,无法识别非法数据包(如未经三次握手的ACK包)攻击者可发送伪造ACK包绕过防火墙
前后报文无关每个包独立检测,不关联上下文(如FTP需动态开放端口,包过滤无法自动跟踪)FTP被动模式需手动开放大范围端口→安全漏洞
不能处理网络层以上信息仅解析到L4头部,无法检查应用层载荷(如HTTP内容)放行携带SQL注入的HTTP流量
ACL配置复杂大型网络需数百条规则,易出现规则冲突或遗漏规则顺序错误导致策略失效
不能防应用层攻击无法识别恶意内容(如病毒、跨站脚本)电子邮件附件病毒穿透防火墙
不支持连接认证无法绑定用户身份(如AD账号)到访问策略内部员工滥用权限访问敏感服务
仅对某些攻击敏感对IP欺骗、端口扫描等基础攻击有效,但对高级威胁(如APT)无效高级持续性威胁(APT)长期潜伏

典型设备:传统路由器、基础防火墙。

包过滤的缺陷直接推动了技术演进:

  1. 状态防火墙 → 解决“无状态控制”问题(跟踪TCP会话)

  2. 应用网关 → 解决“应用层攻击”问题(解析HTTP/SMTP内容)

  3. NGFW → 整合状态检测+应用识别+用户认证+威胁情报

💡 例如:

  • 包过滤:可阻止外部访问内网TCP 3389(RDP端口)

  • NGFW:进一步做到 →
    “仅允许认证用户Alice从公司VPN IP访问内网TCP 3389,且检测RDP协议中的暴力破解行为”

2. 状态检测防火墙

状态检测防火墙通过维护会话状态表解决了包过滤防火墙"无状态"的根本缺陷。

2.1 概述

“根据通信和应用程序状态确定是否允许包的通行”

本质区别

  • 包过滤防火墙 → 只检查单个数据包的IP/端口

  • 状态检测防火墙 → 分析历史通信上下文(如TCP握手是否完成)

2. 流量方向智能识别

“识别返回数据流还是首发数据流”

动态放行策略

  • 内网PC访问服务器 → 主动发起连接(创建会话)

  • 服务器返回响应 → 匹配已有会话直接放行(无需重复检查规则)

3. 性能优化机制

“根据状态表识别判断,无需重复查找规则”

会话表 vs 规则表

项目规则表(ACL)会话表(State Table)
检查方式逐条匹配(可能上百条)哈希快速查询(微秒级)
生效阶段仅新连接首包后续所有报文
存储内容静态策略(如允许192.168.1.0访问)动态连接状态(如TCP ESTABLISHED)

4. 状态跟踪技术细节

“保持连接状态的跟踪,通过TCP头的SYN/RST/ACK/FIN确定状态”

2.2 工作层级:

网络层、传输层、会话层

2.3 流和会话

1. 流—— 单向的数据管道

📌 技术定义

  • 本质:一组同方向、同特征的数据包集合

  • 标识依据(防火墙如何识别一个流?):

    协议类型唯一标识流的参数示例(五元组)
    TCP/UDP五元组源IP:源端口 → 目标IP:目标端口+协议
    ICMP三元组+Type+Code源IP → 目标IP + ICMP Type 8(请求)
    RAW IP三元组源IP → 目标IP + 协议号(如OSPF)

✅ 关键流是单向的!例如:

  • 客户端发往服务器的HTTP请求 → 一个TCP流

  • 服务器返回客户端的HTTP响应 → 另一个独立TCP流

2.  会话 —— 双向的通信关联

📌 技术定义

  • 本质:将两个反向流逻辑关联为一个完整通信过程

  • 创建时机:当防火墙检测到合法连接建立(如TCP三次握手成功)

  • 会话ID生成:取任一方向 流的特征 均可反向定位整个会话

✅ 关键区别:包过滤是“看单个包裹的寄件人信息”,状态检测是“全程跟踪快递物流状态”。

2.4 核心工作原理

动态跟踪连接状态(如TCP三次握手、UDP会话),建立"状态表"记录会话信息。只允许符合已建立会话或预定义规则的数据包通过。

1.会话表—— 防火墙的“记忆中枢”

五大元素(五元组)

  • 会话表本质
    防火墙内存中的动态数据库,记录所有活跃连接的状态(如TCP握手阶段、数据传输中)。

  • 五元组组合必须在整个管理范围内保持唯一,可以允许某个源ip一样,不可以五元组完全一致。

2.会话创建逻辑--不同协议,会话创建不一样
协议类型会话创建时机技术原理说明
TCP完成三次握手后需验证SYN→SYN-ACK→ACK序列
UDP首包通过时立即创建模拟会话(如DNS请求)
ICMP首包通过时立即创建匹配请求与响应(如Ping)
多通道协议需ALG(应用层网关)辅助创建如FTP需解析PORT/PASV命令动态建会话

📌 
ALG 是解决FTP等协议多端口问题的关键组件,它解析应用层协议内容,动态开放端口。

3. 会话表示例

2.5 报文到达防火墙时的决策逻辑

2.6 优缺点

类别具体内容补充说明
优点知晓连接状态,更加安全基于状态表动态跟踪连接会话,可识别合法连接上下文,抵御非法连接渗透,相比静态包过滤防火墙,对网络访问控制更精准
缺点不能检测应用层协议内容,如 URL 过滤缺乏应用层深度解析能力,无法识别 HTTP 请求中 URL 含有的恶意指令、非法内容,难以阻断应用层违规访问
不能阻止应用层攻击,不能连接认证对 SQL 注入、XSS 跨站脚本等应用层攻击无检测拦截能力;未集成身份认证机制,无法验证连接发起者真实身份,存在身份冒充风险
不是所有的协议都有状态:UDP、ICMPUDP 为无连接协议、ICMP 以控制消息为主,状态检测难以完整维护其会话状态,处理这类协议流量时,安全策略应用效果受限
不能支持多连接或多通道连接如 FTP 等FTP 存在控制连接、数据连接分离的多通道场景,状态检测难以协同管控多通道交互,易出现连接混乱、安全策略失效问题

❓TCP访问Web服务器全流程

假设防火墙初始会话表为空,域间规则:允许内网(192.168.1.0/24)访问外网HTTP

步骤事件五元组匹配会话表?域间规则检查防火墙动作
1内网PC发送SYN包源:192.168.1.100:54321
目标:203.0.113.5:80
协议:TCP
❌ 无会话✅ 允许内→外HTTP创建会话临时条目
状态:SYN_SENT
转发SYN包
2服务器回复SYN-ACK源:203.0.113.5:80
目标:192.168.1.100:54321
协议:TCP
❌ 无会话(反向流)✅ 允许返回流量升级会话状态
状态:SYN_RECEIVED
转发SYN-ACK
3PC发送ACK源:192.168.1.100:54321
目标:203.0.113.5:80
协议:TCP
✅ 匹配会话-更新会话为ESTABLISHED
直接转发ACK
4PC发送HTTP请求同步骤3五元组✅ 匹配会话-直接转发
5服务器返回HTTP响应同步骤2五元组✅ 匹配会话-直接转发

💡 关键洞察
仅步骤1需要检查域间规则!后续所有报文(步骤2-5)均通过会话表高速转发,性能提升10倍以上!

注1 :防火墙缺省下,高级别区域的能访问低级别 区域,低级别区域不能访问高级别区域。

如果 低级别区域想要访问高级别区域 怎么办?

低级别区域访问高级别区域的唯一途径:管理员手动配置安全策略,明确指定:
源区域 + 目的区域 + 放行的 IP / 端口
并遵循 最小特权原则 和 纵深防御架构。


3. 应用层网关防火墙

3.1 概述

3.2工作层级:

应用层(主要)、网络层、传输层、会话层

3.3原理

作为客户端与服务器的"中间人",完全解析应用层协议(如HTTP、FTP)。客户端先连接代理,代理再代表客户端与服务器通信。

典型应用:Web应用防火墙(WAF)、邮件网关。

❓FTP 在 NAT 环境下出现“能登录但不能传文件”的问题

FTP 使用 两个独立的 TCP 连接

  • 控制连接: 用于发送命令和接收命令响应。这个连接始终客户端主动发起,连接到服务器的端口 21(默认)。

  • 数据连接: 专门用于传输实际的文件列表和文件内容(RETR下载, STOR上传)。

“登录”使用的控制连接是客户端发起的(C-Ctrl -> Server:21)。这种由内向外的连接 NAT 能够完美处理。

“不能下载”:如果你使用的是 主动模式

  • 客户端在 NAT 后面,它的真实 IP (Client_IP) 是一个私有 IP(如 192.168.1.100)。它把这个私有 IP 和端口 C-Data 告诉了服务器。

  • 服务器(在公网上)收到这个命令,它尝试连接 192.168.1.100:C-Data。但这个地址在公网上是无效的,公网上的路由器根本不知道这个地址在哪里!服务器无法找到位于 NAT 路由器后面的客户端。

  • 结果:数据连接无法建立。客户端登录成功(控制连接由客户端发起,NAT 能处理),但 LIST(列目录)或 RETR(下载文件)等需要数据连接的命令就会挂起或超时报错。

3.5 引入ALG解决上述问题

ALG(Application Layer Gateway,应用层网关)是防火墙中解决多通道协议通信障碍的核心技术。

1.概述


2.工作过程
步骤1:客户端发起控制连接(ALG监听)

步骤2:ALG截获并处理(关键!)

步骤3:服务器响应

步骤4:服务器发起数据连接(ALG放行)

3.6 优缺点

类别详情解释
优点支持连接身份认证,能检测应用层数据;如上网认证,URL 过滤,关键字等行为管理应用层网关可深入到应用层数据,对用户身份(像员工上网认证)、访问的网址(URL 过滤)、传输内容里的关键字等进行检查管控,精准规范网络行为,保障网络访问符合安全策略
缺点用软件来处理,消耗系统资源依靠软件解析、处理应用层数据,需占用 CPU 运算、内存存储等系统资源,数据量大或多任务时,易使设备性能下降
缺点仅支持 TCP 应用(如 http telnet https ftp )受设计和实现限制,主要适配基于 TCP 协议的应用,像常见的网页浏览(http/https )、远程登录(telnet )、文件传输(ftp )等,对 UDP 等其他协议应用(如 DNS udp 、实时音视频常用 UDP ),无法有效作为应用层网关工作
缺点可能需要额外的客户端软件为实现身份认证、数据检测等功能,有时要在用户终端安装配套客户端程序,增加用户部署成本与操作复杂度,还可能因客户端与系统不兼容引发问题

4. 电路级网关

  • 工作层级:会话层(Layer 5)

  • 原理
    在传输层建立"虚拟电路",转发流量时不深入检查应用层内容,仅验证会话合法性(如TCP握手是否完成)。

  • 特点

    • ✅ 隐藏内部网络拓扑:外部仅看到网关IP。

    • ⚠️ 不检查数据内容:无法防御应用层威胁。

    • 🔄 常与其他防火墙组合使用(如SOCKS代理)。

  • 典型场景:VPN网关、SOCKS代理服务器。


5. 下一代防火墙(NGFW, Next-Generation Firewall)

  • 工作层级:多层融合(L3-L7)

  • 原理
    整合传统状态检测、深度包检测(DPI)、应用识别(如识别微信/抖音)、入侵防御(IPS)、用户身份管理等功能。

  • 核心能力

    • 应用识别与控制:基于应用类型(非端口)制定策略。

    • 威胁情报集成:实时拦截已知恶意IP/域名。

    • 可视化与策略联动:结合用户身份、设备类型动态调整规则。

  • 典型设备:Palo Alto PA-Series、Check Point NGFW。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值