只是出于好奇,如果 root 用户错误地停止/启动任何服务并试图从日志文件中删除这些痕迹并保存这些日志文件,该怎么办?那么我们如何确保我们的日志文件是可信的。有没有办法让 root(超级用户)也无法编辑/修改 /var/log/* 文件的内容。
答案1
没有。 root
可以做所有事。
您可以在配置中限制向不同用户授予的权限sudo
,但这无法防止限制访问过于繁琐或人们无论如何都会设法绕过限制。
将您的日志记录到您的用户无权篡改日志的其他系统。
您可以设置syslogd
为除了记录到不同的机器上,或者在另一台机器上/var/log
设置一个作业来定期复制日志文件(例如每分钟发出一次)。cron
rsync
我的同事们已经成立了一个格雷洛格服务器并让我们的 Linux 和 Windows 服务器将其系统日志、事件日志和容器日志发送给它。
您的root
用户仍然可以篡改日志记录机制,但一旦日志被发送,它们就不会受到篡改 - 相反,它们很容易被任何有篡改权限的人篡改那系统。
因此,您无法完全消除问题,但您可以转变它......
答案2
回顾历史,在黑暗时代,在快速网络和大量存储出现之前,我们使用模拟、一次写入、防篡改的存储系统。这是一台专用的点阵打印机,在上锁的门后面放着一盒绿条折叠纸。引导序列 | / - \ 与退格符交错,在纸上留下了一些有趣的洞。