サーバのウィルススキャナを AVG 8.5 に変更しました。


ども。Mimura です。

サーバ利用者の皆様には度重なるご迷惑をおかけしまして大変申し訳御座いませんでした。

 

・・そんなわけで、Avast さんを抹消して、 AVG さんを入れてきました。

検索速度は Avast! よりちょっと遅いですが、CPU利用率が低いのと、
なんか固まらない感じなのでいいかなー。と。 ・・また固まったら考えます。はい。

 

とりあえず、インストールは

http://free.avg.com/us-en/download?prd=afl
このあたりから取って来られます。はい。

 

rpm –ivh で普通にインストールして-。

 

・・ただこれ、ウィルスの除去機能が無いんです。
検知したら検知したで終わり。

 

かなり困るので、自分でチェストディレクトリに移動するスクリプトを、
以前の Avast! の時に書いたコードをベースに作成。

 

・・ログファイルがかなり綺麗だったのと、
一端データを吹っ飛ばした関係上、かなりスマートになりました (ぉ

 

そんなわけで、スクリプトの解説は一切しません。はい。
・・メールやコメントで尋ねてくださった場合には勿論お答えします。
・・記事書いている現在、それだけの余力がないので。

 

んでもってスクリプトをばーんと。

#!/bin/sh

# Virus Chest Path.
CHESTPATH=/home/system_pages/public_html/virus/

# Update.
avgupdate > /dev/null

AVGLOG="/tmp/avg.log"
avgscan /home/ -a -r$AVGLOG -x$CHESTPATH > /dev/null
[ "`cat $AVGLOG | grep ‘Infections found  :  0’`" ] && \

# VIRUS FOUND!
grep "^/home" $AVGLOG | sed "s/  .*//" | while read FILE
do
        if [ "`echo $FILE | grep ":"`" ]; then
                 FILE=`echo $FILE | sed ‘s/:.*//’`
        fi
        MOVEAT=`echo $CHESTPATH$FILE | sed -e ‘s/\/\//\//g’`

        MAKEDIRECTORYPATH=`dirname "$MOVEAT"`
        mkdir -p "$MAKEDIRECTORYPATH" > /dev/null
        if [ -f "$FILE" ]; then
                 mv -f "$FILE" "$MOVEAT" > /dev/null
        fi
done

cat $AVGLOG | mail -s "Virus Found in `hostname`" root
rm -rf $AVGLOG

ほら、めっちゃくっちゃスマート!!

この記事のコードを比べてみてください。ベースにしたとは思えないほどのスマートさ! 見やすいさ!
そして、恐ろしいほどの手抜き感! わーい

 

とりあえず、このコードの場合、
うちのサーバの各ユーザのデータは /home ディレクトリの public_html 以下に入っていますので、
/home 以下をスキャンするように設定。

そいで、ログの最後に「疑わしいファイル0」 と出ていれば何もせず、
それ以外が出ていたら、ログをパースして怪しいファイルをチェストディレクトリに移動した後、

管理人に向けてメールを発射する。 こんな構図です。

 

・・早速今晩から cron 設定して様子を見るわけですが、
Avast よりも何となく信頼できるような感じがしないでもないのですが・・。うーん。

 

・・いくら Linux にはウィルススキャナ要らないぜ! って言っても、機能ぐらいは Windows 版と同じぐらいにして貰いたい物です。


 

関連記事