ubuntu Linuxにアンチウイルスソフト「ClamAV」をインストール

(2009年6月4日)
Desktop ubuntu8.10にアンチウイルスソフト「ClamAV」をインストールしてみました。
ClamAvはLinuxで定評のあるフリー(無料)のアンチウイルスソフトです。
以下、ClamAvのインストールから設定、ウイルススキャンまでの説明です。
(*以下の説明ではいくつかの作業で失敗?していますので、この記事を参考にしてClamAvを導入しようとしている方は一通り最後まで読んでからインストールする事をお勧めします)
まずは、apt-getでインストールしてみました。
$ sudo apt-get install clamav
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
~~
libclamav5 (0.94.dfsg.2-1ubuntu0.3) を設定しています ...
clamav-base (0.94.dfsg.2-1ubuntu0.3) を設定しています ...
clamav-freshclam (0.94.dfsg.2-1ubuntu0.3) を設定しています ...
Reloading AppArmor profiles : done.
 * Starting ClamAV virus database updater freshclam   [ OK ] 
clamav (0.94.dfsg.2-1ubuntu0.3) を設定しています ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
インストール完了です。続いてfreshclamコマンドでウイルス定義ファイルの更新です。
$ sudo freshclam 
ClamAV update process started at Wed Jun  3 04:45:06 2009
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.94.2 Recommended version: 0.95.1
DON'T PANIC! Read http://www.clamav.net/support/faq
main.cld is up to date (version: 51, sigs: 545035, 
f-level: 42, builder: sven)
daily.cvd is up to date (version: 9414, sigs: 26369, 
f-level: 42, builder: ccordes)
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.94.2 Recommended version: 0.95.1
警告発生です…clamAvのバージョンが古くて期限切れだて言っています。
今回インストールしたバージョンは0.94.2でお勧めバージョン(最新安定版)は0.95.1みたいです。
バージョンが古いのは構わないと思うけど定義ファイルが更新できないとアンチウイルスソフトとしては致命的です。ですので最新版を入れ直した方がよさそうです。 一度インストール済みのclamAvをアンインストールします。
(*もしかしたら最新版のubuntu9.04ならこのような問題は起こらないかもしれません。でもリポジトリだから関係ないかな…)
$ sudo apt-get remove clamav
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-headers-2.6.27-7 clamav-freshclam linux-headers-2.6.27-7-generic
  clamav-base libclamav5
~~

$ sudo apt-get remove clamav-base 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-headers-2.6.27-7 linux-headers-2.6.27-7-generic libclamav5
これらを削除するには 'apt-get autoremove' を利用してください。
~
apt-get removeからclamav、clamav-baseをアンインストールしてみたけど、clamAvに関連するライブラリがなにやら色々残っているみたいです。
そして、それらを取り除くにはapt-get autoremoveを利用してくださいと言っています。autoremoveは不要になったパッケージを調査して削除してくれるオプションです。
$ sudo apt-get autoremove 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  linux-headers-2.6.27-7 linux-headers-2.6.27-7-generic libclamav5
以下のパッケージは「削除」されます:
  libclamav5 linux-headers-2.6.27-7 linux-headers-2.6.27-7-generic
アップグレード: 0 個、新規インストール: 0 個、削除: 3 個、保留: 0 個。
この操作後に 53.0MB のディスク容量が解放されます。
続行しますか [Y/n]? 
~
libclamav5 を削除しています ...
linux-headers-2.6.27-7-generic を削除しています ...
linux-headers-2.6.27-7 を削除しています ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place
~
これでアンインストール完成です。あと、ゴミになったファイルも一応削除しておきます。
$ sudo rm -rf /etc/clamav/
今度は最新版のインストールです。
公式サイトからtar.gzボールをダウンロードしてきます。あと、今回はソースからコンパイルしてインストールする事にしました。
本家公式サイトのダウンロードページ(この時の最新安定版のclamav-0.95.1.tar.gzをダウンロード)

ダウンロードしたファイルを解凍・展開します。
$ sudo tar zxvf clamav-0.95.1.tar.gz 
新しく作成されたディレクトリに移動してconfigureを実行します。
$ cd clamav-0.95.1/
$ ./configure 
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
creating target.h - canonical system defines
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
~
configure: error: Please install zlib and zlib-devel packages
エラーが発生しました・・・。zlib関連がないってさ。
ですので、zlib1g-devをインストールします。
$ sudo apt-get install zlib1g-dev 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
  zlib1g-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
161kB のアーカイブを取得する必要があります。
この操作後に追加で 385kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com intrepid/main zlib1g-dev 
1:1.2.3.3.dfsg-12ubuntu1 [161kB]
161kB を 0s で取得しました (398kB/s)
未選択パッケージ zlib1g-dev を選択しています。
(データベースを読み込んでいます ... 現在 129336 個のファイルと
ディレクトリがインストールされています。)
(.../zlib1g-dev_1%3a1.2.3.3.dfsg-12ubuntu1_i386.deb から) zlib1g-dev 
を展開しています...
Processing triggers for man-db ...
zlib1g-dev (1:1.2.3.3.dfsg-12ubuntu1) を設定しています ...
再度configureを実行します。今度はエラーが出ずに終了しました。
続いてmakeでコンパイル、インストールします(10分くらいかかりました)。
$ make
~
$ sudo make install
~
これでインストールが完了しました。
ここで、freshclamを実行する前に設定ファイルを少し編集しておきます。
clamAvの設定ファイルは/usr/local/etc/clamd.confと/usr/local/etc/freshclam.confの二つです。

まずはclamd.confの編集です。
Exampleをコメントアウトしました。
# Comment or remove the line below.
#Example
ログファイルのコメントアウトを解除してパスを変更しました。
# Uncomment this option to enable logging.
# LogFile must be writable for the user running daemon.
# A full path is required.
# Default: disabled
LogFile /var/log/clamd.log
ログタイム出力のコメントアウトを解除しました。
# Log time with each message.
# Default: no
LogTime yes
次はfreshclam.confの編集です。
Exampleをコメントアウトしました
# Comment or remove the line below.
#Example
freshclamのログファイルを出力するようにコメントアウトを解除しました。
# Path to the log file (make sure it has proper permissions)
# Default: disabled
UpdateLogFile /var/log/freshclam.log
設定ファイルに併せてfreshclamのログファイルを作成・パーミッション変更します。
$ sudo touch /var/log/freshclam.log
$ sudo chmod 666 /var/log/freshclam.log 
さて、再度freshclamを実行してみます。
(・・・だけど何故かインストール場所に失敗したみたいなのでフルパスを指定。もういいや・・・あとでリンクしよう・・・)
$ sudo /etc/download/clamav-0.95.1/freshclam/freshclam 
ClamAV update process started at Wed Jun  3 06:02:55 2009
Downloading main-51.cdiff [100%]
main.cld updated (version: 51, sigs: 545035, f-level: 42, 
builder: sven)
WARNING: getfile: daily-9214.cdiff not found on remote server 
WARNING: getpatch: Can't download daily-9214.cdiff from 
database.clamav.net
WARNING: getfile: daily-9214.cdiff not found on remote server 
WARNING: getpatch: Can't download daily-9214.cdiff from 
database.clamav.net
WARNING: getfile: daily-9214.cdiff not found on remote server 
WARNING: getpatch: Can't download daily-9214.cdiff from 
database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Trying host database.clamav.net...
Downloading daily.cvd [100%]
daily.cvd updated (version: 9414, sigs: 26369, f-level: 42, 
builder: ccordes)
Database updated (571404 signatures) from database.clamav.net 
警告が結構出ていますがアップデートできているみたいです。念のためもう一度実行してみます。
$ sudo /etc/download/clamav-0.95.1/freshclam/freshclam 
ClamAV update process started at Wed Jun  3 06:06:05 2009
main.cld is up to date (version: 51, sigs: 545035, f-level: 42, 
builder: sven)
daily.cvd is up to date (version: 9414, sigs: 26369, f-level: 42, 
builder: ccordes)
やはり大丈夫そうです。
ようやくこれでウイルススキャンする準備が整いました。
clamscanコマンドでスキャンができます。これもフルパス・・・。
下の例では/root/ディレクトリをスキャンしています。
$ /etc/download/clamav-0.95.1/clamscan/clamscan  --infected 
--remove --recursive /root/

----------- SCAN SUMMARY -----------
Known viruses: 570840
Engine version: 0.95.1
Scanned directories: 15
Scanned files: 2
Infected files: 0
Data scanned: 0.12 MB
Data read: 0.12 MB (ratio 1.00:1)
Time: 4.782 sec (0 m 4 s)
次にテストとしてウイルスやトロイのファイルをいくつかスキャンしてみた結果です。
----------- SCAN SUMMARY -----------
Known viruses: 570840
Engine version: 0.95.1
Scanned directories: 492
Scanned files: 2137
Infected files: 14
Data scanned: 953.16 MB
Data read: 535.67 MB (ratio 1.78:1)
Time: 337.376 sec (5 m 37 s)
検出もできたし、駆除もしてくれました。zipファイルとか圧縮ファイルの中もスキャンしてくれるみたいです。なかなか立派です。
ただ、スキャンファイルが2137個で5分以上ってどうなんだろう・・・
Webサービス by Yahoo! JAPAN