Tripwireによるホスト型IDSの構築:ゼロから始めるLinuxセキュリティ(8)(3/3 ページ)
ファイルの改ざんに早く気付くことは極めて重要だ。Webコンテンツの改ざんはもちろん、コマンドを置き換えられてバックドアを仕掛けられることも考えられる。Tripwireは、こうした事態への即応体制を整えるための有用なツールだ。
ベースラインデータベースの作成
ポリシーファイルを生成したら、ポリシーファイルを基にベースラインデータベースを作成します。整合性チェックでは、このデータベースと比較されるのです。
ベースラインデータベースは、tripwireコマンドで作成します。
# /usr/sbin/tripwire -m i Please enter your local passphrase: Parsing policy file: /etc/tripwire/tw.pol Generating the database... *** Processing Unix File System *** Wrote database file: /var/lib/tripwire/atmarkit.twd The database was successfully generated.
tripwireコマンドのオプションを以下に示します。
- -m i、--init
データベースの初期化時に指定 - -v、--verbose
詳細表示モード - -s、--silent、--quiet
簡易出力モード - -c 設定ファイル、--cfgfile 設定ファイル
使用する設定ファイルを指定 - -p ポリシーファイル、--polfile ポリシーファイル
使用するポリシーファイル名を指定 - -d データベースファイル、--dbfile データベースファイル
データベースファイル名を指定 - -S サイトキー、--sitekey-file サイトキー
設定ファイルとポリシーファイルを読み込むときに使用するサイトキーを指定 - -L ローカルキー、--local-keyfile ローカルキー
新しいデータベースファイルを書き込むときに使用するローカルキーを指定 - -P パスフレーズ、--local-passphrase パスフレーズ
新しいデータベースファイルの署名に指定したパスフレーズをローカルキーと一緒に指定 - -e、--no-encryption
データベースファイルを暗号署名しない
ここで、多くのWarningが出るかもしれません。それらのほとんどは、指定されたファイルが存在しないという内容でしょう。そこでポリシーファイルの調整が必要になるのです。存在しないファイルやディレクトリを監査対象としても意味がありません。そこで、クリアテキストで作成されたファイルを再度確認してみましょう。
ベースラインデータベース作成時に「存在しない」とされたファイルやディレクトリが監査対象として指定されていないか確認します。記述があるようであれば、行頭に「#」を挿入してコメントアウトするか、その行を削除しましょう。ただし、パスが異なるだけで、実はファイルが存在する可能性もあることに注意してください。
これで、整合性チェックを行うための「一応の」準備は完了です。
Tripwireの基本的な運用方法
整合性チェック
実際に整合性チェックを実行してみましょう。ベースラインデータベース作成後、特に変更を行わなければ何も違反は警告されないでしょう。
# /usr/sbin/tripwire -m c Parsing policy file: /etc/tripwire/tw.pol *** Processing Unix File System *** Performing integrity check... Wrote report file: /var/lib/tripwire/report/atmarkit-YYYYMMDD-hhmmss.twr (中略) *** End of report *** Tripwire 2.3 Portions copyright 2000 Tripwire, Inc. Tripwire is a registered trademark of Tripwire, Inc. This software comes with ABSOLUTELY NO WARRANTY; for details use --version. This is free software which may be redistributed or modified only under certain conditions; see COPYING for details. All rights reserved. Integrity check complete.
これで、整合性チェックは完了です。整合性チェックでのtripwireコマンドのオプションを以下に示します(既出コマンドは省略)。
- -m c、--check
整合性チェック時に指定 - -I、--interactive
整合性チェック終了後、結果のレポートがデータベースのアップデートのためにエディタで開かれる - -r レポートファイル、--twrfile レポートファイル
指定されたファイルにレポートを出力する - -n、--no-tty-output
コンソールに表示されるレポートを抑制 - -V エディタ、--visual エディタ
指定されたエディタでバロットボックスの編集を行う - -E、--signed-report
レポートに署名するように指定 - -i リスト、--ignore リスト
リストに指定されたプロパティを処理・比較しない - -l { レベル | 名前 }、severity { レベル | 名前 }
指定されたレベル、名前以上のポリシールールのみをチェック - -R ルール、--rule-name ルール
指定されたポリシールールのみチェック - -x セクション、--section セクション
ポリシーファイルの指定されたセクションのルールのみチェック - -M、--email-report
ポリシーファイルで指定されたアドレスにレポートを送信する - -t レベル、--email-report-level レベル
メールレポートのレベルを指定(0〜4)
レポートチェック
整合性チェックの結果は標準出力およびレポートファイルに出力されます。この内容を確認するには、次のコマンドを実行します。
# /usr/sbin/twprint -m r -c tw.cfg -r "レポートファイル名" -L local.key -t 4
twprintコマンドのオプションを以下に示します。
- -m r、--print-report
レポート表示の指定 - -v、--verbose
詳細表示モード - -s、--silent、--quiet
簡易出力モード - -c 設定ファイル、--cfgfile 設定ファイル
使用する設定ファイルを指定 - -r レポートファイル、--twrfile レポートファイル
指定したレポートファイルを表示 - -L ローカルキー、--local-keyfile ローカルキー
指定したローカルキーを使用してレポートファイルを検証する - -t レベル、--report-level レベル
出力するレポートのレベルを0〜4の数字で指定
レポートファイル名は整合性チェックを行ったときに表示されます。デフォルトでは/var/lib/tripwire/report/{ホスト名}-{日付}-{時間}.twrとなります。また、出力先は設定ファイルで変更できます。
Copyright © ITmedia, Inc. All Rights Reserved.