五月
31
2007

我的黑手日誌 – 安裝ClamAV

我公司在大陸有一台主機是我負責管理,上面有我公司在大陸所有分公司每天要使用的系統.
前天有使用者反應,登入系統之後,PC上面安裝的防毒軟體會跳出警告訊息.
而這台主機上面因為我偷懶加上相信Linux要中毒不太容易,所以就沒有安裝防毒軟體.
不過因為使用者有提出這樣的問題,為了解決使用者心中的疑惑.
於是我就著手安裝防毒軟體.

以下是我的操作歷程
透過urpmi進行安裝
1. [[email protected] init.d]# urpmi clamav
2. [[email protected] init.d]# urpmi clamd
3. 安裝完畢之後啟動 clamav : [[email protected] init.d]# clamd start
4. 更新病毒碼 : [[email protected] init.d]# freshclam

結果顯示
ClamAV update process started at Wed May 30 20:10:51 2007
WARNING: Your ClamAV installation is OUTDATED!
居然過期了….
查了一下ClamAV官方網站,我透過urpmi安裝的版本是0.87,最新版是0.90.2
台灣的mirror站,版本實在是太舊了,於是我就透過easy urpmi去找國外的mirror站

移除台灣的來源
[[email protected] init.d]# urpmi.removemedia -a
removing medium "main"
found 0 headers in cache
removing 0 obsolete headers in cache
wrote config file [/etc/urpmi/urpmi.cfg]

換上美國的mirror站
[[email protected] init.d]#  urpmi.addmedia main ftp://mirrors.usc.edu/pub/linux/distributions/mandrakelinux/devel/2006.0/i586/media/main with media_info/hdlist.cz

[[email protected] init.d]#  urpmi.addmedia contrib ftp://mirrors.usc.edu/pub/linux/distributions/mandrakelinux/devel/2006.0/i586/media/contrib with media_info/hdlist.cz

然後移除舊的Clamav
urpme clamav-db這個指令之後,會把clamd,clamav也一併移除掉

再次透過urpmi進行安裝
[[email protected] init.d]# urpmi clamav
To satisfy dependencies, the following 3 packages are going to be installed (10 MB):
clamav-0.90-0.1.20060mdk.i586
clamav-db-0.90-0.1.20060mdk.i586
libclamav1-0.90-0.1.20060mdk.i586
Is this OK? (Y/n)
還是一樣是舊版的.

看來還是下載Source Code回來自己Complie吧
我最後放棄使用urpmi來安裝了,於是又回到最古老的方法,下載Source Code回來安裝.
以下是操作的步驟

檢查一下自己的kernel是否符合要求
[[email protected] init.d]#  uname -r

建立群組和使用者
因為剛剛已經有使用過urpmi進行過安裝,所以現在系統裡面會有clamav群組clamav這個使用者
如果沒有的話下面是建立的方法
[[email protected] init.d]# groupadd -g 40 clamav
[[email protected] init.d]# useradd -c "CLAMAV Owner" -g clamav

開始進行Complie 
[[email protected] init.d]#  ./configure –prefix=/usr/local/clamav –libexecdir=/usr/local/sbin –disable-clamuko –with-usr=clamav –with-group=clamav ( 全部打在同一行上)
Disable Clamuko的原因
Clamuko settings
WARNING: This is experimental software. It is very likely it will hang up your system!!!
make
make install

建立相關目錄與設定權限
mkdir /usr/local/clamav/run
mkdir /usr/local/clamav/db
chown -R clamav:clamav /usr/local/clamav

修改clamd.conf 和 freshclam.conf 設定檔 : 藍色字是我修改過的
vi /usr/local/clamav/etc/clamd.conf
Line  8 : Example -> #Example
Line 14 : #LogFile /tmp/clamd.log -> LogFile /var/log/clamav/clamd.log
Line 30 : LogFileMaxSize 2M -> LogFileMaxSize 0
Line 65 : #DatabaseDirectory /var/lib/clamav -> DatabaseDirectory /usr/local/clamav/db
Line 72 : LocalSocket /tmp/clamd -> LocalSocket /usr/local/clamav/run/clamav.sock
Line 145 : #User clamav -> User clamav

  vi /usr/local/clamav/etc/freshclam.conf : 藍色字是我修改過的
Line 8 : Example -> #Example
Line 13 : #DatabaseDirectory /var/lib/clamav -> DatabaseDirectory /usr/local/clamav/db
Line 34 : #PidFile /var/run/freshclam.pid -> PidFile /usr/local/clamav/run/freshclam.pid
Line 95 : #NotifyClamd /path/to/clamd.conf -> NotifyClamd /usr/local/clamav/etc/clamd.conf

接著執行
啟動 clamav : [[email protected] init.d]# clamd start
更新病毒碼 : [[email protected] init.d]# freshclam
耶~~順利更新病毒碼囉

開始進行掃毒
[[email protected] init.d]# clamscan -l /data/virus_scan/scan_logs/scan.log -r /www ( 全部打在同一行上)
-l /data/virus_scan/scan_logs/scan.log : 我指定掃毒的log存放位置與檔案名稱
-r /www : 掃描的目錄
–move=/data/virus_scan/infect_files/ : 如果檔案受到感染,將檔案移動到這個目錄

寫進排程 : crontab -e
## Clamav batch
* 6,12,18,00 * * * clamav /usr/local/clamav/bin/freshclam ## 六個小時檢查一次更新
* 00 * * 6 clamav /usr/local/clamav/bin/clamscan -l /data/virus_scan/scan_logs/scan.log -r /www –move=/data/virus_scan/infect_files/ ## 每個星期六凌晨12點進行掃毒

我今天到公司之後,更新病毒碼又出現. WARNING: Your ClamAV installation is OUTDATED!
是超級無言的啦!! 所以就將舊版的ClamAV砍掉,下載最新版本0.90.3,
接著又重複了以上的步驟一次,ClamAV難道不能夠提供引擎在更新的時候也一併更新嗎?
老是要這樣砍掉,然後再重新安裝一次,是很累人的耶.

Comments are closed.