如何在Linux利用Nftables的Anonymous Set(匿名集合)在单行防火墙配置内高效优雅地闭合上百个已知业务漏洞端口

陌雪大大_4681

陌雪大大_4681

2026-06-03

820人浏览

原创

直接用一条带匿名集合的drop规则可单行封住上百非必需端口,核心是“只留必要、静默拦截、顺序正确”:先用ss命令确认真实监听端口,将必需端口填入{ },搭配ct state new drop实现新连接静默丢弃,且该规则必须置于所有ACCEPT规则之前。

如何在linux利用nftables的anonymous set(匿名集合)在单行防火墙配置内高效优雅地闭合上百个已知业务漏洞端口

直接用一条带匿名集合的 drop 规则,配合白名单思维和连接状态判断,就能在单行内干净封住上百个非必需端口——关键是“只留必要、静默拦截、顺序正确”。

先确认哪些端口真正在用

别靠记忆或文档列白名单。执行命令查实监听端口:

  • ss -tln 看所有 TCP 监听端口(重点关注 :22、:80、:443、:3306 等)
  • ss -uln 看所有 UDP 监听端口(如 :53、:123、:161)
  • 排除仅绑定 127.0.0.1 的端口(如 9000、9090),它们不需对外放行
  • Docker 或 Kubernetes 节点上,检查 2376、10250、8443 是否必须暴露

写一条精准的静默丢弃规则

把所有业务必需端口放进大括号,其余新连接一律不响应:

  • TCP 封闭:nft add rule inet filter input tcp dport != {22, 80, 443, 3000, 5044} ct state new drop
  • UDP 封闭:nft add rule inet filter input udp dport != {53, 123} ct state new drop
  • != {…} 表示“目标端口不在该集合中”,不是“等于其中任意一个”
  • ct state new 保证只拦新连接,已建立的 SSH、HTTP 流量完全不受影响
  • drop 是关键:不回 SYN-ACK,也不发 RST,扫描器收不到任何响应,只能超时

规则顺序决定成败

这条 drop 规则必须放在所有 accept 规则之前,否则会被绕过。完整 input 链推荐顺序:

Draft&Goal-Detector
Draft&Goal-Detector

Draft&Goal-Detector是一款强调隐私和解释性的多语言 AI 文本检测工具。

下载
  • 允许回环:nft add rule inet filter input iifname "lo" accept
  • 放行已有连接:nft add rule inet filter input ct state established,related accept
  • 显式放通 SSH(防锁死):nft add rule inet filter input tcp dport 22 ct state new accept
  • 紧接着就是你的匿名集合 drop 规则
  • 最后可加默认策略:nft chain inet filter input '{ type filter hook input priority 0; policy drop; }'

为什么能优雅支撑上百端口

nftables 内核对匿名集合做的是哈希查找或位图匹配,不是逐条比对:

  • 写 tcp dport != {22,80,443,...,9999}(含 120 个端口),内核一次查表就完成
  • 若拆成 120 条独立 tcp dport 22 drop 规则,内核要线性扫描最多 120 次
  • 尤其在高并发入口链(input hook),性能差异非常明显
  • 匿名集合不占命名空间,不需提前定义 set,改端口只需改一行命令

不复杂但容易忽略。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4370

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3693

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2953

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7290

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6922

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3953

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3445

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3699

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习