《信息安全原理与技术》期末考点|包过滤规则实例(SMTP)【万字完整版】

发布时间:2026/11/5 1:57:47
《信息安全原理与技术》期末考点|包过滤规则实例(SMTP)【万字完整版】

《信息安全原理与技术》期末考点|包过滤规则实例(SMTP)【万字完整版】

适配教材:郭亚军《信息安全技术(第4版)》
适用场景:本科期末考试 / 金管局科技岗笔试
内容包含:原理溯源、TCP 三次握手前置铺垫、两张规则表逐行拆解、漏洞原理、修正逻辑、同类易混对比、简答题题库、选择题坑点、画图思路、论述题标准答案、背诵提纲
全文核心:围绕 SMTP 包过滤防火墙经典案例展开,适合直接打印背诵 📄


📑 目录

  • 一、前置基础考点(必须先掌握)
  • 二、基础版包过滤规则表逐行拆解(原始 D 规则漏洞分析)
  • 三、修正版安全规则表逐字段拆解(期末背诵核心)
  • 四、全题核心简答题库(按考频排序)
  • 五、选择题高频坑点汇总
  • 六、论述题完整版标准答案(15 分大题)
  • 七、精简背诵版(考前速记)
  • 八、同类型考点延伸(举一反三)
  • 九、易混淆概念辨析

一、前置基础考点

⚠️ 这部分必须先掌握,否则看不懂后面的 SMTP 包过滤案例!

1.1 包过滤防火墙基本原理

包过滤防火墙(网络层防火墙)是防火墙三大类型里最基础、期末最高频考察的一类:

  • 工作层次:OSI 模型的网络层、传输层
  • 读取信息:IP 首部与 TCP/UDP 首部信息
  • 工作机制:根据预先配置的规则表对 IP 数据包进行匹配,匹配成功就执行预设动作(允许 / 丢弃)

🔑核心规则(选择题、简答题第一大坑):
规则匹配顺序是自上而下、顺序匹配,一旦命中某一条规则就不再向下匹配,末尾一条通常是默认丢弃规则(拒绝所有没有被前面规则放行的流量)——这是本案例一切分析的大前提。

1.2 包过滤能检查哪些字段?

可检查字段说明
源 IP 地址报文来自哪台主机
目的 IP 地址报文发往哪台主机
传输层协议TCP / UDP / ICMP
源端口号发起方端口
目的端口号接收方端口

💥关键考点:基础简陋包过滤防火墙早期版本不支持读取 TCP 标志位(SYN、ACK、FIN、RST 等)——这就是原始版本 D 规则产生安全缺陷的根源!

支持 TCP 标志位检测的包过滤,属于增强型包过滤,也叫有状态包过滤(状态检测防火墙雏形)。

📌高频辨析题:

  • 无状态包过滤:只看包头静态字段,无法区分“主动发起连接的 SYN 包”和“已有连接的应答 ACK 包”
  • 有状态包过滤:可以结合 TCP 会话状态、标志位判断报文归属

1.3 TCP 标志位两个核心(本案例只用到 SYN 和 ACK)

标志位全称含义
SYN同步位只有建立新 TCP 连接的发起报文才会携带 SYN 标志,SYN=1 代表请求新建连接
ACK确认位除了三次握手第一个 SYN 包之外,后续所有确认报文都携带 ACK=1

正常 TCP 三次握手流程:

服务端客户端服务端客户端"① SYN (请求建立连接)""② SYN + ACK (同意并回应)""③ ACK (确认,连接建立完成)"

🎯核心区分一句话:
带 SYN 的包 = 尝试发起新连接;只有 ACK、不带 SYN 的包 = 已有连接的回应报文。

1.4 端口号划分规则(本题高频配套考点)

端口范围类别典型服务
0 – 1023公认端口(知名端口)SMTP25、HTTP80、HTTPS443、FTP21
1024 – 49151注册端口—
49152 – 65535动态 / 私有临时端口—

⚠️答题注意:教材案例里简化表述统一写成>1023,把 1024 以上全部当作客户端临时端口。这是考题标准简化写法,答题时直接沿用“大于 1023 的高端口为客户端临时端口”即可,不要自行区分 49152 分界,避免和标准答案冲突!

1.5 SMTP 协议基础

  • 全称:简单邮件传输协议(Simple Mail Transfer Protocol)
  • 功能:负责邮件发送、邮件服务器之间转发邮件
  • 传输层:依托TCP
  • 固定服务端口:25

通信模型分两种:

  1. 内网用户(邮件客户端)主动向外网 SMTP 服务器投递邮件
  2. 外网 SMTP 服务器向内网邮件服务器投递邮件

防火墙部署在内网和外网边界,流量方向定义(⚠️ 绝对不能搞反,表格、简答、画图全部以此为准):

方向定义
入方向数据包从外网(外部)流向内网(内部)
出方向数据包从内网(内部)流向外网(外部)

二、基础版规则表

📝考察形式:给这张表,要求找出漏洞、说明漏洞原理、写出攻击场景、给出修改方案——期末论述原题!

2.1 原始规则表(存在严重安全缺陷)

规则方向源地址目的地址协议目的端口动作
A入外部内部TCP25允许
B出内部外部TCP>1023允许
C出内部外部TCP25允许
D入外部内部TCP>1023允许
E任何任何任何任何任何丢弃

2.2 逐行逐条解析每条规则含义

✅ 规则 A:放行外部访问内网 25 端口

入方向流量,源地址外网、目的地址内网,TCP 协议,目的端口 25 →放行。

含义:允许外部主机主动访问内网 25 端口,即外网的 SMTP 服务器可以向内网邮件服务器发送邮件,满足内网邮件服务器接收外部邮件的业务需求。这条规则本身业务合理,没有漏洞。

⚪ 规则 B:放行内网访问外网高端口

出方向流量,源内网、目的外网,TCP,目的端口 >1023 →放行。

含义:内网主机主动访问外网主机的高端口服务。在本案例 SMTP 场景里属于配套通用放行规则,不属于 SMTP 核心流量,考题里一般不作为分析重点。

✅ 规则 C:放行内网向外发起 SMTP 连接

出方向流量,源内网、目的外网,TCP,目的端口 25 →放行。

含义:允许内网主机向外发起 SMTP 连接,内网用户向外发送邮件、内网邮件客户端连接外网 SMTP 服务器发信。这是SMTP 出站核心业务规则,业务逻辑正确,无漏洞。

🔴 规则 D:漏洞所在行,全题重中之重!

入方向流量,源外网、目的内网,TCP,目的端口 >1023 → 放行

原始规则设计意图:

内网主机向外发起 SMTP 连接时,操作系统会随机分配一个大于 1023 的临时端口作为自身客户端端口;外网 SMTP 服务器收到内网发过来的邮件请求之后,回复应答报文,应答报文的目的端口就是内网这个临时高端口。设计者初衷是放行这一类返回的应答包,保障内网向外发邮件之后能够收到服务器返回的确认报文。

但是!这个原始规则只检查【目的端口 >1023】这一个条件,没有检查 TCP 标志位!

防火墙拿到数据包只能看到:入方向、外网来、去内网、TCP、目的端口 >1023,直接放行。它没有办法区分两件完全不一样的事情:

情况流量性质具体报文
情况 1✅ 合法流量内网先发起向外 SMTP 连接,外网服务器返回的ACK 应答包
情况 2🔴 恶意流量外网攻击者主动构造TCP SYN 包,源地址任意外网地址,目的地址内网主机 IP,目的端口随便填一个大于 1023 的端口,直接向内网发起新连接扫描、入侵

因为规则 D 没有 SYN/ACK 校验,只要满足「入、外→内、TCP、目的端口 >1023」,不管包带不带 SYN,全部放行。攻击者就可以利用这条规则穿透防火墙,主动对内网主机高端口进行端口扫描、木马反向连接渗透、漏洞攻击。

⚙️ 规则 E:默认丢弃兜底

所有没有匹配到 A/B/C/D 任意一条的数据包,全部丢弃。这是包过滤标准兜底策略——默认拒绝原则,安全设计的常规做法,本身无问题。

2.3 原始 D 漏洞完整攻击场景(论述题可直接默写)

第一步:合法业务背景

内网用户想要向外发送邮件:内网主机 IP192.168.1.10,随机分配临时端口1025,访问外网 SMTP 服务器203.0.113.5的 TCP 25 端口。连接建立之后,外网服务器回复报文:

源IP:203.0.113.5 源端口:25 目的IP:192.168.1.10 目的端口:1025 TCP标志:ACK

这个报文是合法应答,设计者希望放行。✔️

第二步:攻击者构造恶意数据包

源IP:攻击者公网IP(任意) 目的IP:192.168.1.10 目的端口:1025(或任意>1023端口) TCP标志:SYN

这个数据包同样满足规则 D 全部匹配项:入方向、外部→内部、TCP、目的端口 >1023。防火墙直接放行这个 SYN 包,等于允许外网攻击者主动向内网主机 1025 端口发起 TCP 连接!

第三步:攻击后果

  • 内网主机上如果恰好有监听 1025 端口的木马、后台服务,攻击者就可以建立 TCP 会话,控制内网主机;
  • 哪怕没有服务,攻击者也可以批量遍历所有 >1023 端口,对内网做端口扫描,探测内网开放端口,收集内网资产信息,为后续渗透做准备。

🎯一句话总结漏洞本质:
无状态单纯依靠端口过滤,无法区分“会话应答报文”和“外部主动新建连接报文”,把应答通道变成了外部主动入侵内网的通道。

2.4 配套简答设问:为什么不能简单删掉 D 规则?

❌很多同学的答题误区:漏洞是 D 导致的,那直接删掉 D 行不行?

答案:不行!

如果直接删除 D 规则,内网主机向外发起 SMTP 连接之后,外网 SMTP 服务器返回的应答报文(目的端口是内网临时高端口 >1023),没有规则匹配,最终命中 E 默认丢弃规则,应答包被丢掉,TCP 连接无法正常通信,内网用户发邮件这个业务直接失效。

✅ 所以解决方案不是删掉 D,而是给 D 规则增加更多约束条件,缩小放行范围,只放行合法的应答包,拦截外部主动发起的 SYN 新建连接包——这就是修正版 D 规则的设计思想。


三、修正版规则表

📝考题最爱考对比:写出改进后的 D 规则字段、解释每个字段约束的意义、对比新旧 D 差异。

3.1 修正后规则表(期末背诵核心表)

规则方向源地址源端口目的地址目的端口协议标志动作
D入外部25内部>1023TCPACK允许

📌说明:A、B、C、E 四条规则业务逻辑不变,表格只修改 D 规则,增加源端口、TCP 标志两个校验字段——这是增强型包过滤防火墙,支持解析 TCP 头部标志位。

3.2 修正版 D 规则逐字段拆解(简答踩分点,一个字段一分)

序号字段取值约束意义
1方向入依旧是外网流向内网的报文,和原来一致
2源地址外部报文来自外网
3源端口25⭐报文的源端口必须是 SMTP 服务端口 25。合法应答报文只能来自外网 SMTP 服务器,其服务端口固定 25;攻击者主动发起的扫描包,源端口一般是随机高端口,天然不满足此条件——第一层过滤
4目的地址内部目标在内网
5目的端口>1023目标端口是内网主机向外发起连接时分配的客户端临时端口,和原来一致
6协议TCPSMTP 基于 TCP
7标志ACK⭐报文必须携带 ACK 标志。ACK 标志意味着这是确认应答报文,不是携带 SYN 的新建连接请求报文。SYN 包不会单独携带 ACK 标志;外部想要发起新连接,必须发送 SYN=1 的报文,SYN 报文无法匹配本条规则
8动作允许同时满足以上全部条件才放行

3.3 合法流量匹配演示(内网向外发邮件正常流程)

外网SMTP服务器203.0.113.5:25防火墙内网主机192.168.1.10:1026外网SMTP服务器203.0.113.5:25防火墙内网主机192.168.1.10:1026"匹配规则C内→外 ✔ 放行""匹配修正版D规则逐项核对:入方向 ✔ 外部 ✔ 源端口25 ✔ 内部 ✔目的端口大于1023 ✔ TCP ✔ ACK ✔全部命中 → 允许通行 ✅""TCP连接正常建立,邮件传输正常,业务不受影响 🎉""① 发送SYN包 (出方向, TCP目的端口25)""转发 SYN 包""② 回复确认报文源IP=203.0.113.5, 源端口=25目的IP=192.168.1.10, 目的端口=1026TCP标志=ACK""转发 ACK 包"

3.4 恶意攻击流量拦截演示

场景一:攻击者使用随机高端口发起 SYN

攻击者发包:

源IP:攻击者公网IP 源端口:30000(随机高端口) 目的IP:192.168.1.10 目的端口:1026 TCP标志:SYN

逐条对照 D 规则:源端口不是 25、TCP 标志是 SYN 不是 ACK→ 不匹配 D → 继续向下匹配,没有其他规则匹配 → 命中 E 默认丢弃规则 →数据包直接丢弃,攻击无法建立连接。🛡️

场景二:攻击者刻意伪造源端口 = 25(经典坑点辨析题!)

源IP:攻击者公网IP 源端口:25(伪造) 目的IP:192.168.1.10 目的端口:1026 TCP标志:SYN

此时源端口满足条件,但TCP 标志字段是 SYN,不满足 ACK 条件→ 依旧无法匹配 D 规则 →被 E 丢弃。🛡️

⚠️经典坑点辨析:攻击者伪造源端口 25 能不能绕过?
答案:不能!因为标志位是 SYN,D 只放行 ACK 包。想要匹配 D,必须同时满足「源端口 25 + ACK 标志」两个条件,缺一不可。攻击者主动发起新连接,报文一定带 SYN,天然无法满足 ACK 约束。

3.5 修正方案的边界说明(拔高论述考点,拉开分数)

这个方案属于简易状态控制思想,但严格来说它还不是完整的状态检测防火墙:

  • ✅ 它只适配SMTP 这个固定服务端口场景:服务端固定 25,应答包源端口固定 25;
  • ✅ 如果换成其他服务,比如HTTP 80,外网服务器应答源端口固定 80,这套思路可以复用;
  • ❌ 但如果是P2P、动态端口服务,应答源端口不固定,依靠“源端口+ACK”的静态规则就不够用——这时候才需要真正的状态检测防火墙维护一张连接状态表,记录已建立的五元组会话,只放行会话内返回报文。

📌 期末考题限定 SMTP 场景,这套修改方案就是标准答案,答题不用拓展到状态表,除非题目额外提问“对比状态检测防火墙”。


四、简答题库

按考试频率排序,踩分点已标注!

简答 1:简述原始 SMTP 包过滤 D 规则存在什么安全缺陷?(6 分)

答:原始 D 规则为入方向,放行外部去往内部、TCP、目的端口大于 1023 的数据包,不校验 TCP 标志位与源端口。

该规则设计目的是放行内网向外发起 SMTP 连接后外网服务器返回的应答报文;但规则无法区分报文是已有连接的 ACK 应答包,还是外部攻击者主动发起的 SYN 新建连接包。

攻击者可以发送 SYN 数据包,目的端口为内网大于 1023 的端口,直接匹配 D 规则穿透防火墙,对内网主机高端口进行端口扫描、主动建立 TCP 连接实施入侵攻击,防火墙丧失边界防护能力。


简答 2:如何修改 D 规则消除漏洞?写出修改后的规则并解释每一项约束的作用(8 分)

答:修改后的 D 规则:

入方向,源地址外部,源端口 25,目的地址内部,目的端口 >1023,TCP 协议,TCP 标志 ACK,动作允许。

约束作用:

  • ①源端口固定 25:限定报文只能来自外网 SMTP 服务端口,只有 SMTP 服务器的应答报文源端口才是 25;
  • ②TCP 标志为 ACK:仅放行应答确认报文,拒绝携带 SYN 标志、用于新建 TCP 连接的报文,阻止外部主动发起连接;

其余字段保留原有业务需求,保证内网向外发送 SMTP 邮件时,外网服务器的应答报文可以正常通行。


简答 3:包过滤防火墙规则匹配原则是什么?本题 E 规则作用?(4 分)

答:包过滤规则自上而下顺序匹配,数据包命中第一条符合条件的规则就执行对应动作,不再继续向下匹配;E 是默认丢弃规则,属于最小权限安全策略,所有没有被前面规则显式允许的流量全部丢弃,防止意外流量放行。


简答 4:为什么单纯依靠端口号做包过滤不安全?(5 分)

答:端口只是标识服务的数字标识,无状态包过滤仅检查端口,无法识别 TCP 会话状态,不能区分数据包是主动发起连接的 SYN 请求包,还是已经建立连接之后的 ACK 响应包。

攻击者可以构造匹配端口条件的 SYN 包穿透防火墙,主动向内网发起连接,产生安全漏洞。增加 TCP 标志位校验可以弥补该缺陷。


简答 5:SMTP 协议传输层、端口、通信方向在本案例分别是什么?(3 分)

答:SMTP 使用TCP 协议,知名端口25;两种合法流量方向:

  1. 外网→内网 25(外部向内网邮件服务器发信)
  2. 内网→外网 25(内网向外发送邮件)

简答 6:能不能通过只增加 ACK 标志,不增加源端口 25 约束来修改 D?(拔高辨析题)

答:不安全。

如果只加 ACK,不限制源端口,那么外网任意端口发来的 ACK 包只要目的端口 >1023 就放行。攻击者可以构造ACK 扫描包,对内网高端口进行 TCP ACK 扫描,探测防火墙策略和内网主机存活状态,依然存在信息泄露风险。

因此源端口=25 是必要约束,缩小放行来源范围,只信任 SMTP 服务器端口返回报文。


五、选择题高频坑点汇总

选择判断必考!每一条都是出题人精心设计的陷阱 🕳️

序号陷阱表述正误正确理解
坑 1规则匹配是找到所有匹配规则再执行动作❌ 错顺序匹配,命中即停止
坑 2修正后的 D 允许外部主机主动发起 SMTP 连接到内网高端口❌ 错D 只放行ACK 应答包,SYN 新建连接无法通过
坑 3原始 D 漏洞根源是开放了 25 端口❌ 错A 规则开放 25 入方向是业务需要,漏洞根源是 D 没有 TCP 标志校验
坑 4大于 1023 端口是服务器服务端口❌ 错考题设定是客户端临时端口
坑 5ACK 报文一定不会携带 SYN✅ 对三次握手第一个包只有 SYN,没有 ACK
坑 6删除 D 规则可以修复漏洞,业务不受影响❌ 错删除 D 会导致内网向外发邮件收不到应答,SMTP 出站业务中断

六、论述题完整版标准答案(15 分大题)

期末大题 15 分原题,直接默写!✍️

题目:某边界防火墙配置 SMTP 包过滤规则如下表(原始表),请分析规则安全问题、攻击原理、给出改进规则并说明改进思路。

标准答案:

1. 业务梳理

该防火墙用于内网外网边界:A 放行外网访问内网 25 端口,接收外部邮件;C 放行内网访问外网 25 端口,内网向外发送邮件;原始 D 规则意图放行外网 SMTP 服务器返回给内网临时高端口的应答报文;E 默认丢弃。

2. 安全缺陷

原始 D 规则仅校验「入方向、外→内、TCP、目的端口 >1023」,缺少源端口与 TCP 标志校验,防火墙无法区分 SYN 新建连接包和 ACK 应答包。外部攻击者构造目的端口 >1023 的SYN 数据包,即可匹配 D 规则穿透防火墙,主动对内网主机高端口发起 TCP 连接,开展端口扫描、渗透入侵,破坏内网安全边界。

3. 改进方案

修改 D 规则,新增源端口=25、TCP 标志 ACK两个校验条件。新 D 规则:

入,外部,源端口 25,内部,目的端口 >1023,TCP,ACK,允许。

4. 改进原理

合法应答报文来自外网 SMTP 服务器,源端口固定 25,并且是 TCP 确认报文,携带 ACK 标志,不属于新建连接 SYN 包。增加约束之后,只有内网主动向外发起 SMTP 连接对应的应答报文能够放行;外部想要主动发起新连接必须发送 SYN 包,无法匹配本条规则,流量被末尾默认丢弃规则拦截。既保留内网向外发送邮件的业务功能,又封堵外部主动向内网高端口发起连接的攻击通道。

5. 补充说明

该改进属于增强型包过滤,利用 TCP 标志区分会话请求与响应,是状态检测防火墙设计思想的简单实现。


七、精简背诵版(考前速记)

🎒 考前速记,适合进考场前最后看一遍!

SMTP 基于TCP 25 端口。

【原始漏洞】原始 D 规则为入方向放行外部到内部 TCP 目的端口 >1023 报文,设计目的放行内网向外发邮件的返回应答包,但规则不检查源端口和 TCP 标志,无法区分 SYN 新建连接包和 ACK 应答包,外部攻击者发送 SYN 包就能匹配 D,主动对内网高端口扫描入侵,存在安全漏洞。

【修正方案】改进后的 D 规则增加约束:入方向、源端口 25、TCP 标志 ACK,只放行外网 SMTP 服务器针对内网 SMTP 出站连接返回的 ACK 应答报文;外部主动发起连接需要 SYN 标志,无法匹配该规则,被默认丢弃规则拦截。

【配套原则】包过滤规则自上而下顺序匹配,匹配即停止,E 规则为默认丢弃,遵循最小权限安全策略。单纯端口过滤属于无状态过滤,无法识别 TCP 会话状态,增加 TCP 标志位校验提升安全性。


八、同类型考点延伸(举一反三)

举一反三,防止换案例出题!🔄

这套分析范式完全一致,考试可以换HTTP(80 端口)复刻考察:

对比项SMTP 案例HTTP 迁移案例
原始漏洞规则入、外→内、TCP 目的端口>1023,允许完全一样
漏洞原理无 SYN/ACK 校验,SYN 包可穿透一模一样
修正 D 规则入、外部、源端口25、内部、>1023、TCP、ACK,允许入、外部、源端口80、内部、>1023、TCP、ACK,允许

答题话术、漏洞描述、得分点完全通用,只是端口数字替换——复习的时候对照 SMTP 案例迁移理解即可。


九、易混淆概念辨析

名词解释题高频考点!

① 无状态包过滤

只读取 IP、TCP 头部静态字段(地址、端口、协议),不记录 TCP 会话状态,无法区分 SYN/ACK。本案例原始版本就是无状态包过滤。

  • 优点:速度快,开销小
  • 缺点:安全能力弱,存在本案例漏洞

② 有状态(状态检测防火墙)

维护一张会话连接表,记录五元组、连接状态,只有已经存在会话对应的返回报文才放行,不依赖固定源端口 + ACK 静态规则,能力更强。

⚠️ 注意:SMTP 修正版 D 是静态模拟状态控制,不是完整状态检测!

③ 应用层网关(代理防火墙)

和包过滤区分,工作在应用层,不是本案例考点,但选择题经常拿来做干扰项。


📌 写在最后

这道 SMTP 包过滤案例是包过滤防火墙的经典母题,出题角度覆盖选择、简答、论述、画图全题型。核心把握三条主线:

  1. 规则匹配机制:自上而下、命中即止、默认丢弃兜底;
  2. 漏洞本质:无状态端口过滤无法区分 SYN(新建连接)与 ACK(会话应答);
  3. 修正思想:源端口 25 + ACK 标志双重约束,静态模拟状态控制。

把这两张规则表(原始版 + 修正版)的每一个字段含义吃透,无论题目怎么变形(换端口、换协议、换方向),都能按同一套分析范式稳拿满分!💯


觉得有用的话,点赞 👍 收藏 ⭐ 加关注 ➕,持续更新信安期末考点系列,祝大家期末高分通过!🎉