きまぐれほげほげひろば

アンチウィルスソフト(clam antivirus)のインストール

clam antivirusはGPLライセンスで無償で使えるアンチウィルスソフトです。現在のところバイナリの偽装していないウィルスしか対応していませんが、LinuxでExcelマクロが動かせるわけじゃないですし(←めちゃめちゃな言い訳)、なんと言っても無償なんで、ここまでやってくれたら立派なもんです。

clam antivirus
http://www.clamav.net/
日本語のサイト(非公式)
http://clamav-jp.sourceforge.jp/

こいつはqmailとも連携可能なので、別の機会にqmailとの連携手順も書いておきます。ここまでできるとは嬉しい限りです。

さて、手順を書こうと思うのですが、公式サイトにある日本語ドキュメントには全ての手順が載ってます・・・(^^;
http://www.clamav.net/doc/0.75.1/Japanese/clamav.html

構築時のOS
FedoraCore2
FreeBSD4.?
wgetはfetchに、makeはgmakeに置き換えてください
はじめにソースをダウンロードし、アーカイブを展開します。
$ wget http://optusnet.dl.sourceforge.net/sourceforge/clamav/clamav-0.75.1.tar.gz
$ tar zxvf clamav-0.75.1.tar.gz
clam antivirusが使用するユーザ・グループを作成します。
# groupadd clamav
# useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav
ソースをコンパイルしてインストールします。
# cd clamav-0.75.1
# ./configure
# make
# make install

これにて、インストール作業は終了!

はじめにデータベースディレクトリ/usr/local/share/clamav/ がユーザ:clamavで書き込めるかを確認
# ls -l /usr/local/share | grep clamav
#ls -l /usr/local/share/clamav
次のコマンドで、ウィルスデータベースを更新
# freshclam
# echo $?     #戻り値の確認
0
戻り値内容
0VirusDBが正常に更新された
1VirusDBは既に最新のものなので更新されなかった
その他なんらかの原因でfreshclamは正常に実行されなかった
まずはログファイルの準備をします。
# touch /var/log/clam-update.log
# chmod 644 /var/log/clam-update.log
# chown clamav /var/log/clam-update.log
準備が出来たらcronに登録します。
# crontab -e
0 3,15 * * * /usr/local/bin/freshclam --quiet -l /var/log/clam-update.log
カレントディレクトリだけ調べる場合は以下のコマンドで。スキャンしたファイルがぞろぞろと表示される。
# clamscan
ルートディレクトリから再帰的に検索。感染ファイルのみ表示。削除はしない。
# clamscan -i -r /
さらに--removeオプションをつけると感染したファイルを削除できます。
上のclamscanだとコマンドを発行する度に、ウィルスデータベースを読みにいくらしいけど、clamdというコマンドを発行すると、ウィルスデータベースを読みこんだ状態でバックグラウンドで待機させておくことが可能。
# clamd
こいつの設定ファイルは/usr/local/etc/clamav.confにあります。 必ず行わないといけない編集は
# vi clamd.ocnf
##
## Example config file for the Clam AV daemon
## Please read the clamav.conf(5) manual before editing this file.
##


# Comment or remove the line below.
#Example   ←8行目。この行をコメントにする
あと112行目:SelfCheckの項目をコメントをはずして設定すると、clamdを起動したままでも、ウィルスデータベースが更新されたか自動的にチェックしにいき、更新されていたら自動的に読み直してくれます。
:
SelfCheck 600 ←112行目 コメントを外す
変更を設定した後はclamdを再起動
# ps auwx | grep clamd 
root     16624  0.0  6.1 17604 15292 ?       S    Aug30   0:00 /usr/local/sbin/clamd
# kill 16624
# clamd
戻る