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

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

下記資料を参考にまとめました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
 
・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) が異なる

関連記事の目次

コメントを残す

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