Do You PHP はてブロ

Do You PHPはてなからはてブロに移動しました

amavisd+F-ProtでThe SIGN.DEF file is too old to be of use.

もう3年以上前にインストールした自宅メールサーバ環境ですが、数日前からmaillogに

Nov  1 04:02:28 loox amavis[7150]: (07150-03) (!!) FRISK F-Prot Antivirus av-scanner FAILED: /usr/local/bin/f-prot unexpected exit 1, output="The SIGN.DEF file
is too old to be of use.  It will probably only\ndetect a fraction of the viruses that exist today.\n\nPlease obtain and install an up-to-date version." at (eva
l 45) line 462.

というログが出て、メールを正しく処理できなくなっていました。で、調べてみると、どうやらインストールしたバージョンがサポート対象外になった模様。まあ、3年も前だからなぁ。。。
ということで、F-Protを最新版にアップグレードしました。

F-Protのアップグレード

元々、rpm版のF-Protをインストールしていたので、設定ファイルをバックアップし、rpmを削除。代わりに、Home user trial downloads - F-PROT Antivirus Downloadsから最新版のF-Prot(Home user向け)のtgzをダウンロードし、インストール。

# service postfix stop
# service amavisd stop
# rpm -qa | grep fp
# rpm -e fp-linux-ws
# cp -p /etc/f-prot.conf ./
# \rm -r /usr/local/f-prot
# wget http://files.f-prot.com/files/unix-trial/fp-Linux-i686-ws.tar.gz
# tar zxf fp-Linux-i686-ws.tar.gz -C /usr/local/
# cd /usr/local/f-prot/
# ./install-f-prot.pl
# 

install-f-prot.plを実行するといくつか質問されますが、すべてリターンキー(デフォルト値)でインストール。

とりあえず、インストール後の軽い動作確認。インストールしてあったバージョン(F-Prot 4.6.6)では、f-plotコマンドがインストールされていたのですが、今回インストールしたバージョン6.2.1では、fpscanコマンドに変わっているようです。

# which fpscan
/usr/local/bin/fpscan
# fpscan --version

F-PROT Antivirus version 6.2.1.4252 (built: 2008-04-28T16-44-10)
FRISK Software International (C) Copyright 1989-2007

Engine version: 4.4.4.56
Virus signatures: 2009110115477306244b7aef4e3c862a82d00a1204f6
                  (/usr/local/f-prot/antivir.def)

# 

amavisd.confの編集

F-Protのコマンド名が変わったので、amavisd側の設定も若干変更しました。内容はhttp://56rian.dip.jp/Top/?%A4%DE%A4%A4%A4%C3%A4%BF!!%2Ff-protに掲載されたものをそのまま使わせてもらいました。

@av_scanners_backup = (
  ['FRISK F-Prot Antivirus', 'fpscan',
    '--scanlevel=2 --archive=5 --verbose=1 {}', [0],
    qr/Found virus/,
    qr/\[Found virus\] \<(.+)\>/ ],
);

パターン定義ファイルの更新

念のため実行。

# /usr/local/f-prot/fpupdate
# 

ちなみに、インストール時に/etc/crontabにエントリを追加するかどうか聞かれます。

動作テスト

ローカルからmailコマンドでメールを送信して、エラーが出なくなったことを確認。

まとめ


しばらく前 (気付いたのは 2009/01/07) から

Server error on remote machine.
Fatal error. Exiting...

というエラーメッセージが入るようになり、「そのうち OK になるだろう」と楽観していたのですが、数週間経っても改善の兆しがありません。(2009/02/19 現在)

やっぱ、ちゃんと問題の原因を潰しとかないとダメですね。。。><