Linux防火墙规则如何编写_最佳实践总结助你快速突破【教程】
发布时间 - 2025-12-14 00:00:00 点击率:次Linux防火墙规则编写核心是“最小权限原则”+“明确流向控制”,推荐nftables;默认策略设为DROP,先放行lo、ESTABLISHED/RELATED连接,再按需精准开放SSH、HTTP/HTTPS等端口,并限制连接频率,最后保存规则防重启丢失。
Linux防火墙规则编写核心在于“最小权限原则”+“明确流向控制”,用 iptables 或 nftables(推荐新系统用 nftables)实现,关键不是堆规则,而是理清“谁访问谁、走什么协议、开哪几个端口、默认怎么处理”。
先定策略:默认拒绝,再精准放行
绝大多数安全问题源于默认允许。务必把默认策略设为 DROP:
- iptables:运行 iptables -P INPUT DROP、iptables -P FORWARD DROP、iptables -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),避免“半开漏洞”
无状态规则易被绕过。实际生效的几乎都依赖连接追踪:
- 只允许已建立或相关连接响应:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- nftables 对应写法:nft add rule inet filter input ct state established,related accept
- 这条规则通常放在 INPUT 链靠前位置(但要在 lo 之后、具体服务规则之前)
保存与恢复要闭环,别让重启变“裸奔”
内存规则重启即丢。必须固化:
- iptables:用 iptables-save > /etc/iptables/rules.v4(Debian/Ubuntu)或 service iptables save(CentOS 7 及更早)
- nftables:导出为文件 nft list ruleset > /etc/nftables.conf,并启用 systemd 服务:systemctl enable nftables
- 每次修改后,先 nft -f /etc/nftables.conf 或 iptables-res
tore 测试,再确认开机加载
基本上就这些。不复杂,但容易忽略状态匹配、默认策略和持久化三个环节。写规则前先画张草图:本机哪些服务对外?哪些IP需要访问?哪些出向连接必须允许?照着画的来,比抄模板更稳。
# linux
# centos
# 防火墙
# 端口
# ubuntu
# ai
# Filter
# 堆
# input
# http
# https
# ssh
# debian
# 重启
# 设为
# 这条
# 几个
# 放在
# 闭环
# 已有
# 要在
# 而非
# 仅限
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
浅谈javascript alert和confirm的美化
nodejs redis 发布订阅机制封装实现方法及实例代码
如何快速搭建高效服务器建站系统?
如何在 Pandas 中基于一列条件计算另一列的分组均值
EditPlus中的正则表达式 实战(4)
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
深圳网站制作培训,深圳哪些招聘网站比较好?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
公司网站制作需要多少钱,找人做公司网站需要多少钱?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
佛山网站制作系统,佛山企业变更地址网上办理步骤?
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
JavaScript如何实现倒计时_时间函数如何精确控制
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
香港服务器租用费用高吗?如何避免常见误区?
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
微信小程序 canvas开发实例及注意事项
JavaScript中的标签模板是什么_它如何扩展字符串功能
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何快速搭建个人网站并优化SEO?
zabbix利用python脚本发送报警邮件的方法
大连网站制作公司哪家好一点,大连买房网站哪个好?
南京网站制作费用,南京远驱官方网站?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
如何在万网ECS上快速搭建专属网站?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
深圳网站制作的公司有哪些,dido官方网站?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
html5的keygen标签为什么废弃_替代方案说明【解答】
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
大学网站设计制作软件有哪些,如何将网站制作成自己app?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
微信公众帐号开发教程之图文消息全攻略
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
如何确认建站备案号应放置的具体位置?
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
想要更高端的建设网站,这些原则一定要坚持!
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
Bootstrap整体框架之JavaScript插件架构
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】


tore 测试,再确认开机加载