使用防病毒软件 clamav 和 clamfs 来扫描文件系统

使用防病毒软件 clamav 和 clamfs 来扫描文件系统

我的系统是CentOS5-5。

我想用 clamfs 监视指定根目录下的子目录,并在检测到任何可疑文件时立即删除。

到目前为止,我已经安装了 clamav,然后安装了 clamfs。我的问题是,当我将带有病毒签名的文件放在我的根目录下时,clamfs 没有反应,我怀疑 clamfs 和 clamd 之间没有通信。

下面我将详细介绍如何配置 clamav 和 clamfs :

/etc/clamd.conf:

LogFile /var/log/clamav/clamd.log
...
LogVerbose yes
...
LocalSocket /var/run/clamav/clamd.sock
...
User clamav
...
AllowSupplementaryGroups yes
...

我使用以下命令以 root 身份启动 clamd(由于上述文件,进程 clamd 属于用户蛤蜊):

service clamd start

/etc/clamfs/clamfs.xml, 我设置 :

  • 与文件 clamd.conf 中的套接字相同
  • 要扫描的目录的根目录范围
  • 该目录将是根目录的副本挂载点范围
  • clamfs 的日志文件

clamd 套接字="/var/run/clamav/clamd.sock

...

文件系统根目录="MyPathToScan" 挂载点="CopyOfMyPathToScan" 公共="yes" 非空="yes"

...

日志方法=“文件”文件名=“PathToLogFile”详细=“是”

我想要使​​用 clamfs 扫描的根目录及其所有子目录和文件都属于 user01(属于 user01 组)。因此,我还将用户 clamav 设置在组“user01”中。

我使用 root 身份启动 clamfs 如下:

clamfs /etc/clamfs/clamfs.xml

我补充说我的病毒数据库是最新的。

我注意到的问题如下:

  • 在 clamfs 的日志文件中,当我将带有病毒特征的文件放入根目录时没有任何内容出现,但当我运行“clamscan”时它会被检测到。
  • 如果我在这个根目录中运行“clamdscan”,我会出现以下错误(我补充说 SELinux 已“禁用”,所以这不是问题):

lstat() 失败:权限被拒绝。错误

  • 如果我使用以下命令运行clamd用户而不是蛤蜊,我没有出现上面的“Permission denied”,但是clamfs还是不起作用。

感谢您的帮助 !

西尔万

答案1

我注意到问题可能来自 apparmor。我试图为我的主目录设置 clamfs,但它一直在抱怨。然后我创建了一个 apparmor 配置文件,它就正常工作了 :)

$ cat /etc/apparmor.d/usr.bin.clamfs 

为了简单起见,我复制了 clamav armor 并修改为 clamfs - 猜测:

#include <tunables/global>

/usr/bin/clamfs {
  #include <abstractions/base>
  #include <abstractions/nameservice>

  # LP: #433764:
  capability dac_override,

  @{PROC}/filesystems r,
  owner @{PROC}/[0-9]*/status r,

  /etc/clamfs/* r,
  /etc/fuse.conf r,

  /usr/bin/clamfs mr,

  /tmp/ rw,
  /tmp/** krw,

  /var/run/clamav/clamd.ctl rw,

  # Allow home dir to be scanned
  /media/disk/* rw,
  /media/disk/** rw,

  # Site-specific additions and overrides. See local/README for details.
  #include <local/usr.bin.clamfs>
}

我还将 /etc/init.d/skeleton 复制到 /etc/init.d/clamfs-home,并根据我的直觉进行编辑,使其可执行并调用 update-rc.d clamfs-home defaults。然后使用 /etc/init.d/clamfs-home start 执行,耶!让我们看看它是否会在重启后恢复。我想知道的是如何使用非 root 用户运行 clamfs...

相关内容