Vine3.1 + Clamav + amavisd-new でウイルス・チェック |
| 2005/09/04 |
ここではMarijuanaさんが作成されているamavisd-new日本語版を利用する場合で書いてます。
以下はVine3.1をフル・インストールされているものとして書いています。個々で足らないパッケージはご自身で追加インストールをお願いします。
それと、ここではpostfixの細かいことについては触れていません。postfixの設定などはすでに終わっているという前提で書きます。
Clamavのインストール
aptのextrasを有効にします。
$ su -
# emacs /etc/apt/sources.list
|
rpm [vine] http://updates.vinelinux.org/apt 3.1/$(ARCH) main devel plus updates extras
rpm-src [vine] http://updates.vinelinux.org/apt 3.1/$(ARCH) main devel plus updates extras
|
Vine3.1をインストールした直後の状態ではパッケージのバージョンの問題じゃないかと思いますがうまくいきません。
そこで、まずは最新パッケージに更新しておきましょう。
# apt-get update
# apt-get upgrade
Clam Antivirusをインストールします。また、db4-develがないとamavisd-new日本語版のインストールで失敗するので、ここでついでにインストールしてしまいます。
# apt-get install clamav db4-devel
ClamAVの設定
-
# emacs /etc/clamd.conf
|
# 以下は変更する所のみ表示しています。
# この項目が設定されている場合、clamdはすぐに終了する
# コメントに変更
# Example
# 指定したファイルにログを記録する (Default: 無効)
# ログ指定を変更
LogFile /var/log/clamd.log
# VirusDBファイル(main.cvd/daily.cvd/*.db等)のあるディレクトリを
# 明示して指定
# 標準ではデフォルトで/usr/share/clamav/になっているようで
# 指定する必要はないと思うが、必要なら指定してください。
#DatabaseDirectory /var/lib/clamav
|
ウィルス・データベースを更新するfreshclamの設定をします。
# emacs /etc/freshclam.conf
|
# 以下は変更する所のみ表示しています。
# この項目が設定されている場合、clamdはすぐに終了する
# コメントに変更
# Example
|
-
ウィルス・データベース更新時のログ・ファイルを生成しておきます。
# touch /var/log/freshclam.log
# chown clamav. /var/log/freshclam.log
# touch /var/log/clamscan.log
# chown clamav. /var/log/clamscan.log
# touch /var/log/clamd.log
# chown clamav. /var/log/clamd.log
-
初回は、手動でウィルス・データベースを更新しておきましょう。
# /usr/bin/freshclam --log=/var/log/freshclam.log
-
cronを利用してウィルス・データベースを更新させるようにします。
ここでは/etc/cron.daily/freshclamを新規生成します。
必要であれば、ご自身の環境に合わせてください。
# emacs /etc/cron.daily/freshclam
#!/bin/sh
/usr/bin/freshclam --daemon-notify --quiet \
--log=/var/log/freshclam.log
|
# chmod 755 /etc/cron.daily/freshclam
clamd起動スクリプトを作ります。Marijuanaさん作成の起動スクリプトは以下です。 /etc/init.d/clamd に保存してください。
#!/bin/bash
# chkconfig: 345 80 20
# description: Clamd DAEMON
. /etc/init.d/functions
prog="/usr/sbin/clamd"
prog_base="$(basename ${prog})"
prog_config_file="/etc/clamd.conf"
RETVAL=0
# See how we were called.
case "$1" in
start)
action $"Starting ${prog_base}:" ${prog} -c ${prog_config_file}
RETVAL=$?
echo
;;
stop)
echo $"Shutting down ${prog_base}"
killproc ${prog_base}
RETVAL=$?
echo
;;
status)
status $"${prog_base}"
RETVAL=$?
echo
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
reload)
pid=`pidofproc ${prog_base}`
kill -USR2 ${pid}
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload}"
exit 1
esac
exit $RETVAL
|
パーミッションを変更します。
# chmod 755 /etc/init.d/clamd
clamdを起動します。
# /etc/init.d/clamd start
clamdをサーバ起動時に自動起動させます。
# /sbin/chkconfig clamd on
- 参考サイト
- Marijuana's XOOPS TEST ROOM - Take It EASY! -
- Clam Antivirusに関するメモ
Perlモジュールのインストール
PerlモジュールはMarijuanaさんの作成されたインストーラでインストールされますが、rpmの依存関係の問題もあるのでaptでインストールしてみました。
Marijuanaさん作成のインストーラだけでも動作しますが、後々、依存関係で困らないように念のためインストールしてます。気にならないようならこの作業は必要ありません。
# apt-get install perl-Archive-Tar perl-Compress-Zlib perl-IO-Zlib \
> perl-IO-stringy perl-Time-HiRes perl-Jcode
amavisd-new日本語版のインストール
以下は私がインストールしたときの、amavisd-new日本語版に付属するドキュメントに書いてあるままです。
インストールさる前に、念のため、最新のREADMEを確認するようにしましょう。
CPANの設定をしていないようならここでCPANの設定をしておきます。すでに済んでいればこの作業は必要ありません。
# perl -MCPAN -e shell
この後、初回はいくつか質問されるが、すべてEnterでOKですが、以下はEnterで進めませんので次のようにします。
|
Select your continent (or several nearby continents) [] 2 (Asiaを選択)
Select your country (or several nearby countries) [] 5 (Japanを選択)
Select as many URLs as you like (by number),
put them on one line, separated by blanks, e.g. '1 4 5' [] 1 4 5
|
上記以外はEnterでOKです。
cpan> exit
- Marijuanaさんのサイトからamavisd-new日本語版をダウンロードしてください。
解凍します。
# tar zxvf amavisd-new-2.3.3-JP.tgz
# cd amavisd-new-2.3.3-JP
ここに README-euc.txt というファイルがあり、インストール方法の詳しい説明が書かれています。参照するといいのではないかと思います。
perlモジュールをインストールします。
# sh amavisd_install.sh perl netserver
途中、色々と質問されるけど、すべてEnterでOKみたいです。ここはかなり時間がかかります。
amavisd-new日本語版をインストールします。
# sh amavisd_install.sh install
amavisd-newの設定
/etc/amavisd.confを編集して設定します。
# emacs /etc/amavisd.conf
|
# 以下のコメントをはずします。
@bypass_spam_checks_maps = (1); # uncomment to DISABLE anti-spam code
# 自分のドメインを設定(必ず設定)
$mydomain = 'tsuttayo.sytes.net';
# 自分のホスト名を設定(必ず設定)
$myhostname = 'tsuttayo.sytes.net';
|
aliasesの設定をします。
# emacs /etc/aliases
|
# 以下の行を追加します(AMaViS email scanner user)
virusalert: root
spamalert: root
|
# newaliases
amavisdを起動します。
# /etc/init.d/amavisd start
サーバ起動時にamavisdも自動起動するように設定します。
# /sbin/chkconfig amavisd on
- 参考サイト
- Marijuana's XOOPS TEST ROOM - Take It EASY! -
Postfixの設定
/etc/postfix/master.cfの最後に以下を追加します。
# emacs /etc/postfix/master.cf
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
|
/etc/postfix/main.cfの最後に以下を追加します。
# emacs /etc/postfix/main.cf
content_filter=smtp-amavis:[127.0.0.1]:10024
|
設定したらpostfixを再起動します。
# /etc/init.d/postfix restart
ウィルスを添付して動作確認
eicar - Anti-Virus test fileからテスト用のウィルスをダウンロードします。
ダウンロードしたファイルを添付して、送受信してみます。
添付ファイルが付いたままメールが届いたら失敗です。もう一度、設定を見直しましょう。
Webminの「Clam Antivirus 管理」モジュールをインストール
これは必須ではありませんが、あればたいへん便利なのでお勧めします。
最初にWebminが正常に動作している環境が必要です。Webminがインストールされていないなら、事前にこちらを見てインストールを済ませてください。
perlモジュールをインストールします。
# perl -MCPAN -e 'CPAN::Shell->install('HTML::Entities')'
- GForge: ファイルリストよりwbmclamav-0.5.2.wbm.gzをダウンロードします。
- Webminを開いて、「Webmin」の「Webmin 設定/Webmin モジュール」の「モジュールのインストール」で「ローカル ファイルから」を選択して、ダウンロードしたwbmclamav-0.5.2.wbm.gzをインストールします。
- Marijuanaさんのダウンロード・ページから、
wbmclamav-0.5.2日本語ランゲージファイル(wbmclamav-0[1].5.2-JP.tgz)をダウンロードします。
日本語ランゲージファイルをインストールします。
# tar zxvf wbmclamav-0[1].5.2-JP.tgz
# cp ja_JP.euc /usr/libexec/webmin/clamav/lang/
これで、Webminの「システム」に「Clam Antivirus」が追加されます。これをクリックして次のようにモジュール設定を行いましょう。
| Clam Antivirus に設定可能なオプション |
|
| Quarantine |
| Use the following content scanner | | |
|
|
| ClamAV |
|
|
|
|
|
| Freshclam |
|
|
|
|
これで、Webminの「システム/Clam Antivirus」で以下のように利用できます。
「隔離場所」で、ウィルス・メールを選択して削除することができます。

|