SUID 位从程序中消失

SUID 位从程序中消失

我维护着一批 Debian 11.8 服务器,最近出现了一些奇怪的现象。SUID 位几乎同时从所有服务器上的程序中消失。

例如,两天前,/usr/lib/qemu/qemu-bridge-helper大约同时有 4 台服务器丢失了 SUID 位。然后昨天,又有 2 台服务器的 SUID 位消失。

所有服务器上都发生了以下情况:

[Sun Oct  8 06:33:57 2023] systemd[1]: systemd 247.3-7+deb11u4 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPAR
MOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN
 +PCRE2 default-hierarchy=unified)
[Sun Oct  8 06:33:57 2023] systemd[1]: Detected architecture x86-64.
[Sun Oct  8 06:33:57 2023] systemd[1]: /etc/systemd/system/rc-local.service:11: Support for option SysVStartPriority= ha
s been removed and it is ignored
[Sun Oct  8 06:33:57 2023] systemd-journald[392]: Received SIGTERM from PID 1 (systemd).
[Sun Oct  8 06:33:57 2023] systemd[1]: Stopping Journal Service...
[Sun Oct  8 06:33:57 2023] systemd[1]: systemd-journald.service: Succeeded.
[Sun Oct  8 06:33:57 2023] systemd[1]: Stopped Journal Service.
[Sun Oct  8 06:33:57 2023] systemd[1]: systemd-journald.service: Consumed 5min 10.083s CPU time.
[Sun Oct  8 06:33:57 2023] systemd[1]: Starting Journal Service...
[Sun Oct  8 06:33:57 2023] systemd[1]: Started Journal Service.
[Sun Oct  8 06:33:57 2023] systemd-journald[4157624]: Received client request to flush runtime journal.

在此 dmesg 条目之后,程序/usr/lib/qemu/qemu-bridge-helper丢失了 SUID 位。

有人知道发生了什么吗?systemd 做了吗?它是否有某种安全措施来扫描系统并从程序中删除 SUID 位?

现在我通过将其放入chmod u+s /usr/lib/qemu/qemu-bridge-helper每分钟运行一次的 cron 作业来解决这个问题,这样当它发生时,我就把 SUID 位放回去。

答案1

如果手动应用权限可以暂时解决问题,那么您可以排除 nosuid 挂载选项。

我要检查的第一件事是当时主机上是否有任何部署/修补(dpkg -S /usr/lib/qemu/qemu-bridge-helper将告诉您它来自哪个包并且 /var/log/dpkg 应该列出任何更改)。

除了使用 auditctl 监视文件外,我不知道还有什么方法可以获取文件权限更改的确切时间。对受影响的文件启用审计将捕获任何未来发生的事件。了解该时间将有助于将此事件与其他正在发生的事情(登录、cron 作业)相协调。正如 @AaronCopley 所说,过度热心/能力不足的 ITSecurity 可能是原因之一。

所有服务器上都发生了以下情况

这看起来像是启动消息。但您在物理主机上遇到了问题?这可以为更新理论提供一些依据 - 但奇怪的是您没有提到重新启动。

答案2

使用“审计”系统来检测哪些进程可能正在改变权限:

auditctl -w /usr/lib/qemu/qemu-bridge-helper -p wa

它是否具有某种安全措施来扫描系统并从程序中删除 SUID 位?

但事实并非如此。

[Sun Oct  8 06:33:57 2023] systemd[1]: systemd 247.3-7+deb11u4 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[Sun Oct  8 06:33:57 2023] systemd[1]: Detected architecture x86-64.

这看起来有点像systemctl daemon-reexec(又名telinit u)作为软件包升级的一部分完成,也许是在 Debian 的常规无人值守升级运行或某种其他类型的 cronjob 期间。

相关内容