最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 防火墙:分析入站与出站报文的安全校验逻辑
时间:2026-08-06 14:05:55 编辑:袖梨 来源:一聚教程网
Linux防火墙对入站和出站报文分路径校验,依据“方向决定链、链决定表、表决定动作”:入站经PREROUTING→INPUT(filter为主),出站经OUTPUT→POSTROUTING,默认均ACCEPT;状态匹配(ESTABLISHED/NEW/RELATED)保障双向通信安全,忽略OUTPUT或状态检查易致安全盲区。
Linux 防火墙对入站和出站报文的校验不是统一处理,而是按不同路径、不同规则表和链分别执行,核心依据是报文流向与防火墙策略层级。理解这个逻辑,关键在于抓住“方向决定链、链决定表、表决定动作”三层关系。
入站报文的校验路径与关键检查点
当外部主机(如客户端)向本机发起连接(例如访问 SSH 或 Nginx),数据包进入网卡后,内核按以下顺序处理:
- PREROUTING 链(raw → mangle → nat):先做连接状态追踪判断(raw 表)、标记(mangle 表),再检查是否需目标地址转换(DNAT,如端口映射);
- 路由决策:内核查看目标 IP 是否为本机;若否,走 FORWARD 路径;若是,继续进入 INPUT;
- INPUT 链(filter 表为主):这是入站安全校验的核心环节,检查源 IP、协议(TCP/UDP/ICMP)、目的端口、连接状态(如 ESTABLISHED、NEW)等;默认策略通常为 ACCEPT,但生产环境应显式限制;
- 通过 INPUT 后,报文才递交给上层服务进程(如 sshd、httpd)。
出站报文的校验路径与默认宽松性
当本机主动向外发起请求(如 curl 外部 API、yum 更新),报文从用户空间发出后流经:
- OUTPUT 链(raw → mangle → nat → filter):同样经历状态跟踪、标记、源地址转换(SNAT,常见于 NAT 网关)、最后在 filter 表中过滤;
- POSTROUTING 链(mangle → nat):完成最终地址/端口改写(如 MASQUERADE),然后发往网卡;
- 注意:iptables 默认策略对 OUTPUT 是 ACCEPT,firewalld 的默认 zone(如 public)也默认放行所有出站流量;这意味着除非手动添加拒绝规则,否则服务器可自由外连——这既是便利,也是风险点。
状态匹配(state)是跨方向协同的关键机制
Linux 防火墙依赖连接追踪(conntrack)模块识别报文关联性,使规则能区分“新连接”“已建立连接”“连接相关报文”。这对双向通信安全至关重要:
- 入站规则常允许 --state ESTABLISHED,RELATED,确保响应报文能回来;
- 出站规则若设为 --state NEW,可控制哪些新连接被允许发起;
- RELATED 状态支持 FTP 数据通道、ICMP 错误报文等辅助通信,避免误拦;
- 该机制独立于 TCP 三次握手状态,由 netfilter 在内核态维护连接表,不依赖应用层。
实际配置中易被忽略的校验盲区
很多安全问题源于未覆盖的校验维度:
- 只配了 INPUT 却忽略 OUTPUT,导致恶意进程可偷偷外连 C2 服务器;
- 用 -p tcp --dport 22 但没加 -m state --state NEW,可能放行伪造的 SYN 报文或非初始连接片段;
- 启用 DNAT 后未同步调整 INPUT 规则的目的端口(如将 8080 映射到 80,规则仍要匹配 -dport 80);
- firewalld 中临时规则(无 --permanent)重启即失效,造成策略断层。
相关文章
- Node.js 项目在 Linux 上如何配置 Nginx 08-06
- Linux 下 Node.js 如何进行内存管理 08-06
- Notepad如何显示列表面板 08-06
- Deepseek在线网页版_Deepseek在线网页版入口及使用教程 08-06
- 漫蛙漫画(网页入口)_漫蛙MANWA2官网版 08-06
- 抖音官网版入口-抖音在线网页版进入 08-06