RPMパッケージのインテグリティチェック

TripwireやAIDE (Advanced Intrusion Detection Environment)を使ったインテグリティチェックの方法について他の記事で紹介しましたが、RPMパッケージのインテグリティチェックについては、RPMコマンドでも簡単に実施できます。

RPMパッケージ管理システムでは、RPMメタデータベース内に保存されているメタデータとインストールされたファイルのハッシュを比較してインテグリティチェックする機能があります。
 
システム上のどのファイルがRPMデータベースによって期待されているものと異なっているかチェックするには下記コマンドを実行します。
 
# rpm -qVa
 
例)設定ファイルを除外して表示する例

#  rpm -qVa | awk '$2!="c" {print $0}'
 
.......T.    /usr/share/pear/.depdb
.......T.    /usr/share/pear/.depdblock
S.5....T.    /usr/share/pear/.filemap
.......T.    /usr/share/pear/.lock
.M.......    /usr/local
.M.......    /usr/local/bin
.M....G..    /usr/sbin
....L....    /usr/sbin/sendmail.postfix
S.5....T.    /etc/cron.daily/0logwatch
.M....G..    /var/log/gdm
.M.......    /var/run/gdm
.M.......    /var/run/gdm/greeter

(表示結果の記号の意味)
. テストを追加
? テストが実施されなかった(許可が無く読み込めなかった)
S ファイルのサイズ (Size) が異なる
M モード (Mode; 許可属性とファイルの種類) が異なる
5 MD5 チェックサムが異なる
D デバイス (Device) のメジャー/マイナー番号が一致しない
L readLink(2) したパスが一致しない
U 所有者 (User) が異なる
G グループ (Group) が異なる
T 修正時刻 (mTime) が異なる
 
※参考資料
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください