« Vine Linux 3.2 の追加設定メモ | トップページ | ACE32のログ機能(画面入力編) »

2010年1月13日 (水)

Vine Linux 3.2 でウイルススキャン (ClamAV)

Linux で動作する無料のウイルスチェックソフトである Clam AntiVirus (clamav) をインストールしてみた。

LinuxでアンチウイルスソフトClamAVを使うには」と「FreeなclamAntiVirusのインスコ!」を参考にして、以下の手順でインストールした。

(1) clamav のソースのダウンロード

http://www.clamav.net/download/sources から最新ソースである「clamav-0.95.3.tar.gz」をダウンロードする。

----【2010年04月13日 追記】(ここから)----
最新ソースが「clamav-0.96.tar.gz」に変更されました。
以降の本文の「clamav-0.95.3」を「clamav-0.96」に読み替えてください。
----【2010年04月13日 追記】(ここまで)----

(2) 事前準備

・「clamav」グループと「clamav」ユーザの作成

# groupadd clamav
# useradd clamav -g clamav -d /dev/null -s /bin/false

上記の操作で、「/etc/passwd」に「clamav」で始まる行が追加されることになる。

・ビルド(コンパイルとインストール) に必要なパッケージのインストール

# apt-get install zlib zlib-devel
# apt-get install bzip2 bzip2-devel
# apt-get install gmp gmp-devel

----【2010年12月01日 追記】(ここから)----
Vine Linux 3.2 では、apt-get install で最新バージョンのソフトが、インストールできない場合があります。
特に ClamAV ビルド時に、「bzip2」が「bugged (CVE-2010-0405)」と警告が表示され、セキュリティ上 危険な状態になっています。
以下に、最新の「bzip2」のダウンロードからビルドまでの手順を示します。

《bzip2》バージョン 1.0.6 の場合の例

・ダウンロード方法

http://bzip.org/ から右上の「Downloads」を押下し、「Here is the 1.0.6 source tarball」から、ソースをダウンロードする。

・ビルド方法

# tar zxvf bzip2-1.0.6.tar.gz

で解凍し、

# cd bzip2-1.0.6

の「README」内の「HOW TO BUILD -- UNIX」の記述内容に従って、以下のようにビルドする。

# make
# make install
# make install PREFIX=/usr

bzip2 のビルドは、これで終了ですが、ついでに最新の「zlib」のダウンロードからビルドまでの手順を、以下に示します。

《zlib》バージョン 1.2.5 の場合の例

・ダウンロード方法

http://www.zlib.net/ から下方の「The current release is publicly available here:」配下にある「●zlib source code」から、ソースをダウンロードする。

・ビルド方法

# tar zxvf zlib-1.2.5.tar.gz

で解凍し、

# cd zlib-1.2.5

とディレクトリ移動し、以下のようにビルドする。

# ./configure
# make
# make install

bzip2 と zlib の更新については、今後は apt-get を使うのではなく、上記のWebページからダウンロードしてビルドすることになります。
----【2010年12月01日 追記】(ここまで)----

(3) ビルド(コンパイルとインストール)

# tar zxvf clamav-0.95.3.tar.gz

で解凍し、

# cd clamav-0.95.3

の「INSTALL」ファイルの記述内容に従って、以下のようにビルドする。

# ./configure
# make
# make check
# make install

(4) ウイルス定義の更新

# freshclam
ERROR: Please edit the example config file /usr/local/etc/freshclam.conf
ERROR: Can't open/parse the config file /usr/local/etc/freshclam.conf

といったエラーが表示されるので、上記の指示どおりに、

# vi /usr/local/etc/freshclam.conf

で、「Example」の行を「# Example」 に修正する。

再度 更新すると、

# freshclam
ClamAV update process started at Wed Jan 13 00:30:51 2010
main.cvd is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven)
WARNING: getfile: daily-9956.cdiff not found on remote server (IP: 120.29.176.126)
WARNING: getpatch: Can't download daily-9956.cdiff from database.clamav.net
Trying host database.clamav.net (218.44.253.75)...
WARNING: getfile: daily-9956.cdiff not found on remote server (IP: 218.44.253.75)
WARNING: getpatch: Can't download daily-9956.cdiff from database.clamav.net
Trying host database.clamav.net (211.10.155.48)...
WARNING: getfile: daily-9956.cdiff not found on remote server (IP: 211.10.155.48)
WARNING: getpatch: Can't download daily-9956.cdiff from database.clamav.net
WARNING: Incremental update failed, trying to download daily.cvd
Trying host database.clamav.net (219.94.128.99)...
Downloading daily.cvd [100%]
daily.cvd updated (version: 10286, sigs: 153631, f-level: 44, builder: ccordes)
Database updated (698666 signatures) from database.clamav.net (IP: 219.94.128.99)

と表示され、うまくウイルス定義を更新できた(上記の WARNING は、各 IP のリモートサーバに追加用の差分情報『daily-9956.cdiff』が存在せず、親玉の『daily.cvd』をダウンロードした意味なので、気にする必要は ない)。

翌日 更新すると、以下のように表示された。

# freshclam
ClamAV update process started at Wed Jan 13 09:59:13 2010
main.cvd is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven)
Trying host database.clamav.net (203.178.137.175)...
Downloading daily-10287.cdiff [100%]
Downloading daily-10288.cdiff [100%]
Downloading daily-10289.cdiff [100%]
daily.cld updated (version: 10289, sigs: 153676, f-level: 44, builder: ccordes)
Database updated (698711 signatures) from database.clamav.net (IP: 203.178.137.175)

(5) ウイルススキャン

# clamscan -i -r /home/hoge/

で、「/home/hoge/」配下のファイルをウイルスチェックできる。

# nohup nice clamscan -l /var/log/clamscan.log -i -r / &

で全ファイルのウイルスチェックが可能である。
「/var/log/clamscan.log」ファイルに検索結果が出力される。
「nohup」と「nice」と「&」指定は、バックグラウンド(&)で、実行優先順位を落として(nice)、ログアウトしても実行(nohup)させる指定である。

ウイルスチェック時に、ソースを解凍した「clamav-0.95.3/test/」配下と「clamav-0.95.3/unit_tests/」配下のファイルが、36個「ClamAV-Test-File FOUND」と表示されるが、ウイルススキャンのテスト用のデータであり、感染しているわけではない。私は、実害がないのと、きちんとパスを潜ってウイルスチェックしているかの確認のため、本ファイルは残してある。

(6) 追加設定

・ログの設定

# mkdir /var/log/clamav
# chown clamav:clamav /var/log/clamav
# touch /var/log/clamav/freshclam.log
# chown clamav:clamav /var/log/clamav/freshclam.log
# touch /var/log/clamav/clamd.log
# chown clamav:clamav /var/log/clamav/clamd.log

# vi /usr/local/etc/freshclam.conf

で、「UpdateLogFile /var/log/clamav/freshclam.log」という行を追加した。

# vi /usr/local/etc/clamd.conf

で、「Example」を「# Example」 に修正し、
「LogFile /var/log/clamav/clamd.log」と「LogTime yes」という行を追加した。

(7) その他

# apt-get install clamav

で古いバージョンの clamav をインストールしてしまうと、freshclam 時に「WARNING: Your ClamAV installation is OUTDATED!」と (定義ファイル配布サポートの) 期限切れのワーニングが出てしまい、事実上使用できない ( Vine Linux 3.2 では clamav-0.88.6-0vl0.1 が apt-get でインストールされてしまう)。

# apt-get remove clamav

で削除のこと。

|

« Vine Linux 3.2 の追加設定メモ | トップページ | ACE32のログ機能(画面入力編) »

コメント

ClamAV のバージョンは、以下の「--version」オプションで確認可能です。

# clamscan --version

投稿: 本人 | 2010年6月 4日 (金) 09:37

初めて、VINE LINUX3でサーバーを作ってみました
セキュリティの第一歩でclamを導入しようとしてたどりつきました。よく分かりませんので、もう少し勉強させて頂いて、消化してからインストールしてみます。

投稿: 大滝光司 | 2010年9月27日 (月) 17:26

Linux等のUNIX系のOSは、最初のとっかかりに壁があるので、その壁を越えるとわりと理解度が上がり楽になる、と考えています。
コマンド等の読み方も個人差があるので、口頭では伝わりにくいのも事実ですね。半分冗談ですが、ClamAV も「クラムエイブイ」ではなく、「クラマブ」とか「シーラムエーブイ」と読む人がいるかもしれません(笑)。

投稿: 本人 | 2010年9月28日 (火) 14:42

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/42597/47281325

この記事へのトラックバック一覧です: Vine Linux 3.2 でウイルススキャン (ClamAV):

« Vine Linux 3.2 の追加設定メモ | トップページ | ACE32のログ機能(画面入力編) »