最近公司的電腦老是在中毒,發現了這個好東西。
Havp (HTTP Anti Virus Proxy)
正如其名,透過Proxy對User下載的東西作即時的病毒掃瞄,發現病毒就直接阻擋。
Havp可以搭配多種防毒引擎,這邊我使用了ClamAV搭配Trend (因為ClamAV的防毒能力實在有點糟糕,只好加上Trend作輔助。)
系統使用CentOS 4.4
1.首先下載ClamAV相關套件
yum install clamav clamav-devel 安裝好ClamAV
2.到 趨勢科技 下載 for Linux專用的防毒引擎
http://www.trendmicro.com/download/zh-tw/engine.asp
tar zxvf vsapi-x86-linux-xxxx.tar.Z
解開後將 libvsapi.so 複製到 /usr/lib
mkdir /etc/iscan
ln -sf /usr/lib/libvsapi.so /etc/iscan/ 建立連結
在/etc/cron.daily底下建立一個trophie_update.sh用來每日更新病毒碼
檔案內容為
#!/bin/bash
cd /usr/local/trophie/pattern
rm -f pattern.asp lpt*.zip
wget -q http://www.trendmicro.com/download/zh-tw/pattern.asp
if [ -f pattern.asp ]
then
{
PATTERN=$(fgrep lpt pattern.asp | grep "ftp" | awk -F"<" '{print $2}' | awk -F"\"" '{print $2}')
if [ "$PATTERN" != "" ]
then
{
echo $PATTERN
RELEASE=`basename $PATTERN | cut -b 4-|cut -f1 -d"."`;
PRESENT=`ls -asl /etc/iscan/*.$RELEASE 2> /dev/null | wc -l`;
if [ $PRESENT != 1 ]
then
{
wget $PATTERN && FILENAME=`basename $PATTERN` && unzip -o $FILENAME \
-d /etc/iscan && kill -SIGHUP `cat /var/run/trophie.pid`
}
fi
}
fi
}
fi
建立暫存目錄mkdir -p /usr/local/trophie/pattern
執行/etc/cron.daily/trophie_update.sh 下載病毒碼
3.到 http://www.vanja.com/tools/trophie/ 下載Trophie 病毒掃瞄程式
Trophie使用TrendMicro的引擎,目前最新版本為1.12
tar jxvf trophie-1.12.tar.bz2 解開原始碼
cd trophie-1.12
執行./configure;make clean all
中途如果沒有編譯失敗,就會產生一個trophie的執行檔。
執行./trophie
Initializing : VSAPI version 8.000-1001
Initializing : Pattern version 927 (pattern number 142913)
Socket path : /var/run/trophie
Timeout : 300 seconds
Running as user : mail
Socket group : mail
Max processes : 20
PID file : /var/run/trophie.pid
Trophie version : 1.12
看到以上訊息就表示Trophie正常運作嘍
將trophie copy到/usr/sbin底下 cp ./trophie /usr/sbin
在/etc/rc.local中加上
/usr/sbin/trophie -D
讓trophie開機時自動啟動
4.安裝Havp
首先到Havp的官方網站,下載最新版的原始碼。
http://www.server-side.de/download.htm
tar zxvf havp-0.83.tar.gz 解開原始碼
cd havp-0.83
./configure;make clean all install
編譯完成後
在/usr/local/sbin 會多出一個havp的執行檔
編輯/usr/local/etc/havp/havp.config
修改以下幾個地方
TEMPDIR /var/tmp/havp
TRANSPARENT true
設定掃瞄最大檔案大小為3MB
MAXSCANSIZE 3145728
啟用 ClamAV 掃瞄病毒
ENABLECLAMD true
CLAMDSOCKET /var/run/clamav/clamd.sock
啟用 Trophie 掃瞄病毒
ENABLETROPHIE true
如果你有上層的Proxy 請加入Proxy設定
PARENTPROXY localhost
PARENTPORT 3128
建立Havp的使用者帳號以及群組
useradd -s /bin/false havp
建立暫存目錄
mkdir -p /var/tmp/havp
因為Havp需要獨立分割區運作,我們採用檔案掛載的方式來解決。
dd if=/dev/zero of=/home/havp/havp_tmp.img bs=128K count=1 seek=1024
這邊我們建立一個128MB的空間
接著將他格式化為ext3
mkfs -t ext3 /home/havp/havp_tmp.img
在/etc/fstab裡加入
/home/havp/havp_tmp.img /var/tmp/havp ext3 defaults,loop,mand 0,0
接著掛載檔案
mount /var/tmp/havp
變更目錄擁有者以及權限
chown havp.havp /var/tmp/havp
chmod 700 /var/tmp/havp
再來就是啟動havp嘍
/etc/init.d/havp start
將/etc/init.d/havp start 加入到/etc/rc.local中讓他開機自動啟動
5.將使用者對外的http連線統統導向Havp
iptables -t nat -A PREROUTING -p tcp -s 192.168.0.0/24
--dport 80 -j REDIRECT --to-ports 8080
這邊是假設您的內部網路是192.168.0.*,請依照您實際的網路架構作修改。
6.測試
連結到eicar,下載他的病毒測試檔,他的病毒測試檔,只是用來測試您的防毒軟體定義是否正確,並不會危害到您的電腦。
http://www.eicar.org/anti_virus_test_file.htm
如果您看到了以下的網頁,那就恭喜您,Havp已經正常運作嘍。
留言列表