今天我接到安全人员的电话,告诉我一台机器的 /etc/passwd 文件被截断了(0 字节)。几天前 /etc/group 也发生过同样的情况。
我试图找出原因,但没有成功...有人可以告诉我应该在哪里寻找吗?
我正在运行 Red Hat 5.7 x86_64。
答案1
如果你觉得自己被黑客攻击了,我强烈建议我该如何处理受到感染的服务器?。
否则,请检查 root 的.bash_history
,查找诸如输出重定向到 之类的内容/etc/passwd
。如果您使用sudo
来控制 root 访问,请检查当时的 sudo 日志(文件的修改时间很可能会告诉您它何时被清零)。
看在上帝的份上,别再使用 Red Hat 5.7 了。你运行的操作系统的补丁已经过期了将近一年,而且没有理由。Red Hat 的修补政策是,任何软件包的版本都不会在操作系统的主要版本中升级;而是将补丁反向移植。这样做的目的是,您应该能够不断为 RHEL5 打补丁,而不会危及任何功能。
从很多方面来看,甚至没有“Red Hat 5.7”这样的东西;RHEL 5.7 并不是真正的操作系统发布版本,它只是 2012 年 12 月 3 日 RHEL5 补丁当前状态的一条线。当您说“我正在运行 RHEL 5.7”时,您实际上是在说“我正在运行 RHEL 5,而且已经过时一年了”。
答案2
如果您正确配置了守护进程来监视关键文件,那么找出原因将容易得多auditd
。除了其他人转发的建议之外,您还可以尝试在文件中寻找提示/var/log/audit/audit.log
并使用aureport
和ausearch
命令。
例如,您可以运行ausearch -f passwd
列出与 passwd 文件相关的所有审计信息。
将来,您可能需要遵循CIS Red Hat Enterprise Linux 5 Benchmark
如何配置审计守护程序以监视(-w)某些文件中设置的安全指南。以下是您需要添加到的几行/etc/audit/audit.rules
-
影响身份的因素:
-w /etc/group -p wa -k identity
-w /etc/passwd -p wa -k identity
-w /etc/gshadow -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/security/opasswd -p wa -k identity
答案3
@MadHatter 提供了一个良好的开端。除此之外,下面是我在这样的日子里一直使用的一个小窍门:
find /filesystem1 /filesystem2 -xdev -printf '%T@ %t %p\n' | sort
%T@
修改时间,纪元秒(用于排序)
%t
修改时间,人类可读
%p
完整文件路径
根据口味调味。一次在一个已安装的文件系统上运行,或者在您认为相关的多个文件系统上运行。
它的作用是为您提供按时间戳排序的对文件的最新修改的审计。这有时可以让您了解未知事件发生时发生的其他事情。它当然不是万无一失的,可能根本不会透露任何东西,但我偶尔发现它在识别未知事件发生时正在执行的工作方面非常有用。(例如,有人rm -Rf
在 /lib 而不是 Tomcat 的 lib 上执行...)