宝塔面板狂报“SUID/SGID权限漏洞”?别慌!3分钟干掉假风险真隐患

宝塔面板狂报“SUID/SGID权限漏洞”?别慌!3分钟干掉假风险真隐患

昨晚刚把某网站搬家到阿里云,后台立刻被宝塔面板的红色警报刷屏:

存在SUID特权的文件:/usr/bin/gpasswd、/usr/bin/chfn、/usr/bin/chsh、/usr/bin/newgrp、/bin/mount、/bin/umount
存在SGID特权的文件:/usr/bin/chage

吓得我差点连夜跑路。冷静三秒后,决定跟这堆“可疑文件”死磕到底。结果证明:宝塔只是好心办坏事——99% 的 Linux 服务器本来就该这么设置。今天把踩坑过程写成教程,帮同样被吓傻的小伙伴一键排雷。

先别急着 chmod!搞清楚 SUID/SGID 到底是啥

一句话:
SUID=运行时拿文件所有者的身份(通常是 root),SGID=拿文件所属组的权限。
/bin/mount 举例:普通用户想插U盘,就得靠它临时“借”root 身份挂载,完事自动归还权限。没有这俩权限位,你的用户连U盘都挂不了。

宝塔为什么“狼来了”?

安全扫描规则是“宁可错杀一千”,于是所有带 S/S 位的文件都报警。但 Linux 系统默认就会给以下文件加 SUID/SGID:

  • gpasswd:改组密码
  • chfn/chsh:改个人资料、shell
  • newgrp:切用户组
  • mount/umount:挂载/卸载设备
  • chage:看或改密码过期策略

这些都是官方发行版包管理器一安装就自带的权限,不是黑客植入。所以第一步:

1. 先确认是不是官方原味

# Debian/Ubuntu
dpkg -S /usr/bin/gpasswd
apt-get install --reinstall coreutils

# CentOS/RHEL
rpm -qf /usr/bin/gpasswd
yum reinstall util-linux

如果输出能对应上软件包名,说明文件没被篡改,警报可以关掉了。

2. 真要加固?用 sudo 替代 SUID 才是正确姿势

如果你像强迫症晚期患者一样看红色叹号难受,别直接 chmod -s,那样会把系统搞崩。
正确姿势:用 sudo 精确授权,再把 SUID 剥掉。

# 1. 只允许管理员用 mount
sudo visudo
# 添加两行
%admin ALL=(root) /bin/mount
%admin ALL=(root) /bin/umount

# 2. 确认 sudo 配置无误后,再去 SUID
sudo chmod u-s /bin/mount /bin/umount

这样做既满足最小权限原则,又不会破坏救援模式等场景。

3. 一键脚本:懒人专用“真·安全”检查

把下面脚本保存成 check_suid.sh,跑完直接出结果:

#!/bin/bash
echo "=== 官方包 SUID/SGID 列表 ==="
dpkg-query -W -f='${Package}\t${Status}\n' | grep -v 'not-installed' | \
while read pkg _; do
    dpkg -L "$pkg" | xargs -I{} sh -c 'test -u "{}" && echo "{}"'
    dpkg -L "$pkg" | xargs -I{} sh -c 'test -g "{}" && echo "{} (SGID)"'
done | sort -u > /tmp/official_suid.txt

echo "=== 当前系统 SUID/SGID 列表 ==="
find / -type f \( -perm -4000 -o -perm -2000 \) 2>/dev/null | sort -u > /tmp/current_suid.txt

echo "差异文件(非官方):"
diff /tmp/official_suid.txt /tmp/current_suid.txt | grep '^>'

输出里只有 diff 出来的文件才需要人工复查。

4. 终极懒人方案:直接关闭宝塔这条规则

如果你确认系统没动过手脚,进宝塔面板 → 安全 → 系统加固 → 关闭“风险权限文件检测”。
(把精力留给真正需要修补的漏洞,比如 WordPress 插件)

常见疑问 FAQ

Q:我把所有 SUID 全干掉行不行?
A:行,只要你愿意每次挂载U盘都敲 sudo,并且救援模式记得带 root 密码。
Q:为什么 CentOS 没报,Ubuntu 就报?
A:Ubuntu 默认给普通用户加 sudo 权限,宝塔觉得你会用 sudo,所以提示更严。
Q:有没有可视化工具?
A:Lynis 一键扫描,比宝塔更懂 Linux。

总结

宝塔的“SUID/SGID 权限漏洞”99% 是误报,正确做法是:

1. 核对官方包;

2. 用 sudo 精准授权;

3. 关掉误报规则。

别再被红色叹号牵着鼻子走,省下的时间去撸猫它不香吗?


© 万事屋原创,转载请注明出处:https://www.rei3.com

请登录后发表评论

    没有回复内容

万事屋新帖