温馨提示×

iptables如何保护Debian安全

小樊
33
2026-07-01 22:51:10
栏目: 智能运维

在 Debian 系统中,iptablesLinux 内核防火墙工具,用于 过滤网络流量、控制端口访问、防止攻击。下面从 基础 → 常用规则 → 安全加固 → 持久化 给你一个完整实用的安全配置指南。


一、iptables 基础概念(先看这个)

iptables 由 表(table)+ 链(chain)+ 规则(rule) 组成:

常用表

表名 作用
filter 默认表,负责过滤(最常用)
nat 网络地址转换(端口映射、NAT)
mangle 修改数据包
raw 连接跟踪

常用链

说明
INPUT 进入本机的数据包
OUTPUT 本机发出的数据包
FORWARD 转发的数据包

二、Debian 安全常用 iptables 规则

✅ 1. 默认策略(最重要)

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

含义:

  • 禁止所有进入流量
  • 禁止转发
  • 允许本机访问外网

⚠️ 注意:执行前确保你有 SSH 白名单,否则会被踢出服务器!


✅ 2. 允许本地回环(必须)

iptables -A INPUT -i lo -j ACCEPT

✅ 3. 允许已建立连接(非常关键)

iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

✅ 防止 SSH、HTTP 等连接被中断


✅ 4. 开放 SSH(强烈建议限制 IP)

开放 SSH(22端口)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

✅ 更安全的做法(只允许指定 IP)

iptables -A INPUT -p tcp -s 1.2.3.4 --dport 22 -j ACCEPT

✅ 5. 开放 Web 服务(HTTP/HTTPS)

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

✅ 6. 防 SYN Flood(DoS 防护)

iptables -A INPUT -p tcp --syn -m limit --limit 10/s --limit-burst 20 -j ACCEPT

✅ 7. 防止 ping 洪水(可选)

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

✅ 8. 防止端口扫描(高级)

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

三、查看 & 清理规则

查看当前规则

iptables -L -n -v

清空所有规则(慎用)

iptables -F
iptables -X

四、Debian 上持久化 iptables(非常重要)

Debian 重启后 iptables 会丢失

方法 1:安装 iptables-persistent(推荐)

apt update
apt install iptables-persistent

保存规则:

netfilter-persistent save

规则保存在:

/etc/iptables/rules.v4
/etc/iptables/rules.v6

五、推荐的 Debian 最小安全模板(可直接用)

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# SSH(改成你的 IP)
iptables -A INPUT -p tcp -s 1.2.3.4 --dport 22 -j ACCEPT

# Web
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

六、iptables 不能做什么?

❌ 不能防:

  • 应用层攻击(SQL 注入、XSS)
  • 暴力破解(需配合 fail2ban)
  • 已授权用户的恶意行为

✅ 建议配合:

  • fail2ban
  • SSH 密钥登录
  • 非默认端口 SSH

七、进阶建议

  • 使用 nftables(Debian 10+ 推荐)
  • 使用 ufw(新手友好)
  • 云服务器优先用 安全组

如果你愿意,我可以:

  • ✅ 给你 生产环境 iptables 模板
  • ✅ 帮你 逐步配置 SSH 安全规则
  • ✅ 对比 iptables vs ufw vs nftables

只要告诉我你的 Debian 版本 + 用途(服务器/桌面) 即可。

0