FreeBSD で Clam Anti Virus を使ってみる

概要

ClamAV はオープンソースのウイルス検査エンジンである.ウイルス定義ファイルの更新を行う freshclam,コマンドラインで検査を行う clamscan,常駐して検査要求を処理する clamd で構成される.

FreeBSD に Clam Anti Virus をインストール

パッケージシステムでインストールする.root 権限で実行する.

pkg install clamav

グラフィカルユーザインタフェースを使用する場合は,clamtk を追加でインストールする.

pkg install clamtk

ウイルス定義ファイルの更新設定

インストール時に設定ファイルの見本 /usr/local/etc/freshclam.conf.sample が置かれる.これを複製して設定ファイルとする.

cp /usr/local/etc/freshclam.conf.sample /usr/local/etc/freshclam.conf
vi /usr/local/etc/freshclam.conf

見本ファイルの先頭付近にある Example の行を削除するかコメントアウトする.この行が残っていると freshclam は起動しない.

freshclam コマンドを実行し,ウイルス定義ファイルを手動で更新する.

freshclam

定義ファイルは /var/db/clamav に保存される.定義ファイルを自動で更新し続けるには,freshclam をデーモンとして動作させる.

sysrc clamav_freshclam_enable="YES"
service clamav-freshclam start

Clam Anti Virus を使ってみる

* コマンドラインを使う場合

/usr/local 下のファイルを検査する実行例である.-r はディレクトリを再帰的にたどるオプション,-i は感染が検出されたファイルのみを表示するオプションである.nice は,検査の処理優先度を下げて他の処理への影響を抑えるためのものである.

freshclam
nice clamscan -r -i /usr/local

検出したファイルを隔離用ディレクトリへ移動する場合は,あらかじめディレクトリを作成し,--move オプションを指定する.

mkdir -p /var/db/clamav/quarantine
chown clamav:clamav /var/db/clamav/quarantine
nice clamscan -r -i --move=/var/db/clamav/quarantine /usr/local

* 常駐型のスキャナ(clamd)を使う場合

定義ファイルをメモリに読み込んだ状態を保持するため,検査開始が速くなる.設定ファイルの見本を複製し,Example の行を削除するかコメントアウトしてから起動する.

cp /usr/local/etc/clamd.conf.sample /usr/local/etc/clamd.conf
vi /usr/local/etc/clamd.conf
sysrc clamav_clamd_enable="YES"
service clamav-clamd start

検査は clamdscan コマンドで行う.

clamdscan -i /usr/local

* グラフィカルユーザインタフェースを使う場合

clamtk を使用する.コマンド名は clamtk である.

clamtk