我正在尝试记录用户在我们的服务器上运行的所有命令,然后将它们发送到一个集中式日志服务器。
为此,我创建了一个 rsyslog 记录器,它使用 /var/log/commands.log
将所有内容写入一个文件 (history
)。命令。然后我使用 filebeat 将日志发送到日志服务器。我的问题是有人能够 unset HISTFILE
这将停止记录。我不太担心有人在做echo "" > .bash_history
因为我要立即将日志发送到另一台服务器。
它不应该是 super 万无一失的,因为一切都可以被智取,但我仍然想改进它。是否可以为 HISTFILE
的更改创建审核监视? ?或者创建某种监听器,每当用户取消设置 HISTFILE 时,它会立即将其设置回来并提醒我?我应该创建一些每 5 秒设置一次 HISTFILE 的守护进程吗?
非常感谢!
顺便说一句,我知道可以使用 auditd 记录命令,但它记录了系统也运行的命令,这使一切变得困惑。
最佳答案
解决了,
创建文件:/etc/profile.d/histfile.sh
并在其中放入:
HISTFILE="${HOME:-~}/.bash_history"
readonly HISTFILE
关于linux - 注意变量变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63434357/