我跑了Rootkit 猎手1.4.0 在 Debian Wheezy 服务器上,我对输出感到困惑。
我使用以下配置启用了每个测试:
ENABLE_TESTS="all"
DISABLE_TESTS="none"
输出如下:
Warning: The following processes are using deleted files:
Process: /usr/sbin/mysqld PID: 2036 File: /tmp/ibi1WkYB
Process: /usr/sbin/cron PID: 7468 File: /tmp/tmpf73tnoh
Process: /bin/dash PID: 7469 File: /tmp/tmpf73tnoh
Process: /bin/run-parts PID: 7470 File: /tmp/tmpf73tnoh
Process: /var/virtualenvs/project_foo/bin/python PID: 28542 File: /tmp/wgunicorn-cIAtc2
Process: /var/virtualenvs/project_foo/bin/python PID: 28547 File: /tmp/wgunicorn-cIAtc2
Process: /var/virtualenvs/project_foo/bin/python PID: 28548 File: /tmp/wgunicorn-cIAtc2
Process: /var/virtualenvs/project_foo/bin/python PID: 28549 File: /tmp/wgunicorn-cIAtc2
Warning: Process '/sbin/dhclient' (PID 1328) is listening on the network.
其中大多数肯定是误报,但我想了解这些误报背后发生了什么,并修复那些不是误报的。这份报告不是凭空而来的,从 RKHunter 第一次运行开始我就有这些行了。
关于已删除的文件
RKHunter 每天通过 cron 运行,这解释了为什么/usr/sbin/cron
(/bin/run-parts
也许/bin/dash
还有?)会出现在这里。
但是,我不明白为什么:
1) 所有这些已删除的文件均由进程使用。此报告是否意味着每个进程都在尝试使用已删除的文件,或者是否在某个时间点使用了当时存在但之后被删除的文件?我认为如果答案是第一个选项,则可能存在问题。可以/应该修复吗?
2) 同一程序的 4 个进程正在使用同一个已删除文件。即使使用已删除文件是误报,此报告中是否有内容表明这 4 个进程是错误的(而不是只有一个)?我知道这可能完全是应用程序特定的,并且此处的报告可能没有答案,但我只是想了解它们为什么在这里。作为信息,它们指的是在整个服务器中仅运行一次的 Web 应用程序(单线程和单核)。
关于聆听过程
我确实在此服务器上运行了 DHCP(开箱即用,我没有对其进行调整,也没有了解有关 DHCP 的太多细节)。
3) RKHunter 报告警告是否正常?如果是误报,是否有明显的原因导致这里没有报告其他正在监听网络的进程(例如sshd
,...)?
当然,如果需要的话,我会尽量提供尽可能多的信息,如果我忘记提供具体的有用数据,请随时询问。
答案1
首先,这些不是“假阳性”。rkhunter 报道的是事实,它并没有对这些事实进行任何解释。
该报告是否意味着这些进程中的每一个都试图使用已被删除的文件,或者它在某个时候使用了当时存在但后来被删除的文件?
报告向您展示了在文件被删除时打开了文件的进程。您需要确定这些进程的行为是否合法/可接受。
...该报告中是否有内容表明这 4 个过程存在错误(而不是只有一个)?
您认为错误是什么?有 4 个独立进程(如不同的 PID 编号所示),这就是 rkhunter 所报告的。
RKHunter 对此报告警告是正常的吗?
rkhunter 带有通用配置;它无法知道你预计 dhcpd 正在运行那特定机器——你必须进行一些配置。rkhunter FAQ 的第 6 节详细介绍了如何将进程/守护进程/等列入白名单
答案2
据我所知,类 Unix 系统上的程序打开文件然后删除它是正常的。您可以在或中禁用该检查 ( DISABLE_TESTS=deleted_files
) 。/etc/rkhunter.conf
/etc/rkhunter.conf.local
据我所知,dhclient
监听网络是正常的。并且/sbin/
是该程序的常用位置。所以我也会将 dhclient 列入白名单。(ALLOWPROCLISTEN=/sbin/dhclient
)