aideの初期化が特定サイズを超えた時にで失敗する(アップグレードした環境)

Bug #659218 reported by mejiko
4
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Japanese Kaizen Project
New
Undecided
Unassigned

Bug Description

aideが特定バイト数を超えてデータベースを作成(初期化)しようとすると、セグメンテーションフォルトを起こしてしまいます。なお、環境は10.04から10.10へアップグレード環境で、新規インストール環境ではありません。

Aideのバージョンは「0.14.2-1ubuntu2」
ubuntuのバージョンは「10.10」
カーネルのバージョンは「2.6.35-22.34」、PAE(*-generic-pae)カーネルです。

[再現方法]

一、端末より、以下のコマンドを実行する。実行後の問いはすべて「はい」(提示されたアクションを承諾する選択肢)を選択する。

「sudo dpkg-reconfigure aide-common」

二、しばらく待つ。その間、スクリーンセーバーを稼働させてコンピュータをロックしてもいいし、そのまま待っていてもよい。

三、184MBを超えたところで、セグメンテーションフォルトしてaideが異常終了、異常終了を通知するメール通知が来る。

[現象]

セグメントフォルトしてしまう。dmesgコマンドでログを表示させると、以下のログが出力されていました。

 Pid: 24019, comm: aide Not tainted 2.6.35-22-generic-pae #34-Ubuntu P4M900-M7 FE/P4M900-M7 FE
 EIP: 0073:[<b7846424>] EFLAGS: 00000246 CPU: 0
 EIP is at 0xb7846424
 EAX: 00000000 EBX: 00005dd3 ECX: 00005dd3 EDX: 00000006
 ESI: b77dbd5e EDI: b77ffff4 EBP: bfb71e00 ESP: bfb71de8
 DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b
 Process aide (pid: 24019, ti=de148000 task=c1710000 task.ti=de148000)
 Call Trace:

また、メール通知された内容は以下のとおりです。

AIDE init errors:
aide: ../sysdeps/unix/sysv/linux/getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed.
Aborted
AIDE --init return code 134

なお、これはアップグレード前までは発生しませんでした。本来ならば、セグメンテーションフォルトせずにそのまま完了し、マスターデータベースを上書きします。

また、「特定バイト数」で必ずセグメンテーションフォルトするので、自分自身再現性があるのではないだろうかと思います

Revision history for this message
mejiko (itasen-o-lts-goklowsan-sycorgs-deactivatedaccount) wrote :

追記です。その後別のHIDSであります「Integrit」をインストールしデータベースを構築しましたが、以下のエラーが出てしまいました

integrit (main): Error: walk_file_tree: Permission denied

データベースを小分けして構築し、調べてみると、どうやら「/home」以下がまったくアクセスできないようでした。そういえば自分は「/home」以下をencryptfsで暗号化をしていることに気づき、まさかと思い、Aideを完全削除後もう一度インストールして、以下の内容を書き換えて実行をかけてみました。

ケース1

・/etc/aide/aide.conf.d/99_aide_root

「/ Full」を「/home Full」に変えた。(他は変えていない)

ケース2

・/etc/aide/aide.conf/70_aide_proc_sys

「!/home」を追記して、ケース1の変更を元に戻す。

ケース3

ケース2の状態から「/etc/aide/aide.conf.d/99_aide_root」の内容を以下のように変更する。

「/ Full」→「/root Full」(「/tmp Full」でもよい)

両者ともに「Assertion `_rtld_global_ro._dl_pagesize != 0' failed」でセグフォルトしました。もちろん、暗号化されていないところは、Aide、integritともに成功していますし、セグフォルトしたりエラーはかえってきませんでした。

Revision history for this message
mejiko (itasen-o-lts-goklowsan-sycorgs-deactivatedaccount) wrote :

すいません、この三つのケースのトレース(straceコマンドの出力)を添付するのを忘れていましたので添付します。
※なお、ケース2についてはトレースのログが膨大なため、添付してもよいのかわからないので、今回は添付しませんでした。

もしもなにかのお役に立てたら幸いです。

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.