最近,有人以非根用户的身份闯入了我们的linux服务器。
摘录自.bash_history:
[...]
perl
perl
set +o history
set +o history
set +o history
passwd
sdfsdf
passwd
exit我假设set +o history切换命令记录到.bash_history
是否有办法使历史记录不能被禁用?
有没有办法找出如果历史被残废的话会发生什么?
发布于 2011-06-17 13:59:55
在通常的情况下,巴什的历史不会帮助你对抗半胜任的攻击者。
还有一种选择:审计子系统。安装审计%d并对其进行配置,这样它就可以记录例如程序的执行情况和您配置的其他事情。基本上,在日志中,系统调用是根据您创建的过滤器进行的。
现在,如果您确实希望依赖bash历史记录,可以使其更加安全:最近的bash版本可以登录到syslog,而不是本地用户文件。然后,可以将syslog重定向到远程syslog服务器(如果对您重要的话)。
发布于 2011-06-17 11:35:14
如果允许从shell执行非shell命令,那么它不会有任何帮助。例如,您可以通过运行perl (或其他一些脚本语言)并从那里调用命令来省略bash,从而避免bash日志记录。
发布于 2011-06-17 18:39:47
将所有用户shell设置为巴什限制壳。在/etc/passwd中,将shell设置为/bin/rbash (应该是指向/bin/bash的simlink )或/bin/bash -r
Bash受限shell阻止用户更改命令历史记录之类的shell选项。
https://security.stackexchange.com/questions/4607
复制相似问题