CANPAN ブログ検索
Loading
  • もっと見る
<< 2019年08月 >>
        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
カテゴリアーカイブ
最新記事
最新コメント
【恐怖】毎日、「Fedora」サーバーでウイルスチェックをしていたつもりが、実際には・・・ [2017年08月10日(Thu)]

【恐怖】毎日、「Fedora」サーバーでウイルスチェックをしていたつもりが、実際には・・・



1 これまでの話

 アンチウイルス用に「ClamAV」を使って、「Fedora」サーバーと「CentOS」サーバーを毎日定期的にウイルススキャンを実行しています。


 「Fedora26」サーバーと「CentOS」サーバーは、「NVR500(ブロードバンドVoIPルーター)」の内側にありますが、ウイルス定義ファイル等をインターネットに接続して更新していますので、毎日定期的にウイルススキャンを実行しています。


 より詳しく書くと、参考ブログの「virusscan」ファイルを「clamav.sh」という名前に変えて、crond で定期実行しています。


 ただし、玄箱HGで「ClamAV」を使用することは、「ClamAV」のバージョンが上がってから、玄箱HG()に負荷がかかりすぎると考えて止めた経験があります。


参考ブログ

Clam AntiVirusインストール

Fedora標準のClam AntiVirusはバージョンが古いので、本家版をソースからインストールする。

http://fedorasrv.com/clamav.shtml

Clam AntiVirus定期自動実行設定

(1)Clam AntiVirus実行スクリプト作成

[root@fedora ~]# vi virusscan ← Clam AntiVirus実行スクリプト作成

#!/bin/bash


PATH=/bin:/usr/local/bin


# excludelist

excludelist=/root/clamscan.exclude


# make excludelist

if [ -s $excludelist ]; then

    for i in `cat $excludelist`

    do

        if [ $(echo "$i"|grep \/$) ]; then

            i=`echo $i|sed -e 's/^\([^ ]*\)\/$/\1/p' -e d`

            excludeopt="${excludeopt} --exclude-dir=^$i"

        else

            excludeopt="${excludeopt} --exclude=^$i"

        fi

    done

fi


# scan virus

CLAMSCANTMP=`mktemp`

clamscan --recursive --remove ${excludeopt} / > $CLAMSCANTMP 2>&1


# virus detect message send

[ ! -z "$(grep FOUND$ $CLAMSCANTMP)" ] && \

grep FOUND$ $CLAMSCANTMP | mail -s "Virus Found in `hostname`" root

rm -f $CLAMSCANTMP


[root@fedora ~]# chmod 700 virusscan ← Clam AntiVirus実行スクリプトに実行権限付加

参考ブログ 終わり


 参考ブログに「Fedora標準のClam AntiVirusはバージョンが古いので、本家版をソースからインストールする。」と書いてあるように、以前は「ClamAV」を「tar インストール」をしていましたが、「Fedora」や「CentOS」をDVDからインストールたびに「ClamAV」を「tar インストール」するのは面倒なので、「ClamAV」のバージョンは古くてもいいと割り切って「ClamAV」を「rpm インストール」をすることにしました。



2 今日の話

 今までの経緯から飛んで、今日の話になります。


 玄箱HG()の様子を、「mrtg」で「HDDの温度変化」として確認すると、温度変化があまりない平坦な水平線のようです。


 そこで、「ClamAV」を夜中に動かして、「HDDの温度」を上昇させてみようと思い立ちました。


 玄箱HG()で「ClamAV」を使用とすると、「rpm インストール」では、次のようになります。

WARNING: Your ClamAV installation is OUTDATED!

WARNING: Local version: 0.95.1 Recommended version: 0.99.2

DON'T PANIC! Read http://www.clamav.net/support/faq


 玄箱HG()で「ClamAV」を使用とすると、「tar インストール」では、「./configure」を実行すると「OpenSSL」が無いとのエラー表示が出て処理が中断します。「yum info OpenSSL」で確認すると、「openssl」は「installed」と表示されます。

checking for OpenSSL installation... /usr

configure: error: OpenSSL not found.


yum info OpenSSL

Installed Packages

Name       : openssl

Arch       : ppc

Version    : 0.9.8k

Release    : 5.fc11

Repo       : installed



3 不具合が出た

 今回は、「HDD」に負荷を与えて「HDDの温度」を上昇させることが目的なので、「rpm インストール」を採用しました。


 玄箱HG()で「freshclam」でウイルス定義ファイルを更新した後で、「clamav.sh」を実行しました。


 すると、1秒もかからないのに、「clamav.sh」が終わりました。エラー表示はありませんでした。


 「clamscan」を実行すると、正常に終了して、処理結果を表示しました。


 涼宮ハルヒの友人のキョン「何かおかしい。そう気付き始めたのは、お盆を過ぎた夏の盛りの日のことだ。」(エンドレスエイト)


 という冗談はさておいて、「clamav.sh」の内容を確認しました。


 するとどうやら「PATH=/bin:/usr/local/bin」が、原因のようです。


 「clamscan」ファイルを探すため、「PATH=/bin:/usr/local/bin」を見に行きますが、発見できないとエラーとなります。


 しかし、「2>&1」と書くことで、標準エラー出力が画面に表示されなくなるようです。つまり、エラーが表示されないことになります。


 「clamscan」を保存している場所を探すと

find / -name clamscan

/usr/bin/clamscan


 「PATH=/bin:/usr/local/bin」を「PATH=/bin:/usr/bin」と変更しました。


 玄箱HG()で「clamav.sh」を実行してしばらく待ちましたが、「clamav.sh」は終了しませんでしたので、「clamscan」は正常に動いていると判断しました。



4 他のパソコンは正しいの?

 次に気になるのは、2台のデスクトップパソコンです。


@「Fedora」サーバー

 先月、デスクトップ「Fedora」サーバーのマザーボードを交換して、「Fedora26」をインストールしました。

 「PATH=/bin:/usr/local/bin」(「clamav.sh」の保存201410月)でした。


A「CentOS」サーバー

PATH=/bin:/usr/bin」(「clamav.sh」の保存20159月)でした。



5 「PATH」の違い

 「rpm インストール」と「tar インストール」の違いのような気がします。

@「rpm インストール」→「PATH=/bin:/usr/bin

A「tar インストール」→「PATH=/bin:/usr/local/bin



6 「Fedora」サーバーの処置

 「PATH=/bin:/usr/local/bin」を「PATH=/bin:/usr/bin」と変更しました。


 「clamav.sh」を実行し、ウイルスを発見できないことを確認しました。



7 今回の反省

 「Fedora」サーバーでは、ウイルスを発見するふりをしていたようです。


 そこで、「clamscan」や「freshclam」のような単体でのテストだけでなく、「clamav.sh」のようなシステム全体の試験も確実に実行しないと、今回のような不具合が起きる可能性が大きいと反省しました。



8 おまけとして「clamscan.exclude」内容

*****ファイル内容開始*****

/proc/

/sys/

*****ファイル内容終わり*****



9 雑感

 私は、「Linux」を勉強し始めた頃に、この「PATH」で挫折しかけたことがあります。


 「Windows」関係の本では、書いてあるとおりに英数字を入力すれば、書いてあるとおりの結果を表示します。


 しかし、「Linux」関係の本では、書いてあるとおりに英数字を入力しても、書いてあるとおりの結果が出ないことがあります。


 しばらく試行錯誤をしてから、「Linux」関係の本に書いてあるパソコンの「PATH」と私が使っているパソコンの「PATH」が異なっていることに気が付きました。


 当時は、「Linux」関係の記事を書くために用意したパソコンには、「Windows」関係の記事のように金が掛けられないため、誰が使ったかわからないような中古のパソコンを使っていると、勝手に納得しました。


 この「PATH」のトラウマからか、「rpm インストール」(yum dnf)を重点的に行い、「tar インストール」はやむを得ないときにしか実行しなくなりました。


 私は、「Red Hat Linux」から始めたので、「Red Hat系」を使用していますが、これから「Linux」を始めようとする人には、インストールが容易な「Debian系」の「Ubuntu」がお勧めだと思います。


Posted by 山田 雄一郎 at 21:18
この記事のURL
http://blog.canpan.info/hofu_nanboku/archive/378
プロフィール

山田 雄一郎さんの画像
山田 雄一郎
プロフィール
ブログ
リンク集
http://blog.canpan.info/hofu_nanboku/index1_0.rdf
http://blog.canpan.info/hofu_nanboku/index2_0.xml