Tripwire-2.4.3.7

Tripwire の概要

Tripwire パッケージは、利用システム上でのファイルの整合性チェックを行うプログラムを提供します。

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

Tripwire の依存パッケージ

任意

An MTA

Tripwire のインストール

以下のコマンドを実行して Tripwire をビルドします。

sed -e '/^CLOBBER/s/false/true/'         \
    -e 's|TWDB="${prefix}|TWDB="/var|'   \
    -e '/TWMAN/ s|${prefix}|/usr/share|' \
    -e '/TWDOCS/s|${prefix}/doc/tripwire|/usr/share/doc/tripwire-2.4.3.7|' \
    -i installer/install.cfg                               &&

find . -name Makefile.am | xargs                           \
    sed -i 's/^[[:alpha:]_]*_HEADERS.*=/noinst_HEADERS =/' &&

sed '/dist/d' -i man/man?/Makefile.am                      &&
autoreconf -fi                                             &&

./configure --prefix=/usr --sysconfdir=/etc/tripwire       &&
make CPPFLAGS=-std=c++11
[注記]

注記

デフォルトの設定はローカルな MTA 用となっています。 MTA をインストールしていない場合で、これをインストールするつもりがないなら、install/install.cfg を修正して SMTP サーバーを利用するように変更することが必要です。 これを行っておかないとインストールが失敗します。

このパッケージにテストスイートはありません。

root ユーザーになって以下を実行します。

make install &&
cp -v policy/*.txt /usr/share/doc/tripwire-2.4.3.7
[注記]

注記

During make install, several questions are asked, including passwords. If you want to make a script, you have to apply a sed before running make install:

sed -i -e 's@installer/install.sh@& -n -s <site-password> -l <local-password>@' Makefile

Of course, you should do this with dummy passwords and change them later.

Another issue when scripting is that the installer exits when the standard input is not a terminal. You may disable this behavior with the following sed:

sed '/-t 0/,+3d' -i installer/install.sh

コマンド説明

sed ... installer/install.cfg: This command tells the package to install the program database and reports in /var/lib/tripwire and sets the proper location for man pages and documentation.

find ..., sed ..., and autoreconf -fi: The build system is unusable as is, and has to be modified for the build to succeed.

CPPFLAGS=-std=c++11: Setting the C++ preprocessor flags to version 11 is necessary to prevent a conflict with the default version which is c++17 in recent version of gcc.

make install: このコマンドを実行すると、実行バイナリ類のインストールとともに、セキュリティ鍵 (security keys) の生成も行います。 サイト鍵 (site key) とローカル鍵 (local key) の2つです。 これらは /etc/tripwire/ ディレクトリに保存されます。

cp -v policy/*.txt /usr/doc/tripwire-2.4.3.7: このコマンドは tripwire のサンプルポリシーファイルやドキュメントをインストールします。

Tripwire の設定

設定ファイル

/etc/tripwire/*

設定情報

Tripwire にはポリシーファイル (policy file) があり、これを使ってどのファイルの整合性チェックを行うかを決定します。 デフォルトのポリシーファイル (/etc/tripwire/twpol.txt) は、インストール時にデフォルトで生成されますが、利用システムに応じて適切に書き換える必要があります。

ポリシーファイルは、個々のディストリビューションやインストール状況に応じて設定する必要があります。 /usr/sharedoc/tripwire/ にはポリシーファイルの例がいくつかあります。

If desired, copy the policy file you'd like to try into /etc/tripwire/ instead of using the default policy file, twpol.txt. It is, however, recommended that you edit your policy file. Get ideas from the examples above and read /usr/share/doc/tripwire/policyguide.txt for additional information. twpol.txt is a good policy file for learning about Tripwire as it will note any changes to the file system and can even be used as an annoying way of keeping track of changes for uninstallation of software.

After your policy file has been edited to your satisfaction you may begin the configuration steps (perform as the root) user:

twadmin --create-polfile --site-keyfile /etc/tripwire/site.key \
    /etc/tripwire/twpol.txt &&
tripwire --init

Depending on your system and the contents of the policy file, the initialization phase above can take a relatively long time.

利用情報

Tripwire will identify file changes in the critical system files specified in the policy file. Using Tripwire while making frequent changes to these directories will flag all these changes. It is most useful after a system has reached a configuration that the user considers stable.

To use Tripwire after creating a policy file to run a report, use the following command:

tripwire --check > /etc/tripwire/report.txt

View the output to check the integrity of your files. An automatic integrity report can be produced by using a cron facility to schedule the runs.

Reports are stored in binary and, if desired, encrypted. View reports, as the root user, with:

twprint --print-report -r /var/lib/tripwire/report/<report-name.twr>

After you run an integrity check, you should examine the report (or email) and then modify the Tripwire database to reflect the changed files on your system. This is so that Tripwire will not continually notify you hat files you intentionally changed are a security violation. To do this you must first ls -l /var/lib/tripwire/report/ and note the name of the newest file which starts with your system name as presented by the command uname -n and ends in .twr. These files were created during report creation and the most current one is needed to update the Tripwire database of your system. As the root user, type in the following command making the appropriate report name:

tripwire --update --twrfile /var/lib/tripwire/report/<report-name.twr>

You will be placed into Vim with a copy of the report in front of you. If all the changes were good, then just type :wq and after entering your local key, the database will be updated. If there are files which you still want to be warned about, remove the 'x' before the filename in the report and type :wq.

ポリシーファイルの変更

ポリシーファイルの設定が不適当な場合は、これを修正するか新しいものを用意します。 そして root ユーザーになって以下のコマンドを実行します。

twadmin --create-polfile /etc/tripwire/twpol.txt &&
tripwire --init

パッケージ構成

インストールプログラム: siggen, tripwire, twadmin, twprint
インストールライブラリ: なし
インストールディレクトリ: /etc/tripwire, /var/lib/tripwire, /usr/share/doc/tripwire-2.4.3.7

概略説明

siggen

is a signature gathering utility that displays the hash function values for the specified files

tripwire

is the main file integrity checking program

twadmin

administrative and utility tool used to perform certain administrative functions related to Tripwire files and configuration options

twprint

Tripwire のデータベースを表示します。 またその内容を分かりやすいテキスト形式で出力します。