Logrotate 和“不安全的权限”:实际上可能出现什么问题?

Logrotate 和“不安全的权限”:实际上可能出现什么问题?

今天早上 Logrotate 向我抱怨说它不会轮转某些日志,因为它们的父目录可由 root 以外的人写入。手册页指出,我可以通过添加“su”指令来消除错误消息,该指令使 logrotate 在轮转特定日志文件时放弃 root 权限。到目前为止一切顺利。

我想知道的是(手册页对此只字未提),如果 logrotate 不采取这种预防措施,恶意用户如何利用它?只要 logrotate 的配置只能由 root 更改(好吧,logrotate 的配置由 cron 触发并以 root 身份运行),攻击者就无法让 logrotate 接触任意文件,而且我认为 logrotate 不会接触符号链接?

答案1

一种可能的攻击是创建一个只有 root 才能访问的文件的硬链接logrotate

虽然简单的旋转不会造成任何危害(想想只用mv(1)rm(1)进行旋转),但许多指令会logrotate读取或写入文件或将其传递给子进程(,,,copytruncate等等),因此可以访问文件的副本或修改原始文件。mailshred

请注意,可以使用以下方法防止此类攻击protect_hardlinks 系统控制大多数(所有?)发行版目前都强制执行,但这仍然可能发生在定制的内核上,或者管理员由于某种原因需要禁用它。

相关内容