Nov 17

[原]为Samba加上病毒防火墙 晴

linuxing , 11:55 , 网络服务 » 常见服务 , 评论(0) , 引用(0) , 阅读(20668) , Via 本站原创 | |
项目中,需要为客户搭建一个用Samba实现的文件服务器。为保证客户文件的安全,决定给该服务也加上防毒功能。
要给Samba增加病毒防火墙其实不难,有很多的商业防病毒软件可以实现,例如:卡巴斯基等。不过,也可以使用开源的软件实现,功能上也能基本满足要求:
引用
1、实时过滤进入Samba服务器的文件;
2、发现病毒文件后自动移动到隔离区;
3、可通过日志检查病毒来源;

一、软件
要给Samba增加病毒防火墙最好需要两个部件:
引用
1、防病毒软件,这里用开源软件:clamav举例;
2、中间插件,作用是为Samba调用相关的防病毒控件,以实现功能,官方支持是vscan。

此外,Samba在编译的时候,也必须加上VFS虚拟文件系统支持,否则也是不能实现的。
二、系统要求
经过对不同系统进行对比,发现SuSE和红旗都默认在Samba包中加入了vscan功能,其中红旗DC 5.0的版本是3.5。而红帽默认是不支持的,需要另外安装。
所有,本次系统平台:红旗DC 5.0 for x86
三、部署samba-vsan
1、获取软件
官方网站:OpenAntivirus
最新版本是:3.6b
红旗DC 5.0的Samba包默认已经有3.5,我不准备升级。
引用
# rpm -qf /etc/samba/vscan/vscan-clamav.conf
samba-3.0.14a-25AX

2、配置
配置文件路径是:/etc/samba/vscan/
其中包括多个可支持的防病毒软件配置文件,我们需要用到的是vscan-clamav.conf。
修改几个地方:
a)把
引用
infected file action = nothing

改为
引用
infected file action = quarantine

默认发现病毒后,不会处理。修改为移动到隔离区。也可以修改为直接删除。隔离区的路径在quarantine directory中定义。
b)把
引用
clamd socket name = /var/run/clamd

改为
引用
clamd socket name = /var/run/clamav/clamd.sock

这个是为了和后面的clamd服务对应,以方便vscan调用。
其他配置还可以修改:
包括对某些文件不扫描(exclude file types,用file命令获得定义),扫描最大文件数(libclamav max files in archive),扫描的最大文件大小(libclamav max archived file size),以及目录层数(libclamav max recursion level)等等,都有默认值,相应修改即可。
3、更新
若要更新最新版本,可从源码编译,但需要安装Samba-source包。详细可以看INSTALL文件。
也可直接从rpm安装,地址:点击
※需要注意版本,由于红旗DC 5.0使用的Samba版本是:
引用
# rpm -qa|grep samba
samba-client-3.0.14a-25AX
samba-swat-3.0.14a-25AX
samba-common-3.0.14a-25AX
samba-3.0.14a-25AX

所以,只能使用samba-vscan-clamav-0.3.6-1.i386.rpm以下的版本。否则会出现错误:
引用
samba >= 3.0.21b is needed by samba-vscan-clamav-0.3.6b-2.i386

安装完成后,配置文件会改为:/etc/samba/vscan-clamav.conf
本地下载:
内文分页: [1] [2]
Tags: ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]