Linux防火墙规则如何编写_最佳实践总结助你快速突破【教程】

admin 百科 12
Linux防火墙规则编写核心是“最小权限原则”+“明确流向控制”,推荐nftables;默认策略设为DROP,先放行lo、ESTABLISHED/RELATED连接,再按需精准开放SSH、HTTP/HTTPS等端口,并限制连接频率,最后保存规则防重启丢失。

Linux防火墙规则如何编写_最佳实践总结助你快速突破【教程】-第1张图片-佛山资讯网

Linux防火墙规则编写核心在于“最小权限原则”+“明确流向控制”,用 iptablesnftables(推荐新系统用 nftables)实现,关键不是堆规则,而是理清“谁访问谁、走什么协议、开哪几个端口、默认怎么处理”。

先定策略:默认拒绝,再精准放行

绝大多数安全问题源于默认允许。务必把默认策略设为 DROP:

  • iptables:运行 iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT(出站通常宽松些)
  • nftables:在 base chain 中设 policy drop,例如:nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }
  • 切记:执行前确保已有 SSH 规则且已测试连通,否则可能锁死自己

只开必需端口:按服务而非IP粗放放行

别写 “-s 0.0.0.0/0 -p tcp --dport 22 -j ACCEPT” 就完事——要加状态跟踪和连接限制:

  • SSH 安全写法(iptables):iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/min --limit-burst 3 -j ACCEPT
  • HTTP/HTTPS(仅限 Web 服务器):iptables -A INPUT -p tcp -m multiport --dports 80,443 -m state --state NEW -j ACCEPT
  • 本地回环必须放通:iptables -A INPUT -i lo -j ACCEPT(所有规则前建议加这条)

善用连接状态(state / ct state),避免“半开漏洞”

无状态规则易被绕过。实际生效的几乎都依赖连接追踪:

标签: linux centos 防火墙 端口 ubuntu ai

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~