宝塔面板没有直接关闭 MPTCP 的开关,但可通过 SSH 或宝塔终端执行内核参数修改来关闭,这是目前最有效的方式。
关闭方法
临时关闭(重启后失效):SSH 登录服务器,执行 sysctl net.mptcp.enabled=0,立即生效。
永久关闭(重启后仍生效):执行 echo "net.mptcp.enabled = 0" >> /etc/sysctl.conf 后运行 sysctl -p 加载配置。
操作前先确认当前状态:sysctl net.mptcp.enabled,返回 1 为开启,0 为已关闭。
注意事项
宝塔面板无图形化入口:MPTCP 属内核网络参数,宝塔安全或防火墙页面未提供对应开关,只能通过命令行操作。
重启服务:修改内核参数后,建议重启 Nginx 或相关服务使连接重新建立,部分已建立的 MPTCP 连接可能仍存活。
Go 1.24+ 服务需单独处理:若跑 Go 1.24 及以上版本的服务,即使内核关闭 MPTCP,程序仍可能主动申请 MPTCP 监听器(相关漏洞 CVE-2026-98432),需在代码或编译层面显式禁用。
验证生效
执行 sysctl net.mptcp.enabled 返回 0,再通过 ss -ti 查看连接信息,确认无 mptcp 标志即关闭成功。
宝塔后台文本修改方式关闭:


文件管理器→ /etc/sysctl.d 打开此路径 打开 99-sysctl.conf 或者新建 99-bt.conf →然后在里面添加
net.mptcp.enabled = 0
运行 sysctl -p 加载配置
运行 sysctl net.mptcp.enabled 查看返回是否是0

注意:若使用 Go 1.24+ 应用,需在应用层通过 GODEBUG=multipathtcp=0 或代码中 SetMultipathTCP(false) 禁用,仅靠内核参数可能无法完全阻止应用请求 MPTCP socket 。
顺便修复一个低危漏洞
检查开启TCP-SYNcookie保护缓解syn flood攻击
1、在【/etc/sysctl.conf】文件中添加net.ipv4.tcp_syncookies=1 (实际文件修改/etc/sysctl.d/99-sysctl.conf)
2、然后执行命令sysctl -p生效配置


CentOS 7 默认内核(3.10)不支持 MPTCP,MPTCP 需 Linux 5.6+ 内核。若已升级内核并启用 MPTCP,查看centos 7内核版本,我的为4.1内核,sysctl net.mptcp.enabled 会返回错误或空值,因为该参数不存在。从漏洞防护角度看,不受 CVE-2026-98432 影响,因为漏洞前提是内核支持并开启了 MPTCP。

一、漏洞影响及利用难度
该漏洞主要影响 Linux 内核 4.4 及以上的部分版本,已安装修复补丁的内核不受影响。
需要说明的是,该漏洞虽然被评定为高危,但实际利用难度极高。
攻击者需要在特定条件下精确触发内核并发竞争,并构造复杂的内存利用链。目前公开的远程代码执行研究主要针对启用了 MPTCP(多路径 TCP)监听的环境,并非简单发送恶意请求即可完成攻击。
因此,用户无需过度恐慌,但考虑到该漏洞已存在成功利用的研究验证,仍建议及时采取安全措施。
二、宝塔面板临时加固措施
宝塔面板安装时会默认安装并启用基础网站统计组件,相关服务在特定环境下可能使用 MPTCP 监听。
针对这一情况,宝塔面板已提供以下加固措施:
默认关闭 MPTCP:
通过修复面板关闭系统 MPTCP 功能,降低已知攻击方式的利用风险。
配置持久化:
自动写入,确保配置重启后生效
/etc/sysctl.d/99-bt.conf
Go服务单独加固:
如果用了Go 1.24+,设置 GODEBUG=multipathtcp=0 或写进go.mod的 godebug multipathtcp=0
需要注意的坑
近期有个安全事件值得留意:从Go 1.24开始,Go语言在Linux上默认给TCP监听启用MPTCP,只要内核支持,你的Go服务就可能悄悄开了MPTCP监听器。
这带来一个实际风险——CVE-2026-98432漏洞,攻击者可借此实现远程root提权。若服务器跑着Go 1.24+的服务,建议尽快检查:
排查监听:运行 sudo ss -Mlnp,看哪些进程持有MPTCP监听器。
临时关闭:给Go服务设置 GODEBUG=multipathtcp=0 并重启,或在 go.mod 里加 godebug multipathtcp=0。
打补丁:单独关MPTCP不够,底层漏洞仍可通过普通TCP触发,务必跟进发行版修复内核更新。

发表评论