今天早上 Logrotate 向我抱怨它不会轮换某些日志,因为它们的父目录可由 root 以外的其他人写入。手册页指出,我可以通过添加“su”指令来消除错误消息,该指令使 logrotate 在旋转特定日志文件时放弃 root 权限。到目前为止,一切都很好。
我想知道的是(手册页对此没有提及),如果不采取这种预防措施,恶意用户如何利用 logrotate?只要 logrotate 的配置只能由 root 更改(好吧,logrotate 的配置由 cron 触发并以 root 身份运行),攻击者就无法使 logrotate 接触任意文件,我会假设 logrotate 不会接触符号链接?
小智 1
一种可能的攻击是创建一个只有 root 可以访问并且有权访问该文件的文件的硬链接logrotate
。
虽然简单的旋转不会造成任何损害(考虑仅使用mv(1)
和进行旋转rm(1
),但许多指令将logrotate
读取或写入文件或将其传递给子进程(copytruncate
、mail
、shred
等),因此可以访问文件的副本获得或可以修改原始文件。
请注意,可以使用大多数(所有?)发行版当前强制执行的protected_hardlinks sysctl来防止这种类型的攻击,但是在定制内核上或者如果管理员出于某种原因需要禁用它,这种情况仍然可能发生。
归档时间: |
|
查看次数: |
481 次 |
最近记录: |