Clamav その2

Security
この記事は約9分で読めます。

前々回にご紹介したClam AntiVirusの追加記事です。

記事の分量が多くなりすぎてしまい、1回だけの記事では今一つ舌足らずだった部分がありましたので、それを補足する記事を投稿します。

今回の内容は、

の2点についてです。

on access scanningについて

On-Access スキャン(リアルタイムスキャン)は、ファイルが 作成・変更・読み込みされるタイミングで即座にスキャン を実行する機能です。

clamavパッケージに含まれる ” clamonacc ” コマンドで実行します。

fanotifyについて

ファイルを作成したり読込するたびにスキャンを作動させる為、ファイルの動作を監視して待ち構えておく必要があります。

普段からその監視を行なっている機能が ” fanotify ” です。

その ” fanotify ”  を利用するため、ClamAV をrootで実行する必要があります。

” fanotify ” も調べれば奥深いみたいですが今回は取り敢えず、rootで実行のみ知っておけばOK。

” fanotify ” の存在は、コマンド ” ls /proc/sys/fs ” で、 ” fanotify ” があれば確認出来ます。

” fanotify ” はlinuxのカーネル3.8以上で動作します。(表示のカーネルは6.6.63)

インストールと設定

普通にclamavのパッケージをインストールすれば、その中に ” clamonacc ” が含まれています。

インストール

下記にてclamavパッケージをインストールします。

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

下記コマンドを順に実行し、ウイルス定義ファイルを更新します。

clamdの設定

スミマセン、ここの設定の部分はあまり自信がありません。よく分かっていないままなので詳しい説明が出来ませんし、多分より良い設定があると思います。

On-Access スキャンを有効にするため、設定ファイル /etc/clamav/clamd.conf を編集します。

下例ではnanoを用いて設定ファイル ” clamd.conf ” を開いています。

カーソルを上下矢印キーで移動して、以下の変更を行います。

変更1
変更2

最下段に以下の5行を追加します。

” Ctrl + O ” → ”Enter ” → ” Ctrl + X ” でnanoを保存終了します。

参考 root権限について

kaliではデフォルトではrootが設定されていませんが、作成することが出来ます。

デフォルトでrootが存在しない理由は、普段からroot権限で操作していると何でも可能な代わりに、致命的なミスをやらかす懸念があるからです。

root権限への昇格の仕方

まだroot権限を作成していない場合には、 ” sudo -i ” でrootアカウントを作成し、 ” passwd root ” でroot用のパスワードを設定します。

すでにrootアカウントを作成している場合は、 ” su ” コマンド後にroot用パスワードを入力します。

一般ユーザーへの降格の仕方

root権限状態で ” su 降格先のユーザー名 ” で降格できます。(パスワード不要です)

clamd起動

root権限にて行います。

clamav-daemonの作動状況の確認

clamonacc起動

root権限にて ” clamonacc ” コマンドを実行します。

3つのオプションの解説

オプション意味場所(例)
–config-file=設定の読込元/etc/clamav/clamd.conf
–log=ログの保存先/var/log/clamav/clamonacc.log
–move=見つかったマルウェアの隔離先/var/quarantine

” clamonacc ” コマンドの実行以後は、ファイル操作を行う毎に逐次ウイルススキャンが行われます。(次項で検証します)

参考:clamonaccヘルプ

参考までに ” clamonacc ” のヘルプです。

アンチウイルスの動作テスト

次に実際のウイルス(と言っても本物ではなく、テスト用の無害なダミーウイルス)を使用したウイルス検出テストを行います。

ダミーのウイルス取得

まずは、ダミーのウイルスを取得します。

EICAR (European Institute for Computer Antivirus Research) により作成されたテストファイルです。

無害なファイルですが、アンチウイルスソフトからはウイルスとして認識されます。

EICARのサイトからダウンロードリンクを辿るか、又は下記のいずれかでダウンロード出来ます。

下記がダミーウイルスの中身です。その実体は68バイトのテキストであり、アンチウイルスソフトはこれをウイルスとして認識します。

ダウンロードの代わりに上記の内容のテキストファイルを作成すれば、それをダミーウイルスファイルとして代用できます。

検証1 clamscan

まずはデーモンを使わない手動スキャン(オンデマンドスキャン) ” clamscan ” によるテストです。

clamscan /home/kali –move=/var/quarantine

スキャン対象ディレクトリは ” /home/kali ” 、隔離ファイルの送り先は ” /var/quarantine ” としています。

今回ダミーウイルスは ” /home/kali ” 直下の階層にある為、時短の為に ” -r ” オプション(深い階層までスキャンする設定)は使用していません。

無事、ダミーウイルス ” eicar.com.txt ” を見つけていますが、隔離場所に送ることには失敗しています。

送り先 ” /var/quarantine ” に書き込む権限が無いようです。そこでまずは ” sudo ” をつけちゃいます。

今回は無事ダミーウイルスを発見して、隔離することが出来たようです。

” /home/kali ” からはダミーウイルス ” eicar.com.txt ” が消失し、 ” /var/quarantine ” 内に収容されています。

検証2 clamdscan

次にデーモン ” clamdscan ” を使用したスキャンです。

まずは先程収容所送りにしたダミーウイルスを釈放して ” /home/kali ” に連れ戻します。

ダミーウイルス ” eicar.com.txt ” は、ホームディレクトリに連れ戻されています。

書き込み権限の変更

先程は ” sudo ” をつけて無理矢理書き込みましたが、今回は ” /var/quarantine ” 収容所の書込み権限を変更して、 ” sudo ” をつけなくても書き込めるようにしてみます。

” /var/quarantine ” 収容所にはrootしか書き込めないようになっています。

最下段が、 ” drwxr-xr-x ” となっており、6番目と9番目の文字が ” w ” になっていません。

これを誰でも書き込めるように変更します。

” /var/quarantine ” は誰からでも書き込めるように変更されています。

最下段が、 ” drwxrwxrwx ” となっており、6番目と9番目の文字が ” w ” になっています。

” clamdscan ” によるスキャン実行

sudoなしでも ” eicar.co.txt ” が発見され、かつ ” /var/quarantine ” 収容所に移送できています。

検証3 clamonacc

デーモンを使用したon-accessスキャンです。

まず、ルート権限に昇格し、clamonaccコマンドを実行します。

上記コマンドによって、以後のオンアクセススキャンが開始されます。

権限を一般ユーザーに降格しておきます。

ここで試しにテキストエディタmousepadを使って、先程のダミーファイルと同じ内容のファイルを新たに作成してみました(命名は ” eicar0.txt ” )が、作成直後に即座に収容所に送られました。

オンアクセススキャンは成功です。

ログを確認してみます。

検出と隔離の様子が確認出来ます。

まとめ

今回は、以前のclam AV紹介編の追補記事として、

を行いました。

ところでウイルスの隔離収容所にはいつの間にか多数の知らない「囚人」が隔離されていますが…見ないフリをしておこう…。

コメント

タイトルとURLをコピーしました