Chkrootkit误报的"白名单"

我想要将chkrootkit的一些误报加入“白名单”,因此我希望使用/etc/chkrootkit.conf作为“白名单”。
但是这样做并不起作用: RUN_DAILY_OPTS="-q -e '/sbin/init /sbin/dhclient'"
我仍然收到以下误报:
警告:/sbin/init被感染 eth0:数据包嗅探器(/sbin/dhclient(已删除)[...])
我知道这不是真正的白名单,但是误报不应该每天给我发送电子邮件。 chkrootkit版本0.49
1个回答

你可以把它们放在一个...
/etc/chkrootkit.filter

当你把这个放进去的时候...
^eth0: PACKET SNIFFER\(/sbin/dhclient\[[0-9]*\])$

它将忽略eth0上的dhclient。将此文件添加到/etc/cron.daily/chkrootkit中。查找...
$CHKROOTKIT $RUN_DAILY_OPTS

使用您最喜欢的编辑器打开它,并将其更改为...
$CHKROOTKIT $RUN_DAILY_OPTS | grep -v -f $FILTER || true

并(在开头的某个地方)添加...

FILTER=/etc/chkrootkit.filter

在...之后
CF=/etc/chkrootkit.conf

在开始之前,先做一些...

./chkrootkit

应该显示对dhclient的误报引用,并在编辑后再次运行。对dhclient的引用应该消失。

不过要注意:如果您添加到其中的任何内容被感染,您将不再收到警告。因此,在进行此类过滤时要小心。更好的做法是让“他们”更新他们的定义。


1在最近的 chkrootkit 版本中(debian/ubuntu 上的 >=0.52-1),现在已经内置了一个 /etc/cron.daily/chkrootkit 中的 IGNORE 变量,您可以在其中提供自己的过滤/忽略文件。请参阅 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=660998 - Mossroy
@Mossroy,这样做有点失去了它的意义,因为我脑海中首先浮现的问题是:“那么如果恶意软件制作者针对一个被chrootkit忽略的文件进行攻击并感染了它,会发生什么呢?” - Rinzwind
最近在chkrootkit的Debian/Ubuntu软件包中实施的几乎与您接受的答案完全相同(除了他们将变量称为IGNORE而不是FILTER)。它过滤/忽略chkrootkit的输出行,而不是文件本身。默认情况下,它是安全的,因为该变量指向/dev/null。我不明白它如何破坏chkrootkit的目的:在所有情况下,选择正确的忽略规则是管理员的责任。 - Mossroy
为了避免出现错误邮件,例如find: '/proc/24157': No such file or directory,我还在/etc/cron.daily/chkrootkit中将eval $CHKROOTKIT $RUN_DAILY_OPTS的两个出现替换为eval $CHKROOTKIT $RUN_DAILY_OPTS 2>&1,并在忽略/过滤文件中添加了^[ \t]*find: '/proc/[0-9]+': No such file or directory[ \t]*$ - Mossroy