前回、Tripwire をインストールして、日々の運用を開始する直前までの設定を行いました。
これから運用を開始します!と思っていたのですが、rpm インストールすると、cron に自動的に日々の改ざんチェックを登録していると読んだ記憶があります。
yum ではどうでしょうか?Tripwire を yum インストールしただけで cron に登録されるのでしょうか?
また、自動で改ざんチェックがあれば、レポートも気になります!レポートの読み方もチェックしたいと思います。
cron への Tripwire 登録を確認します♪
ありました!結論から申しますと、日々の cron 実行である、cron.daily に登録されておりました♪
[root@oki2a24 ~]# ll /etc/cron.daily/ 合計 24 lrwxrwxrwx 1 root root 39 6月 10 12:20 0logwatch -> /usr/share/logwatch/scripts/logwatch.pl -rwxr-xr-x 1 root root 180 6月 4 2012 logrotate -rwxr-xr-x 1 root root 418 5月 30 2012 makewhatis.cron -rw-r--r-- 1 root root 137 9月 4 2009 mlocate.cron -rwxr-xr-x 1 root root 296 2月 25 19:06 rpm -rwxr-xr-x 1 root root 354 8月 11 2010 tmpwatch -rwxr-xr-x 1 root root 315 12月 17 2008 tripwire-check [root@oki2a24 ~]#
他の「cron.d」「cron.hourly」「cron.monthly」「cron.weekly」には無さそうでした。そしてコマンド「crontab -e」でも確認しましたが、やはりありません。
cron.daily に登録された Tripwire の内容を確認します!
ファイル「/etc/cron.daily/tripwire-check」の中身です。
#!/bin/sh HOST_NAME=`uname -n` if [ ! -e /var/lib/tripwire/${HOST_NAME}.twd ] ; then echo "**** Error: Tripwire database for ${HOST_NAME} not found. ****" echo "**** Run "/etc/tripwire/twinstall.sh" and/or "tripwire --init". ****" else test -f /etc/tripwire/tw.cfg && /usr/sbin/tripwire --check fi
はい。。。意味がわかりません。
2 行目の「uname -n」は「print the network node hostname」とのことです。ネットワーク・ノード・ホストネームを表示、ということでしょうか。man で調べてみました。
3 行目で、ホストネームの twd ファイル、つまりベースラインデータベースが存在するかどうかを確認し、ありましたら 7 行目を実行します。
7 行目の「test -f ファイル」は「check file types and compare values. -f FILE exists and is a regular file」とのことです。ファイルタイプを確認して値を比較、-f はファイルが存在することそして通常ファイルであることを確認、ということでしょうか。こちらも man で調べました。
そして「&&」でつなげておりますが、これは論理積でしょう。うまくイメージ出来ないのですけれども、「test -f ファイル」でファイルが存在すれば、「&&」の右側の改ざんチェックをする、という理解でよいのかと思います。
「/usr/sbin/tripwire –check」は Tripwire の改ざんチェックの実行ですね。ここでようやくチェックが行われます。
Tripwire レポートの読み方!
日々の cron に登録されていることがわかりました。
そして翌日。
無事レポートが出力されていることを確認いたしました。中を見てみましたら、多くのファイルが改ざんチェックに引っかかっておりました><。
[root@oki2a24 ~]# twprint -m r -c /etc/tripwire/tw.cfg -r /var/lib/tripwire/report/oki2a24.com-20130728-020035.twr
まずは引っかかった内容をチェックしまして、問題無さそうでしたので、そのままレポートの読み方のお勉強といたしました♪
まずは、Tripwire レポートの全体構成♪
- Report Summary → 改ざんチェックの条件、使ったベースラインデータベースなどが記されている。
- Rule Summary → 改ざんチェックの結果概要で、追加、削除、編集されたファイル数を一覧
- Object Summary → 改ざんチェックに引っかかったファイル一覧を追加、削除、編集ごとに表示
- Object Detail → 改ざんチェックに引っかかった個々のファイルの結果詳細を表示
実際にレポートを読んで考えたこと!
1番目の Report Summary は改ざんチェックする時の前提条件みたいなものですので、軽く見るくらいにとどめました。
2番目の Rule Summary で、行頭に「*」が付いているルールがチェックに引っかかっています。
Rule Name Severity Level Added Removed Modified --------- -------------- ----- ------- -------- …略… * Tripwire Data Files 100 1 0 0 …略… * System boot changes 100 2 2 65 …略… Total objects scanned: 12599 Total violations found: 70
3番目の Object Summary で、変更のあったファイルを確認します。
最初の Rule Name: Tripwire Data Files (/var/lib/tripwire) について見てみますと、”/var/lib/tripwire/oki2a24.com.twd” が追加されました!と、あります。
これは、ベースラインデータベースを初期化した際に追加されたファイルです。つまり、不正ログインで改ざんされたファイルではなく、問題ありません。
次の System boot changes (/var/log) ですが、これはログが追加・削除・変更されたよ、ということのようです。
ログは毎日更新されますし、改ざん検知されたファイル一覧を眺めてみても、攻撃を受けたわけでは無さそうで、問題無しとします。
=============================================================================== Object Summary: =============================================================================== ------------------------------------------------------------------------------- # Section: Unix File System ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Rule Name: Tripwire Data Files (/var/lib/tripwire) Severity Level: 100 ------------------------------------------------------------------------------- Added: "/var/lib/tripwire/oki2a24.com.twd" ------------------------------------------------------------------------------- Rule Name: System boot changes (/var/log) Severity Level: 100 ------------------------------------------------------------------------------- Added: "/var/log/sa/sar27" "/var/log/sa/sa28" Removed: "/var/log/sa/sa19" "/var/log/sa/sar18" Modified: "/var/log/boot.log" "/var/log/boot.log.1" "/var/log/boot.log.2" …略…
4番目の Object Detail で、改ざんチェックに引っかかったファイルひとつひとつについて、詳細レポートです。3番目の★で、問題なしと大体のところの結論を出しておりますが、こちらもざっと眺めます。
たとえば次のような表示となります。やはり、変更のあった部分の行頭に「*」が付きます。わかりやすいです♪
この場合、ログファイルのローテートが起こったことでファイルのリネームが発生し、結果ファイルのノード番号がずれたのだと思います。
Modified object name: /var/log/cron Property: Expected Observed ------------- ----------- ----------- Object Type Regular File Regular File Device Number 83 83 * Inode Number 191538555 191538557 Mode -rw-r--r-- -rw-r--r-- Num Links 1 1 UID root (0) root (0) GID root (0) root (0)
おわりに
ここまでで、日々改ざんチェックがされることがわかりました。ですけれども、これで終わりではございません。
ベースラインデータベースの更新は自動では行われませんので、Tripwire 改ざんチェックに使うベースラインデータベースのアップデート方法を知る必要があります。
そして結果を見るために、毎回 SSH にログインするのも嫌ですので、Tripwire 改ざんチェック結果をメール送信するようにしたいです。
以上です。
「★3★ レポートの読み方【Tripwire】yum なら自動で動く。わたくしだって WordPress サーバの改ざん検知したい!【CentOS】」への1件の返信
[…] ★3★ レポートの読み方【Tripwire】yum なら自動で動く。わたくしだって WordPress サーバの改ざん検知したい!【CentOS】 | oki2a24 […]