Dakuzo + Clamav 实现 Linux 系统 FileSystem 实时病毒防护
前些时候的blog,介绍了使用amavisd + clamav + spamassassin 实现邮件病毒检查和垃圾邮件过滤的解决方案,这次介绍通过 dakuzo + clamav 实现文件系统实时病毒防护。
* What is Dakuzo:
A common interface across all platforms is needed for 3rd party file access control. With such an interface, focus could be redirected from OS hacking to solving real problems. The interface is here. It is called Dazuko.
通过Dakuzo,可以将内核对文件的操作通过devfs输出给其他软件进行相应处理,这里使用clamav是因为在linux下简单方便的配置就是clamav,而且还能和邮件病毒检查共用一套引擎。
首先download一个Dakuzo,并且解压缩,配置,编译。
tar zxvf dazuko-2.0.6.tar.gz
cd dazuko-2.0.6
./configure
make
请注意,你的系统必须安装了Kernel-source的rpm包,否则就要手动指定一个kernel-source目录了。
编译完成后,获得了dazuko.o和dazuko.ko。前者是给2.4内核的linux用的,后者是给2.6内核的linux和bsd系统用的。
执行ismod将dazuko模块插入内核:/sbin/insmod dazuko.ko 。顺便说一下,每次启动系统的时候,都要重新插入一下这个模块。用rmmod可以卸载模块。
加载完成后,执行cat /proc/modules应该可以看到这个模块了。看不到说明编译出了问题,或者insmod出了问题。
执行cat /proc/devices,应该可以看到dazuko的设备编号默认是254,这个是编译时候的默认参数。
执行如下命令创建devfs,并设置权限:
mknod -m 600 /dev/dazuko c 254 0
chown root:root /dev/dazuko
好了,现在dazuko可以转了。现在配置clamav。
编辑/etc/clamd.conf,找到#User clamav,将注释符号去掉,改成User root,用root身份启动,否则不能使用devfs获得dazuko的信息。
找到如下配置项目,去掉前边的注释符号,使配置生效:
ClamukoScanOnAccess #启用扫描
ClamukoScanOnOpen #文件打开时候扫描
ClamukoScanOnClose #文件关闭时候扫描
ClamukoScanOnExec #文件执行时候扫描
配置 ClamukoIncludePath /www/ ,即需要监控的路径。ClamukoExcludePath 的设置使要排除的路径,建议把一些不用的目录排除,节约系统资源。
最后重新启动服务:/etc/init.d/clamd restart,即可
至此,Linux也向windows一样有了文件实时监控了。
1299F。
1300F