防火墙的状态检测和会话技术
一、防火墙的检测机制
早期包过滤防火墙
- 采用逐包检测机制,对每个报文独立检测其源地址、目的地址、端口等信息,根据预设规则决定转发或丢弃。
- 安全隐患:仅基于单包信息判断,无法识别连接状态。例如,若规则允许 PC(1.1.1.1)访问 Web 服务器(2.2.2.2:80),则可能存在伪造回复报文的风险。
状态检测机制
- 以流量为单位检测:对一条流量的第一个报文(首包)执行包过滤规则检测,记录判断结果作为 “状态”;后续报文直接沿用该 “状态” 转发或丢弃,无需重复检测内容。
- 优势:减少重复检测,提升转发效率,同时通过记录连接状态增强安全性。
二、会话与会话表
会话的定义
- 会话是通信双方在防火墙上的连接状态体现,一条会话代表一个连接,多个会话的集合称为会话表。
- 核心作用:通过记录连接状态,确保后续报文快速匹配转发。
会话表的查看命令
- 查看所有会话表:
[FW]display firewall session table
- 查看会话详情(含五元组等):
[FW]display firewall session table verbose
- 查看所有会话表:
五元组
- 用于唯一标识一条会话,包括:源 IP 地址、目的 IP 地址、源端口、目的端口、协议类型。
会话的 TTL(生存时间)
- 会话并非永久存在,会随时间老化,不同协议的 TTL 不同:
- ICMP:20 秒
- DNS:30 秒
- HTTP:10 秒
- 长连接:匹配 ACL 规则的报文可延长老化时间。
- 会话并非永久存在,会随时间老化,不同协议的 TTL 不同:
三、TCP 状态检测特殊逻辑

- 会话创建条件:仅当防火墙收到 TCP 的SYN 报文,且安全策略允许时,才会创建会话;后续的 SYN+ACK、ACK 报文直接匹配会话转发。
- 异常处理:若未收到 SYN 报文,仅收到 SYN+ACK 或后续报文,防火墙会丢弃该报文(因无法创建会话)。
- 报文路径不一致问题:若首包未经过防火墙,后续报文因无会话信息会被丢弃,解决方式为关闭状态检测(退回包过滤机制)。
四、ASPF 机制(应用层状态检测)
- 原理:针对应用层协议(如 FTP),检测报文的应用层信息,记录关键数据到Server-map 表,使未在安全策略中明确定义的报文(如 FTP 数据连接)可正常转发。
- Server-map 表与会话表的区别:
- 会话表:记录当前连接的状态,基于首包生成。
- Server-map 表:记录 “预测信息”(如 FTP 数据连接的端口),用于放行后续动态协商的报文。
- 默认开启场景:FTP 协议的 ASPF 机制默认开启,以支持其控制连接与数据连接的动态协商。
传输模式
主动模式
被动模式PASV
防火墙的用户认证
一、用户分类
- 上网用户:内部网络用户,可直接通过防火墙访问网络资源。
- 接入用户:外部网络用户,需先通过 VPN 接入企业网络,再访问内部资源。
二、认证方式
认证方式 | 说明 |
---|---|
本地认证 | 在防火墙本地完成认证,使用 Portal 页面交互 |
服务器认证 | 账号密码存储在外部服务器(如 RADIUS、HWTACACS、AD、LDAP 服务器) |
单点登录 | 由外部服务器(如 AD、Agile Controller)完成认证,防火墙仅记录身份信息 |
三、用户架构
- 认证域:用于区分用户所属范围,默认存在
default
认证域;新建认证域的用户登录时需携带完整用户名(如user002@aaa
,其中aaa
为认证域)。 - 层级关系:认证域包含用户组(如部门),用户组包含用户;支持跨部门群组(对应安全组)。
四、认证策略与动作
- 认证策略:定义需要认证的流量,匹配策略的流量必须通过身份认证才能放行(默认不对任何流量认证)。
- 认证动作:
- 会话认证:针对 HTTP 业务,防火墙主动推送认证界面。
- 事前认证:针对非 HTTP 业务,用户需主动访问认证页面。
- 免认证:无需输入账号密码,但防火墙会记录用户的 IP/MAC 绑定信息。
认证流程
第八章 NAT(网络地址转换)与智能选路
一、NAT 基本概念
- 作用:解决私网地址无法直接访问公网的问题,通过替换 IP 地址(或端口)实现私网与公网的通信。
- 核心逻辑:将私网地址 + 端口转换为(公网地址 + 端口),或反之。
二、NAT 分类及特点
1. 源 NAT(内部用户访问外部)
类型 | 私网与公网 IP 对应关系 | 是否转换端口 | 适用场景 |
---|---|---|---|
NAT No-PAT | 一对一 | 否 | 少量私网用户需固定公网 IP 访问外部 |
NAPT | 多对一 / 多对多 | 是 | 大量私网用户共享公网 IP |
出接口地址(Easy-IP) | 多对一(借用出接口公网 IP) | 是 | 公网 IP 动态获取的场景(如家庭宽带) |
Smart NAT(高端设备) | 优先一对一,预留 IP 做 NAPT | 部分转换 | 防止用户数量激增导致公网 IP 不足 |
三元组 NAT(高端设备) | 多对一 / 多对多 | 是 | P2P 应用,需保持端口一致性及支持外网主动访问 |
2. 服务器映射(外部用户访问内部服务器)
- 静态映射:公网地址与私网服务器地址一对一绑定,实现外部用户访问。
三、NAT 配置关键逻辑
- 地址池:存放用于转换的公网 IP,配置命令示例(以 NAT No-PAT 为例):
[FW]nat address-group nat_address_1 # 创建地址池 [FW-address-group-nat_address_1]mode no-pat global # 设定模式 [FW-address-group-nat_address_1]section 202.10.1.10 # 添加公网IP
- NAT 策略:由条件(源 / 目的区域、地址等)和动作(如
source-nat address-group nat_address_1
)组成,需与安全策略配合(安全策略检测先于 NAT 转换)。
四、Server-map 表在 NAT 中的作用
- NAT No-PAT 和三元组 NAT 会生成正反两条 Server-map 表项,用于快速匹配转换规则,避免重复执行 NAT 策略检测。
- 示例(NAT No-PAT 的 Server-map 表):
Type:No-Pat,192.168.1.1[202.10.1.10]->ANY # 私网到公网方向 Type:No-Pat Reverse,ANY->202.10.1.10[192.168.1.1] # 公网到私网反向
五、特殊说明
- NAPT 不生成 Server-map 表项,依赖会话表转发。
- 三元组 NAT 通过
full-cone
模式实现端口一致性,支持外网主动访问,可通过firewall endpoint-independent filter enable
关闭安全策略控制。