Debian GNU/Linux 7.1.0 サーバにアンチウイルスソフト ClamAV を導入する方法についての記録です。
以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
0. 前提条件
- 「Debian GNU/Linux 7.1.0 - インストール(サーバ用途・最小構成)!」の方法でインストールが完了していることを想定。
- 「Debian GNU/Linux 7.1.0 - サーバ初期設定!」の方法で初期設定が完了していることを想定。
- 毎日自動でウイルススキャンを実行するようにする。
1. ClamAV インストール
以下のようにして、アンチウイルスソフト ClamAV をインストールする。
1
|
|
2. ウイルス定義ァイル最新化
以下のようにして、ウイルス定義ファイルを最新に更新する。
インストールした ClamAV のバージョンが古い場合に警告メッセージが出力されるが、特に問題はないの無視してよい。
1
|
|
3. ウイルススキャンテスト(ウイルス無しの場合)
以下のようにして、ウイルススキャンを行ってみる。
(スキャンするディレクトリを指定するなら、最後にディレクトリを指定する)
1 2 3 4 5 6 7 8 9 10 11 |
|
4. ウイルススキャンテスト(ウイルス有りの場合)
ウイルスが有る場合に正常に機能するかをテストするために、まずテスト用ウイルスを用意する。
今回は以下の4つのテストウイルスをダウンロードしてみた。
1 2 3 4 |
|
そして、ウイルススキャンを行ってみる。
4つとも検知し削除されているのが分かる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
5. ウイルススキャン実行スクリプト作成
ウイルススキャン実行用のスクリプトを作成する。
File: clamscan
1 #!/bin/bash
2
3 PATH=/usr/bin:/bin
4
5 # スキャン除外設定
6 excludelist=/root/clamscan.exclude
7 if [ -s $excludelist ]; then
8 for i in `cat $excludelist`
9 do
10 if [ $(echo "$i"|grep \/$) ]; then
11 i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`
12 excludeopt="${excludeopt} --exclude-dir=^$i"
13 else
14 excludeopt="${excludeopt} --exclude=^$i"
15 fi
16 done
17 fi
18 # ウイルス定義ファイル最新化
19 freshclam > /dev/null
20
21 # ウイルススキャン
22 CLAMSCANTMP=`mktemp`
23 clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1
24 [ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \
25
26 # レポートのメール送信
27 grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root
28 rm -f $CLAMSCANTMP
6. ウイルススキャン実行スクリプト実行権限付与
ウイルススキャン実行スクリプトに実行権限を付与する。
1
|
|
7. スキャン対象外ファイル編集
ウイルススキャンを行わないディレクトリがあれば、 “clamscan.exclude” ファイルに記述する。
1 2 |
|
8. スクリプト実行
作成したウイルススキャン実行スクリプトが正常に実行されるか試しに動かしてみる。
1
|
|
9. 自動実行設定
ウイルススキャン実行スクリプトに問題がなければ、毎日自動で実行させるために cron ディレクトリへ移動する。
1
|
|
以上。