ClamAv(v. 0.93)へのバージョンアップに関わる追加措置

May 1, 2008 – 12:53 pm

前々回のエントリーでClamAvのバージョンアップについての記事を書いた。ここで、ClamAvの仕様がかなり変更されており、これに伴って実施したコンフィギュレーションファイルの書き換え作業について記録した。書き換え作業終了した後、logwatchをみると、ClamAvのログにあらわれていたWarning Errorはなくなったものの、Amavisにエラーが発生した。その原因を調べたところ、Amavis-newとClamAvとの間の通信に問題が発生していることがわかり、対応措置をとった。

今回発生したAmavis関連のエラーのlogwatch上のエラーは次のようなものだった(下記は、一部省略):

——————— amavis Begin ————————
 1 messages checked and passed.
 
 **Unmatched Entries**
    (!!)WARN: all primary virus scanners failed, considering backups: 1 Time(s)
    (!!)ClamAV-clamd av-scanner FAILED: CODE(0x8cbd5d0) Too many retries to talk to /var/run/clamav/clamd.sock (Can’t connect to UNIX socket /var/run/clamav/clamd.sock: ・・) at (eval 86) line 310. at (eval 86) line 511.: 1 Time(s)
    (!)ClamAV-clamd: Can’t connect to UNIX socket /var/run/clamav/clamd.sock: ・・, retrying (2): 1 Time(s)
    (!)run_av (ClamAV-clamd, built-in i/f): Too many retries to talk to /var/run/clamav/clamd.sock (Can’t connect to UNIX socket /var/run/clamav/clamd.sock: ・・) at (eval 86) line 310.: 1 Time(s)
 ———————- amavis End ————————-

このエラーの原因を把握するため、” WARN: all primary virus scanners failed”をキーとしてGoogleで検索したところ、ClamAVのwiki(ここ)にamavisd-newについての説明にたどりついた。このページのCaveatに、これを使用する上で必要な情報が与えられていた。これら情報を、ひとつづつ検討したところ、clamdのコンフィギュレーションファイル/etc/clamd.confにおいてclamdとamavisdとの通信部分について、修正を必要とする部分が明らかになった。問題となる部分に関連するwikiの記述は以下のようなものである:

 ・In order to use clamd, amavisd-new needs to be able to communicate with clamd via socket. Typically, you will want to have the same path for the LocalSocket option in clamd.conf and for the clamd entry in @av_scanners inside avamisd.conf

この記述に沿って、clamd.confのLocalSocketオプションをみると、amavisd.confのpathが/var/run/clamav/clamd.sockとなっているのに対し、/tmp/clamd.socketとなっており、ユーザーが指定するよう求められていた。ClamAvパッケージをダウンロード時に取得したclamd.conf.rpmnewを何も手を加えることなくコンフィギュレーションファイルとして使用したところに問題があったようだ。

エラーの対応措置として

LocalSocket /tmp/clamd.socket

をダミーアウトし、次のようにLocalSocketオプションをamamis-newと同じにした
  
   #LocalSocket /tmp/clamd.socket
 LocalSocket /var/run/clamav/clamd.sock

上記の措置を施した後、前回と同様に、メール関連プログラムを再起動させた。これで、今回の問題は解決されるはずだ。

[2,May,2008 追記] 
上記の措置に加えて、/etc/clamd.conf 中の

TCPSocket 3310

をダミーアウトすることが必要。

 

 


  1. 1 Trackback(s)

  2. May 18, 2010: CentOS5.5へのアップグレードとその他作業について | Yama's Memorandum

Post a Comment