このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/10 16:56
名前: 中田
URL:
CentOS5がリリースされて、次期サーバ用OSとしてテストをしています。
当ホームページの手引きにしたがって、インストールし、設定を完了しました。
Webサーバに関連するサーバもインストールし設定しました。
Clamavスキャンも良好でした。

サーバの電源を落とし、再立ち上げを行ったときに、立ち上がらなくなりました。
コンソール画面の表示は、下記の通りです。

>Booting comand-list

>root (hd0,0)
> Filesystem type is ext2fs, partition type 0x83
>kernel /vmlinuz-2.6.18-8.1.3.e15 ro root=LABEL=/

>Error 15: File not found

>Press any key to continue ...

現象として、/boot/ディレクトリ下にあるべき、カーネルファイル
vmlinuz-2.6.18-8.1.3.e15 が消失しています。

カーネルはyumでupdateし、vmlinuz-2.6.18-8.e15 からvmlinuz-2.6.18-8.1.3.e15 に
変更されています。

再インストールしても良いのですが、同じ現象がバーチャルPCで実験した時も発生しています。
この原因と対策をお教えいただけないでしょうか。

よろしくお願い申し上げます。



記事編集 編集

Page: | 1 | 2 |

Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/11 12:13
名前: なおき
URL:

こんにちは、

FC4からCentOS5に変更するために、テストサーバーを構築して、
しばらく動作テストをしていたのですが、Clamavでカーネルが
消えてしまいますね。

clamavはrpmforgeの物ですが、3回、OSの再インストールを
しましたが、やはり消えてしまいました。

あまりテストに時間をかけられなかったので、FC6にしてしまい
ましたが、何が原因なんですかね?
これさえ解決すれば、CentOS5の方がいいんですけどね。
記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/11 16:49
名前: 管理人
URL:
>あまりテストに時間をかけられなかったので、FC6にしてしまい
>ましたが、何が原因なんですかね?
>これさえ解決すれば、CentOS5の方がいいんですけどね。
>>1で園下様が示された以下のサイトにあるように、
http://youkand.cocolog-nifty.com/blog/2007/05/kernel_ebf4.html
/etc/clamd.confのDetectBrokenExecutablesオプションをyesからnoに変更すれば、kernelは削除されないようです。

記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/15 16:14
名前: 中田
URL:
園下さんにお教えいただいたブログに、カーネルが削除された原因、レスキューする方法について、詳細に記述されていました。
ブログを記述された「羊羹bolg@ココログ」の作者にお礼申し上げます。
また、すばやく、対応をとられた管理人さんに、お礼申し上げます。

休暇明けで、今日、羊羹bolg@ココログの記述にしたがって、失われたカーネルを回復させ、原因を究明しました。羊羹bolg@ココログさんの検証の追認テストになりますが、原因およびレスキュー方法をここに整理しておきます。
このトラブルに遭遇された方は、参考になると思います。

原因:
ウイルス対策ソフトClamavが、カーネルを壊れたファイルと見なし、カーネルファイルを回復させようとした結果、カーネルを削除した。

根拠:
root@localhost宛てのメールに、テストウイルスと同時に、カーネル関係のファイルが捕捉されています。
メールの内容
>Subject: Virus Found in Cent5.localhost
>Status: RO
>//usr/share/doc/clamav-0.90.2/test/clam-v2.rar: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam-v3.rar: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.exe.bz2: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.zip: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.cab: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.exe: ClamAV-Test-File FOUND
>//tmp/initrd.OX3268/bin/lvm: Broken.Executable FOUND
>//boot/vmlinuz-2.6.18-8.el5: Broken.Executable FOUND
>//boot/vmlinuz-2.6.18-8.1.1.el5: Broken.Executable FOUND

暫定対策:
羊羹bolg@ココログに記述されている通り、clamd.confの記述を
DetectBrokenExecutables の設定をnoにしてやれば、とりあえず解決するようです。

不可解な点:
不可解な点が2点あります。
1.Clamdが、何故、カーネルファイルを壊れたファイルと見なすのか?
2.clamd.confのDetectBrokenExecutablesデフォルト設定はnoなのに、なぜインストールされたclamd.confのDetectBrokenExecutablesの設定がyesになっていたのか?
># With this option clamav will try to detect broken executables (both PE and
># ELF) and mark them as Broken.Executable.
># Default: no
>DetectBrokenExecutables no

問題を起こしたClamdパッケージのバージョン:
>[root@Cent5 ~]# rpm -qi clamd
>Name : clamd Relocations: (not relocatable)
>Version : 0.90.2 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
>Release : 1.el4.rf Build Date: 2007年04月16日 03時10分33秒
>Install Date: 2007年04月26日 10時33分18秒 Build Host: lisse.leuven.wieers.com
>Group : System Environment/Daemons Source RPM: clamav-0.90.2-1.el4.rf.src.rpm
>Size : 9651554 License: GPL
>Signature : DSA/SHA1, 2007年04月16日 18時02分03秒, Key ID a20e52146b8d79e6
>Packager : Dag Wieers <dag@wieers.com>
>URL : http://www.clamav.net/
>Summary : The Clam AntiVirus Daemon
>Description :
>The Clam AntiVirus Daemon

カーネルを消失させるウイルスソフトは、ウイルス以上に困った問題です。
カーネルの消失は、再起動させないと発覚しませんので、長期間動いていたCentOSが、再起動させて動かなくなるので、何が原因か分からなくなる可能性があります。

レスキュー方法:
羊羹bolg@ココログに記述されている通りですが、同じトラブルで困られている方があると思いますので、下記に記述します。
1.CentOS5.0の1枚目のCD-ROMを、サーバーのCD-ROMトレイにいれ、PCの電源を入れる。
2.インストール画面が表示され、下部にboot:プロンプトが表示される。
3.下記の通り、linux rescueと入力する。
   boot:linux rescue
  画面表示にしたがって、langauageはEnglish、キーボードはjpを選択する。
  Networkingの選択で、Yesを選択する。
  Network Configurationの選択で、DHPCを有効、IPv4を有効、IPv6を無効を選択しする。
  Rescue画面で「Continue」を選択する。
  レスキュー環境が、/mnt/sysimage にマウントされた表示画面が表示される。OKをエンターする。
  .sh-3.1#プロンプトが表示される。
 これで、コマンド操作ができる環境が整ったことになります。
4.カーネルの存在を確認する。
   sh-3.1# ls -la /mnt/sysimage/boot/
    カーネルファイルvmlinuz-2.6.18-8.el5が削除されている。
5.カーネルをダウンロードする。
  失われたバージョンをダウンロードできるミラーサイトのパッケージのURLを記述する。
  この場合は、
  sh-3.1# wget http://ftp.kddilabs.jp/Linux/packages/CentOS/5.0/os/i386/CentOS/kernel-2.6.18-8.el5.i686.rpm

6.カーネルをインストールする。
  sh-3.1# rpm --nodeps --force --root /mnt/sysimage -Uvh kernel*.rpm
    カーネルがインストールされたか確認する。
      sh-3.1# ls -la /mnt/sysimage/boot/
  確認後、sh-3.1# exit

7.サーバーを再起動させる。
    正常に起動することを確認
  /boot/ディレクトリ下のファイルを確認する。

8.再発防止の暫定対策:
    [root@Cent5 ~]# /etc/rc.d/init.d/clamd stop
clamd.confのDetectBrokenExecutablesをnoにする。
 [root@Cent5 ~]# vi /etc/clamd.conf
> # With this option clamav will try to detect broken executables (both PE and
> # ELF) and mark them as Broken.Executable.
> # Default: no
DetectBrokenExecutables no
  clamdを起動させる。
    [root@Cent5 ~]# /etc/rc.d/init.d/clamd stop
  

以上で、一応回復したので、様子を見ることになります。
Clamavのウイルスソフトは、しばしばバージョンアップされますが、怖くて使用できない感じがします。
根本的な原因がわかれば、この掲示板でお教えください。

追伸:
管理人さんがテストされたバージョンと今回のバージョンは異なるようです。
問題を起こしたバージョン:Source RPM: clamav-0.90.2-1.el4.rf.src.rpm
管理人さんのバージョン :Source RPM: clamav-0.90.2-1.el5.rf.src.rpm

ダウンロードしたレポジトリは下記の通りです。
[root@Cent5 ~]# yum search clamd
Loading "fastestmirror" plugin
Loading "installonlyn" plugin
Setting up repositories
base 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 951 B 00:00
addons 100% |=========================| 951 B 00:00
extras 100% |=========================| 1.1 kB 00:00
Determining fastest mirrors
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 126 kB 00:00
updates : ################################################## 315/315
Added 64 new packages, deleted 0 old in 4.99 seconds
primary.xml.gz 100% |=========================| 6.9 kB 00:00
extras : ################################################## 42/42
Added 13 new packages, deleted 0 old in 0.54 seconds

clamd.i386 0.90.2-1.el4.rf installed
Matched from:
clamd

管理人さんへ:
トラブルは、一応回復しましたが、上述の内容から、お気づきの点をコメントをお願いします。
管理人さんのコメントで、このスレッドを解決・終了とさせていただきます。
よろしくお願いします。
記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/15 20:18
名前: 管理人
URL:
中田様

完璧なフォローまことにありがとうございます。

やはりclamdのバージョンに問題があるようです。
下記が中田様のclamdのバージョン情報と当方のclamdのバージョン情報です。

>問題を起こしたClamdパッケージのバージョン:
>>[root@Cent5 ~]# rpm -qi clamd
>>Name : clamd Relocations: (not relocatable)
>>Version : 0.90.2 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
>>Release : 1.el4.rf Build Date: 2007年04月16日 03時10分33秒
>>Install Date: 2007年04月26日 10時33分18秒 Build Host: lisse.leuven.wieers.com
>>Group : System Environment/Daemons Source RPM: clamav-0.90.2-1.el4.rf.src.rpm
>>Size : 9651554 License: GPL
>>Signature : DSA/SHA1, 2007年04月16日 18時02分03秒, Key ID a20e52146b8d79e6
>>Packager : Dag Wieers <dag@wieers.com>
>>URL : http://www.clamav.net/
>>Summary : The Clam AntiVirus Daemon
>>Description :
>>The Clam AntiVirus Daemon

[root@centos ~]# rpm -qi clamd
Name : clamd Relocations: (not relocatable)
Version : 0.90.2 Vendor: Dag Apt Repository,http://dag.wieers.com/apt/
Release : 1.el5.rf Build Date: 2007年04月16日 02時42分37秒
Install Date: 2007年05月07日 11時37分25秒 Build Host: lisse.leuven.wieers.com
Group : System Environment/Daemons Source RPM: clamav-0.90.2-1.el5.rf.src.rpm
Size : 170449 License: GPL
Signature : DSA/SHA1, 2007年04月16日 18時02分00秒, Key ID a20e52146b8d79e6
Packager : Dag Wieers <dag@wieers.com>
URL : http://www.clamav.net/
Summary : The Clam AntiVirus Daemon
Description :
The Clam AntiVirus Daemon

中田様のclamdのバージョンがclamav-0.90.2-1.el4.rf.src.rpmなのに対し、当方のclamdのバージョンは
clamav-0.90.2-1.el5.rf.src.rpmと、当方の方が新しいですが、Build Dateをみると、中田様のclamdのBuild Dateが2007年04月16日 03時10分33秒なのに対し、当方のclamdのBuild Dateは2007年04月16日 02時42分37秒と、当方の方が古いです。
これは明らかにおかしいです。当方とは異なるyumリポジトリからclamdがインストールされていて、かつ、そのリポジトリのclamdが今回事象の不具合を抱えているように思います。
ちなみに当方のyumリポジトリは以下のとおりです。

[root@centos ~]# ll /etc/yum.repos.d/
合計 24
-rw-r--r-- 1 root root 2371 4月 9 04:22 CentOS-Base.repo
-rw-r--r-- 1 root root 622 4月 9 04:22 CentOS-Media.repo
-rw-r--r-- 1 root root 684 3月 9 02:48 mirrors-rpmforge
-rw-r--r-- 1 root root 428 5月 7 11:00 rpmforge.repo

clamdをインストール元yumリポジトリであるrpmforgeのyumリポジトリ設定ファイル内容は以下のとおりです。
[root@centos ~]# cat /etc/yum.repos.d/rpmforge.repo
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

なにか当方と差分はありますでしょうか?
記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/15 20:33
名前: 管理人
URL:
中田様

完璧なフォローまことにありがとうございます。

やはりclamdのバージョンに問題があるようです。
下記が中田様のclamdのバージョン情報と当方のclamdのバージョン情報です。

>問題を起こしたClamdパッケージのバージョン:
>>[root@Cent5 ~]# rpm -qi clamd
>>Name : clamd Relocations: (not relocatable)
>>Version : 0.90.2 Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
>>Release : 1.el4.rf Build Date: 2007年04月16日 03時10分33秒
>>Install Date: 2007年04月26日 10時33分18秒 Build Host: lisse.leuven.wieers.com
>>Group : System Environment/Daemons Source RPM: clamav-0.90.2-1.el4.rf.src.rpm
>>Size : 9651554 License: GPL
>>Signature : DSA/SHA1, 2007年04月16日 18時02分03秒, Key ID a20e52146b8d79e6
>>Packager : Dag Wieers <dag@wieers.com>
>>URL : http://www.clamav.net/
>>Summary : The Clam AntiVirus Daemon
>>Description :
>>The Clam AntiVirus Daemon

[root@centos ~]# rpm -qi clamd
Name : clamd Relocations: (not relocatable)
Version : 0.90.2 Vendor: Dag Apt Repository,http://dag.wieers.com/apt/
Release : 1.el5.rf Build Date: 2007年04月16日 02時42分37秒
Install Date: 2007年05月07日 11時37分25秒 Build Host: lisse.leuven.wieers.com
Group : System Environment/Daemons Source RPM: clamav-0.90.2-1.el5.rf.src.rpm
Size : 170449 License: GPL
Signature : DSA/SHA1, 2007年04月16日 18時02分00秒, Key ID a20e52146b8d79e6
Packager : Dag Wieers <dag@wieers.com>
URL : http://www.clamav.net/
Summary : The Clam AntiVirus Daemon
Description :
The Clam AntiVirus Daemon

中田様のclamdのバージョンがclamav-0.90.2-1.el4.rf.src.rpmなのに対し、当方のclamdのバージョンは
clamav-0.90.2-1.el5.rf.src.rpmと、当方の方が新しいですが、Build Dateをみると、中田様のclamdのBuild Dateが2007年04月16日 03時10分33秒なのに対し、当方のclamdのBuild Dateは2007年04月16日 02時42分37秒と、当方の方が古いです。
これは明らかにおかしいです。当方とは異なるyumリポジトリからclamdがインストールされていて、かつ、そのリポジトリのclamdが今回事象の不具合を抱えているように思います。
ちなみに当方のyumリポジトリは以下のとおりです。

[root@centos ~]# ll /etc/yum.repos.d/
合計 24
-rw-r--r-- 1 root root 2371 4月 9 04:22 CentOS-Base.repo
-rw-r--r-- 1 root root 622 4月 9 04:22 CentOS-Media.repo
-rw-r--r-- 1 root root 684 3月 9 02:48 mirrors-rpmforge
-rw-r--r-- 1 root root 428 5月 7 11:00 rpmforge.repo

clamdインストール元yumリポジトリであるrpmforgeのyumリポジトリ設定ファイル内容は以下のとおりです。
[root@centos ~]# cat /etc/yum.repos.d/rpmforge.repo
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
# URL: http://rpmforge.net/
[rpmforge]
name = Red Hat Enterprise $releasever - RPMforge.net - dag
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
enabled = 0
protect = 0
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
gpgcheck = 1

なにか当方と差分はありますでしょうか?
記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/16 14:50
名前: 中田
URL:
管理人様

ご依頼の件、調べましたところ下記の通りです。

[root@Cent5 ~]# ls -la /etc/yum.repos.d/
>drwxr-xr-x 2 root root 4096 5月 15 16:37 .
>drwxr-xr-x 84 root root 12288 5月 16 10:07 ..
>-rw-r--r-- 1 root root 2371 4月 9 04:22 CentOS-Base.repo
>-rw-r--r-- 1 root root 622 4月 9 04:22 CentOS-Media.repo
>-rw-r--r-- 1 root root 684 3月 9 02:48 mirrors-rpmforge
>-rw-r--r-- 1 root root 415 5月 15 16:37 rpmforge.repo
>-rw-r--r-- 1 root root 428 3月 9 02:48 rpmforge.repo.rpmnew
注:5月15日16時37分のrpmforge.repoは、CentOS5.0をレスキューした後に、「CentOSによる自宅サーバ構築」のマニュアルにそって、再度rpmforgeレポジトリを再インストールしたもので、clamdの最新バージョンを確認するためにyum search clamdで検索しています。

5月15日更新のrpmforge.repo
[root@Cent5 yum.repos.d]# less rpmforge.repo
># Name: RPMforge RPM Repository for Red Hat Enterprise 4 - i386
># URL: http://rpmforge.net/
>[rpmforge]
>name = Red Hat Enterprise 4 - i386 - RPMforge.net - dag
>#baseurl = http://apt.sw.be/redhat/el4/en/$basearch/dag/
>mirrorlist = http://apt.sw.be/redhat/el4/en/mirrors-rpmforge
>#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
>enabled = 0
>gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
>gpgcheck = 1
>rpmforge.repo (END)

3月9日更新のrpmforge.repo.rpmnew
[root@Cent5 yum.repos.d]# less rpmforge.repo.rpmnew
># Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
># URL: http://rpmforge.net/
>[rpmforge]
>name = Red Hat Enterprise $releasever - RPMforge.net - dag
>#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
>mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
>#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
>enabled = 1
>protect = 0
>gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
>gpgcheck = 1
>rpmforge.repo.rpmnew (END)

レポジトリrpmforgeでの、clamdの最新パッケージの検索
[root@Cent5 yum.repos.d]# yum --enablerepo=rpmforge search clamd
管理人さんがインストールされているclamdの最新バージョン0.90.2.1.el5.rf が、検索できない。
このレポジトリの環境下では、rl4.rf版である。

疑問点:
1.誤りなくCentOS5版のrpmforgeをインストールしたのに、Red Hat Enterprise 4 版になったのか不明?
2.3月9日の更新日付で、rpmforge.repo.rpmnewのファイルがあり、この内容はRed Hat Enterprise 5 版になっている。このファイルは、ファイル名にrpmnewが付き、検索対象レポジトリから外されている。?


追伸:
以前VPCで設定したCentOS4.4バージョンがあり、そのclamdは、0.90.1バージョンでしたが、
clamd.confのDetectBrokenExecutables の設定はyesでした。
したがって、rl4バージョンのclamdパッケージが、CentOS5にインストールされたから(何故そのようになったかは分かりませんが)、カーネルファイルが削除されるようになったのでしょうか?
バージョンが4から5に変更されたことにより、カーネルが削除されるのは理解できません。
記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/17 21:01
名前: 中田
URL:
No.10からの続き
原因は分かりませんが、rpmforge.repoがel4版(RedHat Enterprise4, CentOS4用)になっていて、el5版(
RedHat Enterprise5, CentOS5用)のclamdをインストールできなかったことにあるようです。

下記の手続きで、rpmforge.repoの移し替えを行う。
[root@Cent5 yum.repos.d]# mv rpmforge.repo rpmforge.repo-el4
[root@Cent5 yum.repos.d]# mv rpmforge.repo.rpmnew rpmforge.repo

変更したrpmforge.repoのenabled=1を、enabled=0に変更する。
[root@Cent5 yum.repos.d]# vi rpmforge.repo
># Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag
># URL: http://rpmforge.net/
>[rpmforge]
>name = Red Hat Enterprise $releasever - RPMforge.net - dag
>#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag
>mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
>#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
>enabled = 0
>protect = 0
>gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
>gpgcheck = 1

パッケージclamdの最新バージョンを探す。
[root@Cent5 ~]# yum --enablerepo=rpmforge search clamd
>Loading "fastestmirror" plugin
>Loading "installonlyn" plugin
>Setting up repositories
>rpmforge 100% |=========================| 1.1 kB 00:00
>base 100% |=========================| 1.1 kB 00:00
>updates 100% |=========================| 951 B 00:00
>addons 100% |=========================| 951 B 00:00
>extras 100% |=========================| 1.1 kB 00:00
>Loading mirror speeds from cached hostfile
>Reading repository metadata in from local files
>primary.xml.gz 100% |=========================| 1.0 MB 00:04
>rpmforge : ################################################## 3676/3676
>Added 3616 new packages, deleted 6132 old in 127.86 seconds
>primary.xml.gz 100% |=========================| 24 kB 00:00
>extras : ################################################## 106/106
>Added 64 new packages, deleted 0 old in 2.21 seconds

>clamd.i386 0.90.1-2.el5.rf rpmforge
>Matched from:
>clamd

>clamd.i386 0.90.1-3.el5.rf rpmforge
>Matched from:
>clamd

>clamd.i386 0.90.1-4.el5.rf rpmforge
>Matched from:
>clamd

>clamd.i386 0.90.2-1.el5.rf rpmforge
>Matched from:
>clamd

>fuse-clamfs.i386 0.9.1-1.el5.rf rpmforge
>Matched from:
>FUSE-based user-space file system for Linux with on-access anti-virus
>file scanning through clamd daemon.

>clamd.i386 0.90.2-1.el4.rf installed
>Matched from:
>clamd
管理人さんが言われていた、el5版のパッケージが表示される。

el4版のclamdを削除する。
[root@Cent5 ~]# yum remove clamd
>Removed: clamd.i386 0:0.90.2-1.el4.rf
>Complete!

el5版のパッケージclamdをインストールする。
[root@Cent5 ~]# yum --enablerepo=rpmforge install clamd
>Installed: clamd.i386 0:0.90.2-1.el5.rf
>Dependency Updated: clamav.i386 0:0.90.2-1.el5.rf clamav-db.i386 0:0.90.2-1.el5.rf
>Complete!

clamd.confは、変更しないでおく。 デフォルト設定はDetectBrokenExecutables yes になっている。

/etc/cron.daily/下のclamdscanスクリプトを、手動で起動させる。
[root@Cent5 cron.daily]# sh -x clamscan
>+ PATH=/usr/bin:/bin
>+ excludelist=/root/clamscan.exclude
>+ '[' -s /root/clamscan.exclude ']'
>++ mktemp
>+ CLAMSCANTMP=/tmp/tmp.Tasboe4821
>+ clamdscan --remove /
>++ grep 'FOUND$' /tmp/tmp.Tasboe4821
>+ '[' '!' -z '//usr/share/doc/clamav-0.90.2/test/clam-v2.rar: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam-v3.rar: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.exe.bz2: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.zip: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.cab: ClamAV-Test-File FOUND
>//usr/share/doc/clamav-0.90.2/test/clam.exe: ClamAV-Test-File FOUND
>//boot/vmlinuz-2.6.18-8.el5: Broken.Executable FOUND' ']'
>+ grep FOUND /tmp/tmp.Tasboe4821
>++ hostname
>+ mail -s 'Virus Found in Cent5.localhost' root
>+ rm -f /tmp/tmp.Tasboe4821

/boot/ディレクトリの中身をみる。
[root@Cent5 ~]# less /boot/
>drwxr-xr-x 4 root root 1024 5月 17 14:02 ./
>drwxr-xr-x 25 root root 4096 5月 17 10:08 ../
>-rw-r--r-- 1 root root 884787 3月 16 09:19 System.map-2.6.18-8.el5
>-rw-r--r-- 1 root root 62150 3月 16 09:19 config-2.6.18-8.el5
>drwxr-xr-x 2 root root 1024 5月 15 20:55 grub/
>-rw------- 1 root root 2194476 5月 15 20:55 initrd-2.6.18-8.el5.img
>drwx------ 2 root root 12288 4月 25 22:38 lost+found/
>-rw-r--r-- 1 root root 80032 4月 1 23:49 message
>-rw-r--r-- 1 root root 83542 3月 16 09:20 symvers-2.6.18-8.el5.gz
カーネルvmlinuz-2.6.18-8.el5が削除されている。
したがって、clamdのバージョンが、0.90.2-1.el4.rf、0.90.2-1.el5.rf共に、カーネルファイルを削除することが分かった。

カーネルの再インストールと、clamd.confのDetectBrokenExecutablesを、noに変更し、応急処置とした。

管理人さんへ(質問)
CentOS5.0は、リリースされて日が浅く、CentOS5.0用のextraレポジトリが整備されていない状態で、現在稼動しているサーバのOSを、CentOS5.0に移行するのは、早いような気がします。
ウイルス対策ソフトClamavは、危なくて使用できない様に思います。いかがでしょうか?
CentOS5.0が、安定するにはどの程度の日数を要するのでしょうか。経験上いかがでしょうか?
記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/21 13:21
名前: 管理人
URL:
中田様

当方でもkernelが削除されました。

【clamdscan前kernelイメージファイル一覧】
[root@centos ~]# ll /boot/vmlinuz-*
-rw-r--r-- 1 root root 2075297 5月 1 10:19 /boot/vmlinuz-2.6.18-8.1.3.el5xen
-rw-r--r-- 1 root root 1765556 5月 17 17:09 /boot/vmlinuz-2.6.18-8.1.4.el5
-rw-r--r-- 1 root root 2075341 5月 17 19:12 /boot/vmlinuz-2.6.18-8.1.4.el5xen

【DetectBrokenExecutablesオプション状態確認】
[root@centos ~]# grep DetectBrokenExecutables /etc/clamd.conf
DetectBrokenExecutables yes
⇒DetectBrokenExecutablesオプションは有効状態

【kernelイメージ格納ディレクトリをclamdscan実施】
[root@centos ~]# clamdscan --remove /boot/
/boot//vmlinuz-2.6.18-8.1.4.el5: Broken.Executable FOUND
/boot//vmlinuz-2.6.18-8.1.4.el5: Removed.
/boot//vmlinuz-2.6.18-8.1.4.el5: Removed.

----------- SCAN SUMMARY -----------
Infected files: 1
Time: 27.614 sec (0 m 27 s)

【clamdscan後kernelイメージファイル一覧】
[root@centos ~]# ll /boot/vmlinuz-*
-rw-r--r-- 1 root root 2075297 5月 1 10:19 /boot/vmlinuz-2.6.18-8.1.3.el5xen
-rw-r--r-- 1 root root 2075341 5月 17 19:12 /boot/vmlinuz-2.6.18-8.1.4.el5xen
⇒通常kernelが削除された※ただし、Xen対応kernelは削除されていない

【kernel再インストール】
[root@centos ~]# yum -y remove kernel

[root@centos ~]# yum -y install kernel

【DetectBrokenExecutablesオプション無効化】
[root@centos ~]# sed -i 's/DetectBrokenExecutables yes/DetectBrokenExecutables no/g' /etc/clamd.conf

[root@centos ~]# grep DetectBrokenExecutables /etc/clamd.conf
DetectBrokenExecutables no

【DetectBrokenExecutablesオプション無効化反映】
[root@centos ~]# /etc/rc.d/init.d/clamd restart
Stopping Clam AntiVirus Daemon: [ OK ]
Starting Clam AntiVirus Daemon: [ OK ]

【clamdscan前kernelイメージファイル一覧】
[root@centos ~]# ll /boot/vmlinuz-*
-rw-r--r-- 1 root root 2075297 5月 1 10:19 /boot/vmlinuz-2.6.18-8.1.3.el5xen
-rw-r--r-- 1 root root 1765556 5月 17 17:09 /boot/vmlinuz-2.6.18-8.1.4.el5
-rw-r--r-- 1 root root 2075341 5月 17 19:12 /boot/vmlinuz-2.6.18-8.1.4.el5xen

【kernelイメージ格納ディレクトリをclamdscan実施】
[root@centos ~]# clamdscan --remove /boot/
/boot/: OK

----------- SCAN SUMMARY -----------
Infected files: 0
Time: 28.886 sec (0 m 28 s)

【clamdscan後kernelイメージファイル一覧】
[root@centos ~]# ll /boot/vmlinuz-*
-rw-r--r-- 1 root root 2075297 5月 1 10:19 /boot/vmlinuz-2.6.18-8.1.3.el5xen
-rw-r--r-- 1 root root 1765556 5月 17 17:09 /boot/vmlinuz-2.6.18-8.1.4.el5
-rw-r--r-- 1 root root 2075341 5月 17 19:12 /boot/vmlinuz-2.6.18-8.1.4.el5xen
⇒通常kernelもXen対応kernelも削除されなかった



上記結果より、Xen対応kernelは削除されず、通常kernelのみ削除されてしまうことが判明しました。
当方はXen対応kernelで稼動させているので、問題に気付きませんでした。



対処としては、clamdscanで定期スキャンをするのを止めて、clamscanを使用する。
下記実行結果で示すとおり、clamscanであれば、DetectBrokenExecutablesが有効状態(デフォルト値)であっても、kernelイメージファイルを削除してしまうことはありません。
[root@centos ~]# sed -i 's/DetectBrokenExecutables no/DetectBrokenExecutables yes/g' /etc/clamd.conf

[root@centos ~]# grep DetectBrokenExecutables /etc/clamd.conf
DetectBrokenExecutables yes

[root@centos ~]# /etc/rc.d/init.d/clamd restart
Stopping Clam AntiVirus Daemon: [ OK ]
Starting Clam AntiVirus Daemon: [ OK ]

[root@centos ~]# clamscan /boot/
/boot/config-2.6.18-8.1.4.el5xen: OK
/boot/config-2.6.18-8.1.3.el5xen: OK
/boot/initrd-2.6.18-8.1.4.el5xen.img: OK
/boot/xen.gz-2.6.18-8.1.3.el5: OK
/boot/vmlinuz-2.6.18-8.1.4.el5: OK
/boot/System.map-2.6.18-8.1.4.el5: OK
/boot/xen.gz-2.6.18-8.1.4.el5: OK
/boot/System.map-2.6.18-8.1.3.el5xen: OK
/boot/config-2.6.18-8.1.4.el5: OK
/boot/xen-syms-2.6.18-8.1.3.el5: OK
/boot/symvers-2.6.18-8.1.3.el5xen.gz: OK
/boot/symvers-2.6.18-8.1.4.el5.gz: OK
/boot/initrd-2.6.18-8.1.3.el5xen.img: OK
/boot/vmlinuz-2.6.20-1.2944.fc6xen: OK
/boot/initrd-2.6.18-8.1.4.el5.img: OK
/boot/vmlinuz-2.6.18-8.1.4.el5xen: OK
/boot/initrd-2.6.20-1.2944.fc6xen.img: OK
/boot/vmlinuz-2.6.18-8.1.3.el5xen: OK
/boot/System.map-2.6.18-8.1.4.el5xen: OK
/boot/xen-syms-2.6.18-8.1.4.el5: OK
/boot/message: OK
/boot/symvers-2.6.18-8.1.4.el5xen.gz: OK

----------- SCAN SUMMARY -----------
Known viruses: 116966
Engine version: 0.90.2
Scanned directories: 1
Scanned files: 22
Infected files: 0
Data scanned: 70.61 MB
Time: 56.879 sec (0 m 56 s)

clamdscanを使用していた理由である性能は犠牲になってしまいますが、kernelが削除されてしまうよりはましでしょう。
また、以後、別の理由等で重要なファイルが削除されてしまわないよう、定期スキャンのオプションから--removeオプションを削除し、root宛のウィルス検知メールをみてひとつずつ手動でウィルスを削除すれば完璧かと思います。


CentOSの安定度の話ですが、clamdはCentOS公式リポジトリのものではなく、rpmforgeのものなので、CentOSの品質とは関係ないと思います。
CentOSで商用版なみの安定度をもったアンチウィルスソフトを求めるのであれば、有償製品(f-secure等)を購入するしかないと思います。
記事編集 編集
Re: CentOS5 カーネルファイル消失 このメッセージに返信する
日時: 2007/05/22 13:05
名前: 中田
URL:
管理人様

ご回答ありがとうございました。
clamscanのスクリプトも、clamdscanからclamscanに、ご対応いただきありがとうございました。

今回の件から、Cramavを使用する場合、下記の条件で使用しようと思っております。
1. clamdscanをやめて、clamscanにする。
2. clamscanのオプション--removeをやめて、削除するかどうかは、通知されてきたmailの削除対象ファイルを検証して、手作業で行う。
(clamavのバージョンが上がり、clamscanでも必要なファイルが自動で削除されるケースがないとも限らないので)
3. clamd.confのDetectBrokenExecutablesの設定は、yesにしておく。

管理人様、親切なご対応ありがとうございました。
このスレッドで、カーネルのリスキュー等種々勉強させていただきました。

これをもって、解決とさせていただきます。
記事編集 編集

Page: | 1 | 2 |

件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -