Qmail-ScannerとClam Antivirusのインストール

かねてからメールサーバレベルでのウイルス対策を依頼されているので、とりあえず自前サーバで実験してみることにした。ワクチンソフトはオープンソースのClam Antivirus(ClamAV)をチョイス。qmailからはQmail-Scannerを使ってClamAVのデーモンを呼び出すことにした。qmailでQmail-Scannerを使うためにはqmailqueue-patchなるパッチを当ててコンパイルする必要があるが、netqmail-1.05でインストールしているため既に当該パッチは当ててある。

Qmail-Scannerおよびそれに付随するものは、以下から入手。

/etc/clamav.confはとりあえずデーモンの実行ユーザのみ変更。具体的にはUser clamdUser qscandに書き換えただけ。

clamdデーモンの起動とブート時の自動起動設定。

# /etc/rc.d/init.d/clamd start
# chkconfig clamd on

とりあえず、ウイルスパターンのファイルを手動でアップデート。

# freshclam

有効化するためには、qmailおよびtcpserverを一旦落とす。全部落とす必要はないようだが、とりあえず。後で知ったが、tcpserverによってsmtpdが起動される前にQMAILQUEUEが適宜指定されればいいようだ。しかしながら、起動スクリプトに追記してもうまく動作しなかったので、今回は手動で以下のコマンドを実行した。

# QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
# export QMAILQUEUE

qmailとtcpserverを起動させれば万事オーケーのはずだったが、SMTPを使ってメールを送信しようとすると「qq temporary problem」なるエラーが発生。しばらく悩むが、これは単にsuidperlがないことに起因するものだと分かった。RedHat系ではperl-suidperlというパッケージで配布されている。

# yum install perl-suidperl

これで解決。トレンドマイクロのウェブサイトからテストウイルスを入手し、これを添付したメールを自分自身に送信してみたところ、ちゃんと通知メールが届いた。しかしながら、サブジェクトが文字化けしているので、/var/qmail/bin/qmail-scanner-queue.plのメール送信関連のサブルーチンに、nkfを仕込むことで解決。具体的には、サブルーチンemail_senderemail_recipsの「open(SM, "|$qmailinject -h ……」部分を「open(SM, "|/usr/bin/nkf -j|$qmailinject -h ……」のように追記するだけ。

続きはまた後で。

トラックバック(0)

このブログ記事を参照しているブログ一覧: Qmail-ScannerとClam Antivirusのインストール

このブログ記事に対するトラックバックURL: http://somin.heteml.jp/mt/mt-tb.cgi/4276

コメントする

このブログ記事について

このページは、Sominが2005年3月 2日 20:38に書いたブログ記事です。

ひとつ前のブログ記事は「Movable Typeのアップグレード」です。

次のブログ記事は「ClamAVのチューン」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。