[願創]Samba3+Samba3-vscan-0.4.0 + Clam AntiVirus-0.93.3
聲明: Windy.Chan 14, July, 08 V1
歡迎轉載,但務必在轉載時註明出處 <http://blog.chinaunix.net/u/9951/showart_1079422.html>.
背景:實時地保護Linux Samba共享系統 (注:不是清除被病毒感染的文件,而是直接刪除被感染的文件)。
系統環境: Slackware 11, 內核:1 2.6.16 #6 SMP)
準備相關工具及軟體:
zlib-1.2.3 (因為 clamav-0.93.3 及相關軟體都需要較新版zlib (強烈建議))
samba-3.0.21c (我測試過3.0.30和最新的3.2.X, Samba方面都沒什麼問題,但編譯samba3-vscan-0.4.0-snapshot1均是失敗告終,看來還是samba3-vscan這玩意太舊了,無法與新版的Samba結合使用)。
clamav-0.93.3 (Clamav 自生是只能查病毒,卻不能實時保護系統,無法清除文件上的病毒)
samba3-vscan-0.4.0-snapshot1
1.安裝最新版 zlib-1.2.3.tar.gz
# tar -zxvf zlib-1.2.3.tar.gz# cd zlib-1.2.3
# make clean
# ./configure -s
# make
# make install
2.安裝 clamav-0.93.3
# groupadd clamav
# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav //要先建立clamav的使用者及群組,才能安裝clamav
tar -zxvf clamav-0.93.3.tar.gz
#./configure --sysconfdir=/etc
#make
#make install
編輯: /etc/clamd.conf
1), 首先是在Example 前面加上#號註釋掉此行
2), 把找到: LocalSocket 設為
LocalSocket /tmp/clamd.socket (注意不是:LocalSocket = /tmp/clamd.socke )
其它設定在此不一一解釋了
4, 安裝/升級Samba
1), 查詢原本server所安裝的 samba 版本 (samba3-vscan-0.4.0-snapshot1必須在Samba 3以上版本運行,若你的Samba是2.X則需要升級到3.X, 我測試過最新的 Samba 3.2.x,所有Samba應用都OK,但到最後安裝samba3-vscan-0.4.0-snapshot1時無法成功,這應該是samba3-vscan-0.4.0-snapshot1的版本太老了,目前最新的也只有這個,還是05年出的呢)
升級Samba的方法有多種啦,我是用源程序安裝的SAMBA,建議原來smb.conf複製出來備份,刪除安裝目錄就OK了 (/usr/local/samba)
2),安裝samba-3.0.21c.tar.gz
# cd .. /usr/src/
#tar zxvf samba-3.0.21c.tar.gz
#tar jxvf samba3-vscan-0.4.0-snapshot1.tar
# mv samba3-vscan-0.4.0-snapshot /usr/src/samba-3.0.21rc2/examples/VFS
# cd samba-3.0.21c/source/
# ./configure && make headers
# make && make install (由於在./configure沒有指定安裝路徑,因為samba被默認安裝到/usr/local/samba
3).安裝編譯samba-vscan
# cd .. /usr/src/samba-3.0.21rc2/examples/VFS/samba3-vscan-0.4.0-snapshot
# ./configure && make
4).設定
請檢查 /usr/local/samba/lib/vfs中的相關文件 (Vscan 的庫文件,確認有vscan-clamav.so等)
# 複製vscan的配置文件, VSCAN可以結合多種殺毒軟體起用,如symantec, Kaspersky, trend等, 當然我們這裡用的是clamav,因此,只需要把clamav中的vscan-clamav.conf複製到/etc/就去就行了。
# cd /share1/src/samba-3.0.21c/examples/VFS/samba3-vscan-0.4.0-snapshot1
# cp /clamav lamav/vscan-clamav.conf /etc/
修改一些配置,使其與 clamd.conf的一些設置匹配
# vi /etc/vscan-clamav.conf
4.1), 首先是在Example 前面加上#號註釋掉此行
4.2),找到clamd socket name ,設為
clamd socket name = /tmp/clamd.socket (相同clamd.conf中的 LocalSocket /tmp/clamd.socket)
4.3) 找到infected file action = delete
如何為infected file action = nothing 則表示對感染的文件不處理,是infected file action = delete 則刪除感染的文件。
5.修改 smb.conf (如果你原來也是Samba 3.X 基本上可以把剛才備份的那個smb.conf複製到/usr/local/samba/lib/中,適當加以修改即可)
# vi //usr/local/samba/lib/smb.conf
在 區段中,加入兩行
vfs object = vscan-clamav
vscan-clamav: config-file = /etc/vscan-clamav.conf
### 完成了,重新啟動 samba
/etc/rc.d/rc.samba restart
###啟動clamav
/usr/local/sbin/clamd --config-file=/etc/clamd.conf
大功告成了。測試,把一個小小的病毒文件,向共享盤存放,
會有一些對話框彈出來,看到了嗎? 存不進去哦!
(本文還在修改整理中)
[ 本帖最後由 windychan 於 2008-7-21 21:06 編輯 ]
《解決方案》
不錯的文章,學習了。
《解決方案》
樓主辛苦了,頂一個先.
《解決方案》
好文章,要多支持!