何気なくメールのlogフォルダ(サーバからのログメール用)を見ると、「おーっ!!!」あるある多量のログメール。cronからのお知らせが毎時間ごと届いていました。

Screenshot from 2014-11-21 15:20:11_86メールの件名は、

Cron <clamav@smb4> /usr/local/bin/freshclam –daemon-notify –quiet -l /var/log/freshclam.log

メールの内容は、

ERROR: This tool requires libclamav with functionality level 79 or higher (current f-level: 77)

とあります。(エラー:このツールは、レベル79かそれよかうえの機能ばもつlibclamavを要求しとうバイ)

サーバ上では、毎時間cronを利用してfreshclamウィルス対策用シグネチャを更新しています。それが失敗しているので、このようなエラーメールがサーバから送信されてきたようです。

当社には、サーバが3機(すべてCentOS)あるので、それぞれから全く同じ内容のメールが届いていました。エラーの始まりは、11月20日の午前3時から4時の間にありました。

そのあたりのメールを見ると、次のような内容が記録されていました。

/etc/cron.daily/clamav.sh:

Job Name (clamav.sh)

checking build system type… i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu
checking target system type… i686-pc-linux-gnu
……………….
……………….

=== configuring in libclamav/c++ (/tmp/zbsSKfSNMJ/clamav-0.98.5/libclamav/c++)
configure: running /bin/sh ./configure –disable-option-checking ‘–prefix=/usr/local’ ‘–enable-ltdl-convenience’ –cache-file=/dev/null –srcdir=.
checking build system type… i686-pc-linux-gnu
……………….
……………….

checking whether the C++ compiler works… no
configure: error: in `/tmp/zbsSKfSNMJ/clamav-0.98.5/libclamav/c++’:
configure: error: C++ compiler cannot create executables
See `config.log’ for more details
……………….
……………….

Stopping clamd: [ OK ]
Starting clamd: ERROR: This tool requires libclamav with functionality level 79 or higher (current f-level: 77)
[FAILED]
Thu Nov 20 03:16:04 2014 child exited: 1
Thu Nov 20 03:16:04 2014 PHASE install: type method: command #1: failed
Thu Nov 20 03:16:04 2014 PHASE install: failed

恐らくclamavの自動更新が失敗しているようです。configureでエラーが発生しています。

さっそく、グーグル先生に

「This tool requires libclamav with functionality level 79 or higher 」で、

お尋ねです。

下記のサイトを参考に各サーバに手当を施して、無事、エラーを消し去りました。

http://forum.directadmin.com/showthread.php?t=42143&page=2

上記のサイトによると、共有ライブラリーのlibclamav.so.6のリンク先1.22(古い方)になっていることがエラーの原因だと予測しているようです。
当サーバ機の/usr/local/libの中を覗くと、1.23と1.22があり、libclamav.so.6は1.22へリンクしています。 (3機とも)

対策として、libclamav.soとlibclamav.so.6をすべて削除する。ことが示されていました。

【前提条件】

  1. エラー発生時前までは、clamavやfreshclamは正常に動作していた
  2. clamav-0.98.5への自動更新が失敗している

<手順>

  1. libclamav.so共有ライブラリファイルの削除
  2. clamavインストール
  3. 動作確認

1.libclamav.so共有ライブラリファイルの削除

端末起動。(Ctrl+Alt+T)

$ sudo rm -rf /usr/local/lib/libclamav.so*
($ sudo rm -rf /usr/local/lib64/libclamav.so*) <=== あれば削除する。

これで、もし、うまくいかない場合は、

$ sudo rm -f /usr/local/lib64/libclamunrar*
($ sudo rm -f /usr/local/lib/libclamunrar*) <=== おそらく、これもか?

2.clamavインストール

(1)ダウンロード

端末起動。(Ctrl+Alt+T)

$ cd /usr/local/src/   <=== srcディレクトリ内で作業

$ wget http://jaist.dl.sourceforge.net/project/clamav/clamav/0.98.5/clamav-0.98.5.tar.gz

(2)解凍

$ tar vzxf ./clamav-0.98.5.tar.gz

(3)インストール

$ cd ./clamav-0.98.5

$ ./configure

$ make

$ sudo make install

 

3.動作確認

$ clamd -V
ClamAV 0.98.5/19660/Fri Nov 21 14:40:06 2014 <=== バージョンが0.98.5にアップグレード

テストウィルスのスキャン

$ clamscan -r -i –remove –exclude-dir=^/sys\|^/proc\|^/dev/usr/local/src/clamav-0.98.5/test/.split/split.clam_IScab_int.exeaa: ClamAV-Test-File FOUND
/usr/local/src/clamav-0.98.5/test/.split/split.clam_IScab_int.exeaa: Removed.
LibClamAV Warning: cli_scanbzip: bzip2 support not compiled in
/usr/local/src/clamav-0.98.5/test/.split/split.clamjol.isoaa: ClamAV-Test-File FOUND
/usr/local/src/clamav-0.98.5/test/.split/split.clamjol.isoaa: Removed.
/usr/local/src/clamav-0.98.5/test/.split/split.clam_IScab_ext.exeaa: ClamAV-Test-File FOUND
/usr/local/src/clamav-0.98.5/test/.split/split.clam_IScab_ext.exeaa: Removed.
/usr/local/src/clamav-0.98.5/test/.split/split.clam.isoaa: ClamAV-Test-File FOUND
/usr/local/src/clamav-0.98.5/test/.split/split.clam.isoaa: Removed.
———– SCAN SUMMARY ———–
Known viruses: 3686642
Engine version: 0.98.5
Scanned directories: 294
Scanned files: 3412
Infected files: 4
Data scanned: 168.38 MB
Data read: 108.46 MB (ratio 1.55:1)
Time: 82.471 sec (1 m 22 s)

上記のように、スキャンが終わり、テストウィルスが発見されて、削除されていれば無事インストール完了です。

これで、エラーのログメールは来なくなりました。

作業完了!