アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年08月
≪07月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    09月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Ubuntu 9.10 で Avira AntiVir を使ってみる。(その1)で Avira AntiVir(以下、AVIRA)をインストールし、リアルタイムスキャンの環境ができました。


この「AVIRA」には、スケジュールでのスキャンの自動実行の機能がないので、スケジュールでのスキャンを行う場合は、何かしらの策を講じる必要があります。

簡単に行うなら、スキャン実行をシェルスクリプト化し、そのシェルスクリプトを「cron」から実行することで実現できますね。

なので、スキャン実行をシェルスクリプト化してみます。




「AVIRA」での手動スキャンには「avscan」というユーティリティ(コマンド)を利用するのですが、この「avscan」がちょっと厄介だったりします。。。

ウィルスを発見した場合、発見したファイルをどのように扱うかの処理要求が発生します。

処理が要求待ちの例

$ /usr/bin/avscan -s /tmp

~ 略 ~

scan progress: file "/tmp/test/eicar_com.zip"

file: /tmp/test/eicar_2.com
last modified on date: yyyy-mm-dd time: hh:mm:ss, size: 68 bytes
ALERT: Eicar-Test-Signature ; virus ; Contains code of the Eicar-Test-Signature virus
ALERT-URL: http://www.avira.com/en/threats?q=Eicar%2DTest%2DSignature
which action to take (quit, none, rename, move, delete)? [none] empty response.
 Will use (default or previous) action [none]←処理の要求で要求待ち


ウィルスが発見されなければ問題ありませんが、ウィルスが発見されると処理が止まってしまうのは問題ですね。
バックグラウンドで実行することが前提とすると、発見時に処理を指定することもできません。

ですので、「avscan」の「--batch」オプションを利用し、ウィルスが発見された場合はデフォルト設定の処理を行う仕様とします。

また、バックグラウンド実行すると、スキャン結果が伝わらないため、結果をメール送信する仕様とします。


で、作成したシェルは以下のように。。。

※ mail コマンドは Ubuntu 9.10 のデフォルトではインストールされていませんので、別途インストールする必要があります。


#! /bin/sh
#####################################################################################################
# AVIRAファイルスキャンシェル
#
# ※rooot で実行すること
#####################################################################################################

# 送信先アドレス
send_address=<アドレス>

# スキャンディレクトリ
scan_dir=<スキャンするディレクトリ>
temp_log_dir=<一時ログファイルの保存先>


# スキャン実行
/usr/bin/avscan <使用するオプション> --batch $scan_dir > $temp_log_dir
scan_result=$?

# スキャンの戻り値判別(メール件名のセット)
case "$scan_result" in
0 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':正常終了)' ;;
1 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':ウイルス発見)';;
3 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':疑わしいファイル)' ;;
4 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':警告発行)' ;;
255 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':Internal error)' ;;
254 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':Configuration error)' ;;
253 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':Error while preparing on-demand scan)' ;;
252 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':daemon is not running)' ;;
251 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':daemon is not accessible)' ;;
250 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':Cannot initialize scan process)' ;;
249 ) send_subject='AVIRA ウィルススキャン結果('`hostname`':Scan process not completed)' ;;
* ) send_subject='AVIRA ウィルススキャン結果('`hostname`':異常終了' $scan_result ')' ;;
esac

# メール送信
cat -v $temp_log_dir |mail -s "$send_subject" $send_address

# 一時ファイルの削除
rm $temp_log_dir

exit $scan_result


「avscan」は実行結果の戻り値を返してくれます。
この戻り値を利用して、スキャン結果が判別できるので、メールの件名に利用してます。

また、「avscan」の標準出力にスキャンしたファイルの情報などがあるので、メール本文に利用しました。


まあ、これくらいの仕様でうちの環境は十分ですねww


あとは、cron でスケジュールするだけです。






「AVIRA」はオンラインスキャンもしてくれるし、一手間かければ、バッチスキャンもしてくれますww

ウィルスのパターンデータは頻繁に更新されているので、新種のウィルスの対応も早いのでしょうね。

結構優秀ですねww


コメント
この記事へのコメント
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。