Linux 防火墙:iptables/nftables 入门与实践

概述 Linux 防火墙经历了从 ipfwadm → ipchains → iptables → nftables 的演进。底层均基于 Netfilter 框架,但上层语法和管理方式不断改进。从 Netfilter 架构出发,深入 iptables 的五链四表、nftables 的优势与用法、NAT/端口转发、连接追踪机制以及生产环境的性能优化实践。 Netfilter 框架 架构概览 Netfilter 是 Linux 内核中的数据包处理框架,通过在内核网络栈的关键位置挂载钩子(hook)来实现数据包过滤、地址转换、连接追踪等功能。 Netfilter 钩子点 [数据包进入] → PREROUTING → [路由判断] →─┬─→ FORWARD → POSTROUTING → [数据包发出] │ └─→ INPUT → [本地进程] → OUTPUT → POSTROUTING → [数据包发出] 五大钩子点 钩子点 触发时机 中文含义 NF_INET_PRE_ROUTING 数据包进入网络栈,路由前 路由前 NF_INET_LOCAL_IN 数据包目的地是本机 输入 NF_INET_FORWARD 数据包需要转发到其他接口 转发 NF_INET_LOCAL_OUT 本机产生的数据包 输出 NF_INET_POST_ROUTING 数据包即将离开网络栈 路由后 数据包流向 入站(访问本机): NIC → PREROUTING → INPUT → 本机进程 出站(本机发出): 本机进程 → OUTPUT → POSTROUTING → NIC 转发(经过本机): NIC → PREROUTING → FORWARD → POSTROUTING → NIC iptables 五链四表 四张表 iptables 通过"表"来组织不同功能的规则链:...

January 10, 2025 · 13 分钟 · 2596 字 · 徐保金

Linux 安全加固清单:从最小化到合规

前言 一台默认安装的 Linux 服务器,暴露的攻击面远超想象:多余的 RPM 包、开放的网络服务、宽松的 SSH 配置、未启用的审计系统。安全加固不是一次性操作,而是一套从安装到运行的全生命周期清单。本文按 CIS Benchmark 框架梳理加固要点,每一步都给出可直接执行的配置。 系统最小化安装原则 包管理裁剪 最小化安装的核心思路:只装需要的,不装可能需要的。 # 安装时选择 Minimal Install(RHEL 系)或 minimal image(Debian 系) # 安装后审计已安装的包组,移除不需要的 yum grouplist # RHEL/CentOS dnf group list # Fedora/RHEL 8+ # 移除不需要的包组 dnf group remove "GNOME Desktop" "Graphical Administration Tools" # 审计已安装的包,按大小排序 rpm -qa --queryformat '%{SIZE} %{NAME}\n' | sort -rn | head -30 # 移除已知不需要的包 dnf remove -y ypbind rsh-server ypserv telnet-server talk-server Debian/Ubuntu 系: # 查看手动安装的包(可安全移除的候选) apt-mark showmanual # 移除不需要的服务包 apt purge -y rsh-client rsh-redone-server telnetd tftpd xinetd 服务裁剪 安装后审计运行中的服务,关闭一切非必要服务:...

December 18, 2023 · 9 分钟 · 1723 字 · 徐保金