Linux防火墙规则遵循最小权限原则,强调规则顺序、默认策略设为DROP、状态跟踪(ESTABLISHED/RELATED)、及时保存持久化及修改前备份验证。

Linux防火墙规则的核心是“最小权限原则”——只放行必需的流量,其余一律拒绝。写错一条规则可能导致服务不可用或安全缺口,所以不能靠试错,得理解底层逻辑和常见陷阱。
iptables规则顺序决定一切
iptables按链中规则从上到下逐条匹配,一旦命中就执行动作(ACCEPT/DROP),不再继续。所以允许规则必须放在拒绝规则之前,否则全被拦住。
- 错误写法:iptables -A INPUT -j DROP(追加到最后)→ 后面再加的允许规则根本没机会生效
- 正确做法:iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT(用-I插入到最前面)
- 查看当前顺序:iptables -L INPUT -n --line-numbers,带行号方便定位和删除
默认策略比单条规则更关键
很多人只关注添加规则,却忽略链的默认策略(policy)。INPUT链默认是ACCEPT,意味着没匹配到任何规则的包全放行——这等于裸奔。
- 生产环境建议:先设为DROP,再逐步放开必要端口
iptables -P INPUT DROP
iptables -P FORWARD DROP - 切记:设置-P前务必确保已有SSH等管理端口放行规则,否则可能锁死远程连接
- 临时救急:本地终端执行iptables -P INPUT ACCEPT可快速恢复访问
状态跟踪让规则更精准可靠
单纯靠端口判断不安全(比如有人伪造SYN包打开放端口)。启用conntrack模块后,可用状态(RELATED, ESTABLISHED)识别合法回包和关联连接。
标签: linux centos 防火墙 端口 ubuntu
还木有评论哦,快来抢沙发吧~