Scientific Linux 5.5 に Avira AntiVir Personal (UNIX) 3.1.3.5-0 をインストール

Linux用のアンチウイルス・ソフトにはWindows同様にAvira / AVAST / AVGなどが無償版をリリースしているが、AV-Comparatives.org: Summary Reports を見るとAviraが他2製品より安定して高評価であり、最新の AV-Comparatives.org: On-demand Detection of Malicious Software: February 2011 でもADVANCED+なので、Linuxには Avira AntiVir Personal を使用することにした。Avira AntiVir Personal は非商用家庭利用に限り無償で使用することができる。以下は Scientifc Linux (SL) 5.5 にインストールする方法だが、Red Hat Enterprise Linux (RHEL) / CentOS / Oracle Linux でも同様だろう。

まずはWebブラウザーで Avira Free Antivirus ダウンロード のページを表示し、Avira Free Unix/Linux のURLを確認する。そしてそのURLからダウンロードして、GZファイルを展開する。

展開されたディレクトリに移動し、インストーラーを起動する。Enterを押すと使用許諾が表示されるので、同意できる場合はyを押すと、コア・コンポーネントがコピーされる。

更新関連の設定を行なう。最新の定義ファイルをCronで毎日更新するようにし、Guard(スキャン・エンジンのようなもの)自体も週に一回は更新を確認するようにした。

メイン・プログラムのインストールが行なう。サーバー用途のLinuxなのでオンアクセス・スキャンほどの警戒は必要ない一方で、オンアクセス・スキャンに必要なDazukoFSは低レイヤーで動いてちょっと怖いのでインストールしなかった。

検疫されたファイルはデフォルトでは/home/quarantineに移動されるが、ボクは/var/spool/AntiVir/quarantineに変更することにした。

Guardがオンかオフかがアイコンで分かるGNOMEプラグインをインストールするか聞かれるが、そもそもGNOMEをインストールしていないないので必要ない。

AntiVirのバイナリのシンボリック・リンクを/usr/sbinに作成するか聞かれるのでy

OS起動時にGuardとUpdaterを起動するスクリプトを作成するか聞かれるのでy。Guardはオンアクセス・スキャンだけでなく、オンデマンド・スキャン時にも起動していないといけないので、常に起動しておいて良いだろう。

Guardを今すぐ起動するか聞かれるのでy。いくつかの注意事項が表示されたらインストーラーは完了だ。

注意事項に従い、prelinkの対象から外す。

[text title=”/etc/prelink.conf.d/AntiVir.conf”]-b /usr/lib/AntiVir/guard[/text]

全てのファイルを最新のものに更新する。

検疫ファイルの移動先を作成し、設定ファイルを変更する。

[text title=”/etc/avira/avscan.conf” firstline=”41″ highlight=”44,45″]# QuarantineDirectory [path]

NOTE: if the specified directory does not exist it will be created by

the guard.

#QuarantineDirectory /home/quarantine
QuarantineDirectory /var/spool/AntiVir/quarantine[/text]

[text title=”/etc/avira/avguard.conf” firstline=”48″ highlight=”51,52″]# QuarantineDirectory [path]

NOTE: if the specified directory does not exist it will be created by

the guard.

#QuarantineDirectory /home/quarantine
QuarantineDirectory /var/spool/AntiVir/quarantine[/text]

デフォルトでは自動更新が成功したときのみメールを送るので、これを自動更新が失敗したときのみメールを送るように変更した。すべて変更したらデーモンに再読込みさせる。

[text title=”/etc/avira/avupdate-guard.conf” firstline=”48″ highlight=”54,55″]# Option for setting the event types which cause the Updater to send emails:

– 0 – no email notifications are sent.

– 1 – email notifications are sent in case of "successful update", "unsuccessful

update", or "up to date".

– 2 – email notification only in case of "unsuccessful update".

– 3 – email notification only in case of "successful update".

#notify-when=3
notify-when=2 [/text]

これで全ての設定は完了はしたので、正しく動くかどうか確認してみよう。EICARに無害な疑似テスト・ファイルがあるので、それを使用する。

Cronで自動実行するために、以下のようなスクリプトを作成する。これによって毎週深夜にオンデマンド・スキャンを行ない、万が一ウイルスが見つかった場合は管理者にメールが行く。なお、Server / Professional には--exclude-pattern--exclude-extがあるものの、Personalにはない(--helpでは表示されるものの、警告が出て動作しない)ので、除外パス以外のリストをスクリプト内で作って、それを順次スキャンしている。以下のソースコードはBSDライセンスを元としたこちらのライセンスに従って再頒布および使用ができる。最新のファイルは GitHub: rewse: avscan.cron にある。

done

cat $TARGET_DIRS_FILE | sort | uniq |
sed ‘s|//|/|g’ > $TARGET_DIRS_FILE.uniqed

for EXCLUDE_PATH in $EXCLUDE_PATHS; do
while [ "$PARENT_PATH" != "/" ]; do
PARENT_PATH=dirname $EXCLUDE_PATH
cat $TARGET_DIRS_FILE.uniqed |
grep -v "^$EXCLUDE_PATH\$" >> $TARGET_DIRS_FILE.excluded

done

mv $TARGET_DIRS_FILE.uniqed $TARGET_DIRS_FILE
}

}}}

{{{ Trap

trap ‘remove_tmpfile; exit 1’ 1 2 3 15

}}}

{{{ Update the virus database

avupdate-guard > /dev/null

}}}

{{{ Run avscan

Remove temporary files for initialize

remove_tmpfile

Make a taget directory list

make_target_dirs

Run avscan and send an alert mail if viruses were found out

for TARGET_DIR in cat $TARGET_DIRS_FILE; do
avscan -s –batch –alert-action=quarantine –log-file=$AVSCAN_LOG \
$TARGET_DIR | grep ALERT >> $MSGFILE
done

Send an alert mail if there is a mail message

if [ -s $MSGFILE ]; then
cat <<! | mail -s "$MAIL_TITLE" "$MAIL_TO"

WARNING

Viruses were found out. Check $AVSCAN_LOG

cat $MSGFILE
!
fi

Remove temporary files for finish

remove_tmpfile

}}}

検疫ディレクトリの権限を変更し、720時間(30日)経ったファイルは自動消去するようにしておく。

[text title=”/etc/cron.daily/AntiVir.cron”]/usr/sbin/tmpwatch 720 /var/spool/AntiVir/quarantine[/text]

また、ログをローテーションするように設定しておくことを忘れずに。

[text title=”/etc/logrotate.d/AntiVir”]/var/log/avscan.log /var/log/avupdate.log {
monthly
notifempty
missingok
}[/text]

5 thoughts on “Scientific Linux 5.5 に Avira AntiVir Personal (UNIX) 3.1.3.5-0 をインストール”

  1. Pingback: 移植完了だが・・ « ちっぱぱろぐ
  2. Pingback: CentOS6が毎日落ちる件 « ちっぱぱろぐ

コメントを残す