Clam AntiVirusでウイルス対策

※Linux関連記事についてはsnagplaces on @wikiにまとめていますので、そちらをご参照ください。

 定番アンチウイルスソフトです。常駐監視型ではありません、検出力はそこそこらしいです。

前提条件:

  • rpmforgeリポジトリの追加

インストール

デーモンとしてインストールするclamdと、通常パッケージであるclamavがあります。ここでは、clamavの方を使用し、cronによる定期ウイルス定義アップデートと定期ウイルスチェックで対応するようにします。

# yum –enablerepo=rpmforge install clamav
※依存パッケージ:clamav-db

定義ファイルアップデート用の設定ファイルを編集

参考サイト:

定義ファイルのアップデートは以下のとおりです。

# freshclam

インストール直後に定義ファイルをアップデートすると、ほぼ確実に「WARNING: Clamd was NOT notified: Can’t find or parse configuration file /etc/clamd.conf」というメッセージがでるので、設定ファイルの編集を行い、再度freshclamで定義ファイルのアップデートを行い、ErrorもWorningも出なければOKです。

# vi /etc/freshclam.conf

【115行目あたりコメントアウト】
#NotifyClamd /etc/clamd.conf

ウイルスチェックテスト

とりあえずウイルスを検出できるかのテスト。/usr/sheare/doc/clamav-0.95.2/test/にテスト用のウイルスがあるので、これらを検出し、削除できるかを試す。ログに「FOUND」や「Removed.」等の文字があれば成功。

# clamscan –log=/var/log/clamav.log –infected –remove –recursive /usr/share/doc/clamav-0.95.2/test/

clamscanコマンドオプションのうち、「–log」はログの出力場所、「–infected」はウイルス感染したものを出力、「–remove」は感染ファイルを削除、「–recursive」はディレクトリを再帰的に検査、となります。

定期実行するシェルスクリプトを作成

# vi clamav.sh

rm -f /var/log/clamav.log > /dev/null 2>&1
freshclam –quiet
clamscan –log=/var/log/clamav.log –infected –remove –recursive / > /dev/null 2>&1

毎日午前3時に実行するようにcronへ登録します。

# crontab -e

00 03 * * * /root/clamav.sh

デーモン登録式よりだいぶシンプルになりました。


一応、以下に昔設定したデーモンで登録した時の方法を置いておきます。

インストール

# yum –enablerepo=rpmforge install clamd

定義ファイルのアップデート

# freshclam

定義ファイルアップデート用の設定ファイルを編集

参考サイト:「Clam AV」の設定

定義ファイルのアップデート時に「WARNING: Clamd was NOT notified: Can’t connect to clamd through /tmp/clamd.socket」といった警告が出る場合は、以下の項目を修正します。

ほかのサイトでは日本語ミラーの設定とかありましたが、今回のインストールでは既に設定済みでした。

# vi /etc/freshclam.conf

【114行目あたりコメントアウト】
#NotifyClamd /etc/clamd.conf

も うひとつ、ClamAVから送られる報告メールで「WARNING: Ignoring deprecated option –log-verbose」というメッセージが来た場合、バージョンアップの影響で設定が変わったことが原因とのことなので、設定ファイルの以下の部分 を修正します。

# vi /etc/cron.daily/freshclam

【19行目あたり修正】
–verbose \

/var/log/messagesのログで「clamd[2476]: SelfCheck: Database status OK.」といったものが10分毎に出てログファイルを流してしまうので、このログを出ないようにします。
※稼働後にこの設定を行った場合は、clamdサービスの再起動をしてください。

# vi /etc/freshclam.conf

【37行目あたりコメントアウト】
#LogSyslog yes

ウイルス格納用ディレクトリの作成

これがないとウイルススキャンのときにディレクトリがないと怒られます。

# mkdir -p /var/clamav/virus
# chown clamav:clamav /var/clamav/virus

定義ファイルアップデート用デーモンの起動

# service clamd start

これはあくまで定義ファイルの自動アップデート用であるため、常駐監視するわけではないです。この時点でエラーが出る場合はSELinuxが邪魔しているそうなので、止めてしまいましょう。

自動起動登録

# chkconfig clamd on

ウイルスチェック自動化用シェルスクリプトの作成

# vi /root/clamav.sh

#!/bin/sh /usr/bin/freshclam > /var/log/clamav.log /usr/bin/clamscan -i –move=/var/clamav/virus -r / >> /var/log/clamav.log 2>&1 /bin/grep "FOUND" /var/log/clamav.log

実行権限付加

# chmod 700 /root/clamav.sh

cronに登録

# crontab -e

0 5 * * * /root/clamav.sh ※毎日5時に実行

ClamAVのアップデート

logwatch のログで「WARNING: Your ClamAV installation is OUTDATED!」といったメッセージが出ていた場合、ClamAV本体のアップデートが必要になります。通常はyum updateで自動的にアップデートされそうなものなのですが、ClamAVの場合はrpmforge経由でインストールしているため、手動でアップデー トする必要があります。

ClamAVのアップデート

# yum –enablerepo=rpmforge update clamd

定義ファイルのアップデート

# freshclam

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中