ライン

ポイント:費用をかけずに電子メールに添付されたウィルス駆除ができる

ライン

 はじめに

security/clamav

 ClamAVを再導入し直しします。FreeBSD 9.1によるケースになります。

 導入と設定

導入

 portsから導入を行います。

# cd /usr/ports/security/clamav
# make config

 今回も、milter連動で動作させることを前提にします。

インストールは、そのまままかせて完了を待ちます。

# make install clean

/etc/rc.conf に設定を加えます。

clamd_enable="YES"
clamav_clamd_enable="YES"
clamav_milter_enable="YES"
clamav_freshclam_enable="YES"
clamav_freshclam_flags="--daemon-notify=/usr/local/etc/clamd.conf --checks=12 --user=clamav"
設定ファイルの作成 (freshclam.confとclamd.conf)

 設定ファイルを修正。前回とほぼ変わらない内容。
freshclam.conf を修正します。/usr/local/etc 以下にあります。
毎度でコメントをはずしているもののみを以下の通りに出しました。

# grep -v "^#" freshclam.conf | grep -v '^$'
DatabaseDirectory /var/db/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogFileMaxSize 2M
LogTime yes
LogVerbose yes
PidFile /var/run/clamav/freshclam.pid
DatabaseOwner clamav
AllowSupplementaryGroups yes
DatabaseMirror database.clamav.net
NotifyClamd /usr/local/etc/clamd.conf
OnUpdateExecute /usr/local/etc/rc.d/clamav-milter.sh restart

同様に、clamd.conf は、以下の通り。

# grep -v "^#" clamd.conf | grep -v '^$'
LogFile /var/log/clamav/clamd.log
LogFileMaxSize 2M
LogTime yes
LogVerbose yes
PidFile /var/run/clamav/clamd.pid
DatabaseDirectory /var/db/clamav
LocalSocket /var/run/clamav/clamd.sock
FixStaleSocket yes
User clamav
AllowSupplementaryGroups yes
ScanMail yes

ここで2つのスクリプトを実行してしまいます。

# /usr/local/etc/rc.d/clamav-freshclam start
# /usr/local/etc/rc.d/clamav-clamd start

何もエラーが出ないで起動できればそこでひとまずは完了。

設定ファイルの作成 (/etc/mail)

 FreeBSDのメールの設定を更新します。
/etc/mail 以下の設定を加えることになります。(sendmail側の設定です。)

INPUT_MAIL_FILTER(`clmilter', `S=local:/var/run/clamav/clmilter.sock,F=,T=S:4m;R:4m')dnl

として更新します。

# make cf install all
# make restart

これで反映されました。
最後に残ったスクリプトの起動を実施します。

# /usr/local/etc/rc.d/clamav-milter start

通常、ウィルスを見つけるとメールログには以下のようになります。

- XXX sm-mta[]: r2V8B1IP031432: milter=clmilter, quarantine=quarantined by clamav-milter

ということで、/var/log/clamav/clamd.log にも

- -> fd[10]: Suspect.Bredozip-zippwd-5 FOUND
- -> SelfCheck: Database status OK.
- -> fd[10]: Email.Trojan-350 FOUND

のように残ります。

監視的なプロセス監視

 clam-milt_chk.shという処理を動かしています。
これは過去にも実施している内容です。

*/10    *       *       *       *       root    /bin/sh /usr/local/etc/mail/clam-milt_chk.sh 1> /dev/null 2>&1 /dev/null

 内容はこんなことをやっています、

#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
EXECDATE=`date +%Y-%m-%d.%H:%M|awk '{print $0}'`

COUNT=`grep '^clamav_milter_enable="YES"' /etc/rc.conf | wc -l`
if [ ${COUNT} -eq 0 ]; then
        exit 0
fi

if test -f /var/run/clamav/clamav-milter.pid
then
        PID=`cat /var/run/clamav/clamav-milter.pid`
        COUNT1=`ps -aux | grep "$PID"| grep -v "grep" |  wc -l`
else
        /usr/local/etc/rc.d/clamav-milter.sh start
        echo "Restart : $EXECDATE"
        exit 0
fi

if [ ${COUNT1} -eq 1 ]; then
        exit 0
else
        ps -aux | grep 'sbin/clamav-milter' | grep -v $PID | awk '{print $2}' | xargs kill -KILL
        /usr/local/etc/rc.d/clamav-milter.sh start
        echo "Restart : $EXECDATE"
fi

exit 0

 あまり気にしたことはありませんが、落ちてしまっていたことが幾度とあり加えているものです。
最近動いてリカバリーされているのかはわかりませんが。追加しました。

【改訂履歴】作成:2013/03/30
【参考リンク】
Clam AntiVirus … Clam AntiVirusのオフィシャルページ

Copyright © 1996,1997-2006,2007- by F.Kimura,