Linuxで動く便利ツール

脅威が日常化した時代へ備える
「ClamAV」


北浦 訓行
2008/4/15

 
ソフトウェア名: ClamAV
バージョン: 0.93
ライセンス GPL
入手先: http://www.clamav.net/

概要

 ClamAVは、シグネチャによるパターンマッチング方式を採用した、オープンソースのアンチウイルスソフトウェアです。比較的古くから利用されており、2008年4月15日時点での最新バージョンは0.93となっています。

編集部注:4月15日付で公開されたバージョン0.93では、バッファオーバーフローなど複数の深刻な脆弱性が修正されている。この最新バージョンを利用することが望ましい

 ファイルのウイルススキャンはもちろんのこと、メールゲートウェイでのメールスキャニングにも対応しています。また、アンチウイルスエンジンがシェアードライブラリ化されているため、多くの拡張モジュールが用意されています。

画面2
画面1 ClamAVのWebサイト

ClamAVのインストール

 多くのディストリビューションでは、ClamAVのパッケージが用意されています。従って、以下のようなコマンドでインストールすることができます。

■Fedora

# yum install clamav clamav-update

■Ubuntu

$ sudo apt-get install clamav

 ただし、ディストリビューションによっては、用意されているパッケージが最新版でないことがあります。その場合には、ClamAVのWebサイトから最新版のtarボールをダウンロードして、インストールします。

$ tar zxf clamav-0.93.tar.gz
$ cd clamav-0.93
$ ./configure
$ make
$ su
# make install

 なお、sendmailのメールスキャニング機能(clamav-milter)を有効にする場合は、以下のようにconfigureコマンドの実行時に--enable-milterオプションを付けなければなりません。

$ ./configure --enable-milter

 インストールが完了したら、freshclamコマンドでウイルスデータベース(ウイルスを定義したファイル)を更新します。freshclamコマンドはrootで実行しなければなりません。

# freshclam
(省略)
daily.cvd updated (version: 6562, sigs: 72633, f-level: 26, builder: ccordes)
Database updated (242309 signatures) from database.clamav.net (IP: 218.44.253.75)

 ClamAVに限らず、アンチウイルスソフトではウイルスデータベースを定期的に更新しなければなりません。Windowsを対象とした市販のアンチウイルスソフトの場合、その作業は自動的に行われますが、ClamAVではユーザーが明示的にその作業を行う必要があります。

 ただし、freshclamコマンドには、定期的なウイルスデータベースの更新作業を助けるための機能(デーモンとして実行する)が用意されていますので、それを利用します。具体的には、以下のようにするといいでしょう。

# freshclam -d -c 24

 -dオプションは、freshclamをデーモンとして実行するためのオプションです。また、-cオプションは、デーモンとして実行されたときに、ウイルスデータベースを更新する回数を指定します。指定できる数字は1〜50で、これは1日に更新する回数となります。上記のように24を指定すると、1時間に1回更新作業を行うことになります。

 freshclamコマンドのオプションについては、freshclamのmanページを参照してください。

アイコン ClamAVによるウイルススキャン

 ウイルスデータベースの更新作業が完了したら、一度ウイルスチェックを行ってみましょう。

 ClamAVは、ウイルスチェックもコマンドラインで実行します。スキャンのコマンドはclamscanです。clamscanコマンドでは、引数として、ウイルスチェックを行うファイルを指定したり、標準入力のデータをチェックすることが可能です。もちろん、ディレクトリ単位でチェック対象を指定することもできます。

 例えば、ホームディレクトリ以下の全ディレクトリを検査して、ウイルスに感染したファイルがあったときはベルを鳴らし、感染ファイルのみを表示するには、以下のコマンドを実行します。

# clamscan -r -i --bell ~
----------- SCAN SUMMARY -----------
Known viruses: 241693
Engine version: 0.92.1
Scanned directories: 134
Scanned files: 226
Infected files: 0
Data scanned: 15.32 MB
Time: 9.177 sec (0 m 9 s)

 また、以下のようにしてメールスプールをスキャンすることもできます。

# clamscan -r /var/spool/mail

 clamscanコマンドでもさまざまなオプションを指定することができます。詳細は、clamscanのmanページを参照してください。

 clamscanでウイルスに感染しているファイルが見つかった場合は、そのファイルを削除するか(--remove)、特定のディレクトリに移動させる(--move=DIRECTORY)といいでしょう。

 これまでに紹介したとおり、ClamAVはWindows用のアンチウイルスソフトとは違って、すべての作業をコマンドラインで行わなければなりません。これは、システム管理者にとっては融通の利く便利な方法ですが、Windowsユーザーから見ると不親切です。

 Linuxを主にクライアントとして使用する場合は、KlamAVというClamAVのGUIフロントエンドを使用するといいでしょう。Fedoraなどでは、パッケージが用意されているため、yumコマンドでインストールすることができます。

画面2
画面2 ClamAVのGUIフロントエンド「KlamAV」

 KlamAVには、ウイルスチェックの日時を指定したり、ClamAV本体やウイルスデータベースの更新作業を行う機能などがあるため、Windowsユーザーでも違和感なくウイルスチェックを行うことができます。

ClamAVの実力

 アンチウイルスソフトの性能評価などを行っているドイツの独立調査機関「AV-Test.org」などの評価では、残念ながらClamAVの性能はあまり高くありません。また、市販のWindows用アンチウイルスソフトと比較すると、ウイルス検出技術などでも見劣りします。しかし、それでもClamAVを導入する意味はあります。

 最近では、ウイルスの亜種がどんどん出現して、1社のセキュリティベンダだけですべてのウイルスを捕捉することが難しい状態になっています。また、インターネットの脅威が愉快犯的なウイルスから、被害者に具体的な金銭被害を与えるものに変質しているため、二重三重の防御が必要です。

 ClamAVには、SendmailやQmail、Postfix、EximなどのMTAに対応したアドオンモジュールが公開されています。また、samba-vscanというSambaの共有フォルダをスキャンするモジュールもあります。

 これらを導入することにより、メールや共有ファイルの感染をチェックすることが可能になります。そして、クライアントでは別のアンチウイルスソフトで二重にチェックすれば、ウイルス感染のリスクを減らすことができるでしょう。

@IT関連記事


Tips Linux Tipsの関連記事
これまでLinux Tipsに掲載された記事の中から、ClamAV関連のものを紹介します
LinuxでアンチウイルスソフトClamAVを使うには
ClamAVによるウイルスチェックを定期実行するには
Fedora Core 5でリアルタイムスキャンを行うには
ClamAVのウイルスデータベースを自動更新するには
アンチウイルスソフトの動作を確認するには
Linux用のアンチウイルスソフトを使うには
Linux Squareプロダクトレビュー


 Linux Squareフォーラム 製品情報・レビュー関連記事
特集:2007年、Linuxディストリビューションの歩みを振り返る
商用、非商用ともにメジャーバージョンアップが相次いだ2007年。主なディストリビューションを取り上げ、アップデート内容を紹介します
プロダクトレビュー[Ubuntu 7.10 日本語ローカライズド Desktop CD]
海外のみならず日本国内でも人気急上昇中のUbuntu。優れたインターフェイスを備えるとともに、豊富な機能がコンパクトにパッケージされている
特集:業務で使うデスクトップLinux カタログ
定型業務さえこなせればよいという部門も多い企業環境は、コンシューマ市場以上にLinuxへの移行が容易ともいえる。そこで、6つのLinuxディストリビューションを紹介する
特集:Linuxで動くリレーショナルデータベース・カタログ
データベースサーバのOSとしてLinuxを採用するケースが増えている。Linuxで動作する7つの主なリレーショナルデータベースを紹介する。製品導入の際の参考にしてほしい
特集:Windowsで動くXサーバ・カタログ
やや特殊な用途に用いられてきたXサーバだが、活用しだいでは普通の管理用途にも有用だ。そこで、Windowsで動作する6本のXサーバを紹介する。選択の参考にしてほしい
特集:Linuxで動くJavaアプリケーションサーバ・カタログ
アプリケーションサーバは、いま最も開発競争が激しいジャンルの1つだ。その中から、Linuxに対応する5つの商用製品を紹介する。製品導入の際の参考にしてほしい
特集:Linuxで動くWebグループウェア・カタログ
Linuxを業務用サーバに採用するケースも増えている。そこで、Linuxをサーバとして利用するWebベースのグループウェアを紹介しよう

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間