Linux网络访问控制方案_安全通信策略说明【指导】
发布时间 - 2026-01-05 00:00:00 点击率:次新系统优先用nftables,因其原子提交、映射支持等优势;老系统如CentOS 7仍用iptables。防火墙策略应默认拒绝、显式放行,并限制源地址;防暴力SSH宜用limit+counter组合;出站流量必须限制,避免C2外连。
iptables 和 nftables 哪个该用?
新系统优先选 nftables,不是因为更“高级”,而是 iptables 在内核 5.10+ 已被标记为 legacy,且规则同步、原子提交、表达能力都弱于 nftables。但如果你维护的是 CentOS 7 或 Ubuntu 18.04 这类老系统,iptables 仍是默认且稳定的选择。
-
iptables规则靠链式追加,iptables-restore加载时无法保证原子性;nftables的nft -f是原子加载,避免中间态开放端口 -
nftables支持映射(maps)、动态集合(dynamic sets),适合做 IP 黑名单自动更新;iptables需依赖ipset配合才能达到类似效果 - 别混用:同一台机器上同时运行
iptables和nftables可能导致规则冲突或跳过预期链,尤其在netfilterhook 点重叠时
只允许 SSH 和 HTTPS 入站,怎么写最稳?
核心是「默认拒绝 + 显式放行」,且必须限制源地址范围(哪怕只是内网段)。直接放通 0.0.0.0/0 的 22 或 443 是高危操作,真实环境中几乎总要配合来源控制。
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }
nft add rule inet filter input iifname "eth0" ip saddr 192.168.10.0/24 tcp dport 22 accept
nft add rule inet filter input iifname "eth0" tcp dport 443 ct state established,related accept
nft add rule inet filter input iifname "eth0" tcp dport 443 ip saddr { 203.0.113.5, 203.0.113.12 } accept
- 第一条
accept针对内网管理流量,带明确ip saddr - 第二条放行已建立连接的返回包(避免影响长连接),必须放在第三条之前
- 第三条才是对外暴露的 HTTPS 白名单,用
{ }语法定义多个 CIDR 或 IP,比写多条 rule 更高效
如何阻止暴力 SSH 登录又不封错人?
用 nftables 的 limit + counter 组合比单纯封 IP 更可控,避免因误操作或共享出口 IP 导致大面积误伤。
nft add rule inet filter input tcp dport 22 ct state new limit rate 5/minute burst 10 packets counter reject with icmp type host-unreachable
-
limit rate 5/minute burst 10表示每分钟最多 5 次新连接请求,允许突发 10 次(应对合法用户快速重试) -
ct state new确保只限速新建连接,不影响已有会话 - 用
reject而非drop,让客户端立刻收到失败响应,减少重试等待时间,也降低扫描器停留时长 - 搭配
counter可后续用nft list rule查看命中次数,判断是否需调参
set | grep ssh
出站流量要不要限制?容易被忽略的关键点
多数人只盯入站,但恶意软件一旦上线,第一件事就是外连 C2 服务器。出站不限制,等于防火墙只关了一半门。
- 默认策略设为
policy drop的output链必须配白名单:至少放开lo、DNS(udp dport 53)、NTP(udp dport 123)、HTTPS(tcp dport 443)——但注意:不能无条件放通所有443,应结合ip daddr或域名(需配合应用层代理) -
output链中oifname要明确指定物理接口(如eth0),否则容器或虚拟网卡可能绕过规则 - 若系统跑 Docker,
docker0网桥流量默认不经过output链,得额外在forward链处理容器出站,或改用iptables -t nat -A POSTROUTING做 SNAT 控制
# linux
# centos
# docker
# 防火墙
# 端口
# ubuntu
# ai
# dns
# 黑名单
# 接口
# https
# udp
# ssh
# 链式
# 第三条
# 重试
# 的是
# 加载
# 源地址
# 如果你
# 放在
# 多个
# 才是
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
网站优化排名时,需要考虑哪些问题呢?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
如何在阿里云虚拟主机上快速搭建个人网站?
如何获取PHP WAP自助建站系统源码?
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
如何构建满足综合性能需求的优质建站方案?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
如何快速上传自定义模板至建站之星?
如何在新浪SAE免费搭建个人博客?
如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
JavaScript中的标签模板是什么_它如何扩展字符串功能
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
JavaScript如何实现音频处理_Web Audio API如何工作?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
北京网站制作公司哪家好一点,北京租房网站有哪些?
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程
Laravel怎么调用外部API_Laravel Http Client客户端使用
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
北京专业网站制作设计师招聘,北京白云观官方网站?
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
详解jQuery中的事件
如何快速搭建高效WAP手机网站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
英语简历制作免费网站推荐,如何将简历翻译成英文?
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何挑选高效建站主机与优质域名?
如何快速重置建站主机并恢复默认配置?
如何在阿里云高效完成企业建站全流程?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
5种Android数据存储方式汇总
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
如何用免费手机建站系统零基础打造专业网站?
Linux安全能力提升路径_长期防护思维说明【指导】


set | grep ssh