「Clam AntiVirus(略してclamav)」は、オープンソースで開発されているウィルスチェッカーです。
機能も、またウィルスパターンも商用のものより少ないとはいえ日々更新されており、基本的な機能としては必要十分です。
また、メールのウィルスチェックにも利用されることから、UNIX環境では良く使われているようです。
FreeBSDでのインストールは、portsで簡単にできます。
# cd /usr/ports/security/clamav
# make install
インストール後、/usr/local/etc/にあるclamd.confをチェックします。
私はログに時間を入れるようにしたかったので、LogTimeをyesに変更しています。
LogTime yes
ほかはデフォルトのままです。
また、Clam AntiVirusの自動更新ツールとして「freshclam」があります。これはClam AntiVirusをインストールすると自動的にインストールしてくれます。
デーモンとして立ち上げておけば、定期的にウィルスパターンを更新してくれます。
設定は/usr/local/etc/にあるfreshclam.confで行います。
proxyなどがあればここで設定しますが、特に無ければこのままで問題ありません。
最後に、/etc/rc.confに
clamav_clamd_enable="YES"
clamav_freshclam_enable="YES"
を追加して、起動します。
/usr/local/etc/rc.d/clamav-clamd start
/usr/local/etc/rc.d/clamav-freshclam start
Clam AntiVirusはデーモンとして起動しますが、このデーモンはウィルスパターンのデータを保持していますので、起動時の負荷を軽減できます。
これを利用してメールのウィルスチェック等に流用することができるのですが、この方法はまた別の機会にでも。
無事clamdとfreshclamが起動したら、ログのローテーションも設定しておきましょう。
/etc/newsyslog.confファイルに以下の行を追加します。
/var/log/clamav/clamd.log clamav:clamav 600 365 * @T00 J /var/run/clamav/clamd.pid
/var/log/clamav/freshclam.log clamav:clamav 600 365 * @T00 J /var/run/clamav/freshclam.pid
これで毎日ログがローテーションされます。
ログの保存数は、長期的なログの保存を考えて、念のため365日(一年間)としています。
ちなみに、Clam AntiVirusにはスタンドアロンのウィルスチェックプログラムがあります。
# /usr/local/bin/clamscan
で実行できます。
このプログラムを、たとえば下記のオプションで一日一回実行するように設定しておけば、サーバー内のウィルスチェックを定期的にしてくれるようになります。
/usr/local/bin/clamscan --quiet -i -r --no-mail --no-archive --log=/var/log/clamav/clamscan.log --exclude-dir='^/+cdrom' --exclude-dir='^/+dev' --exclude-dir='^/+usr/ports' /
ただし、この設定だと、ウィルスを発見してもログに警告が残るだけなので、ウィルスファイルを除去する場合は、
--move=/tmp/virus/ --exclude-dir='^/+tmp/virus'
のように設定して/tmp/virus/ディレクトリに移動させつつチェック除外したり、
「--remove」を指定して削除したりといった設定を加える必要があります。
なお、freshclamは、ウィルスパターンの更新のほかに、Clam AntiVirusのバージョンチェックもしています。
/var/log/clamav/freshclam.logを見たときに、
WARNING: Local version: 0.91.2 Recommended version: 0.92
のように出ていたら、Clam AntiVirusのバージョンアップができますので、サクッとportupgradeでバージョンアップしてしまいましょう。
コメントする