Home Update クッキー及びWeb ビーコンについて



アカウントの管理

Tripwireの概要

Tripwire は、ファイルの監査を行うホスト型IDSで、システムの改ざんを検知し、いち早くネットワーク管理者にする通達してくれます。導入しておいて損はないので、是非、勉強しておきましょう。




■Tripwire のダウンロード

Version Tripwire
Homepage http://www.tripwire.org/
Download http://www.tripwire.org/downloads/index.php
Install tripwire-2.3-47.i386.rpm(RPM)
tripwire-2.3-47.i386.tar.gz (ソース)

 RPMからインストールする場合は、RPM 3.0 (Red Hat 5.x-6.2.x) とRPM 4.0 (Red Hat 7.x)があるのでOSのバージョンにあったものをダウンロードしてきてください。



■Tripwireが不可能なこと

 まず、Tripwireをインストールする前に概要を説明しておきます。Tripwireはホスト型のIDSのひとつとして紹介されますが、厳密にはファイルやディレクトリの整合性をチェックするのみです。Tripwireが検知可能なことはファイル/ディレクトリの追加、削除、アクセス権の変更などです。以下にTripwireでは不可能なことを列挙しておきます。

 ・不正アクセスの検知・遮断機能はない
 ・リアルタイムでのファイルの変更は検知しない
 ・誰がファイルを変更したかはわからない
 ・変更箇所を特定することはできない
 ・変更されたファイルを復旧することはできない






■Tripwire のインストール

 ここでは、RPMパッケージからTripwireをインストールします。上記URLからダウンロードしておいてください。

# rpm -q tripwire
パッケージ tripwire はインストールされていません
# rpm -ivh tripwire-2.3-47.i386.rpm

 なお、RPMをインストールしただけで完了するわけではなく、その後、用意されたスクリプト(/etc/tripwire/twinstall.sh)を実行し、Tripwireの設定ファイルであるサイトキーとデータベースファイルのローカルキーを作成する必要があります。

 まず、サイトキーのパスフレーズとローカルキーのパスフレーズを異なるパスフレーズで用意しておきます。パスフレーズは、root のパスワードとも異なるものを使用するようにしてください。なお、パスフレーズには空白を用いることができ、8文字以上(最大1023文字)の長さのものを設定します。ここで入力するパスフレーズは、サイトキーやローカルキーを暗号化するために必要になります。

# ./twinstall.sh

----------------------------------------------
The Tripwire site and local passphrases are used to
sign a variety of files, such as the configuration,
policy, and database files.

Passphrases should be at least 8 characters in length
and contain both letters and numbers.

See the Tripwire manual for more information.

----------------------------------------------
Creating key files...

(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)

Enter the site keyfile passphrase://サイトパスフレーズを入力
Verify the site keyfile passphrase: //再度、確認入力

Generating key (this may take several minutes)...Key generation complete.

(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)

Enter the local keyfile passphrase: //ローカルパスフレーズを入力
Verify the local keyfile passphrase: //再度、確認入力

Generating key (this may take several minutes)...Key generation complete.

----------------------------------------------
Signing configuration file...
Please enter your site passphrase: //再度、サイトパスフレーズを入力
Wrote configuration file: /etc/tripwire/tw.cfg

A clear-text version of the Tripwire configuration file
/etc/tripwire/twcfg.txt
has been preserved for your inspection. It is recommended
that you delete this file manually after you have examined it.

----------------------------------------------
Signing policy file...
Please enter your site passphrase: //再度、サイトパスフレーズを入力
Wrote policy file: /etc/tripwire/tw.pol

A clear-text version of the Tripwire policy file
/etc/tripwire/twpol.txt
has been preserved for your inspection. This implements
a minimal policy, intended only to test essential
Tripwire functionality. You should edit the policy file
to describe your system, and then use twadmin to generate
a new signed copy of the Tripwire policy.

 ここまでの操作を終えると、/etc/tripwire 以下に サイトキーであるsite.key とローカルキーであるns1.kororo.jp-local.keyが作成されています。同時に、tw.pol とtw.cfg が作成され、バイナリデータに変換されています。以上でインストールは完了です。

■/etc/tripwire/tw.cfg.txt


 ここで一度、tw.cfg.txt を開いてみましょう。各ファイルがインストールされている場所を確認することができます。

ROOT =/usr/sbin
POLFILE =/etc/tripwire/tw.pol
DBFILE =/var/lib/tripwire/$(HOSTNAME).twd
REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE =/etc/tripwire/site.key
LOCALKEYFILE =/etc/tripwire/ns1.kororo.jp-local.key
EDITOR =/bin/vi
LATEPROMPTING =false
LOOSEDIRECTORYCHECKING =false
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL =3
MAILMETHOD =SENDMAIL
SYSLOGREPORTING =false
MAILPROGRAM =/usr/lib/sendmail -oi -t

■データベースの初期化

 データベースの初期化を行います。Tripwireにはデフォルトでtwpol.txtというサンプルのポリシーファイルが用意されています。本来はこのポリシーファイルを各自のサイトの環境に合わせて編集していくことになりますが、ここでは敢えてサンプルファイルを利用することにします。最初はtwpol.txt に記述はされているけれども、実際には存在しないファイルのエラーが数多く出力されますので、これらの存在しないファイル名をログに出力するなどして控えておきます。

# tripwire --init
Please enter your local passphrase:
Parsing policy file: /etc/tripwire/tw.pol
Generating the database...
*** Processing Unix File System ***
### Warning: File system error.
### Filename: /proc/scsi
### そのようなファイルやディレクトリはありません
### Continuing...
### Warning: File system error.
### Filename: /usr/sbin/fixrmtab

省略

### Warning: File system error.
### Filename: /root/.Xauthority
### そのようなファイルやディレクトリはありません
### Continuing...
Wrote database file: /var/lib/tripwire/ns1.kororo.jp.twd
The database was successfully generated.

■ポリシーファイルの修正

 存在しなかったファイルについてポリシーファイルを修正していく作業が必要となります。twpol.txtを開いて存在しなかったファイルの先頭に"# "をつけてコメントアウトしていきます。おそらく膨大な量をコメントアウトすることになるので非常に面倒くさいですヾ(;´▽`A 途中で挫折すること間違いなしですが、説明のため、筆者は頑張りました(笑)。おそらく編集しているうちに気が付くと思いますが、前もってサイトのポリシーをある程度考えておかないと(サービスを起動するか否か)、コメントアウトをつける際にいちいち悩むことになるかもしれません。

# vi tw.pol.txt

# /proc/scsi -> $(Device) ;
# /usr/sbin/fixrmtab -> $(SEC_BIN) ;
# /usr/bin/vimtutor -> $(SEC_CRIT) ;

■データベースの再作成

 ポリシーファイルを修正したら、このファイルを基に暗号署名したファイルを生成する必要があります(tw.cfg )。以下コマンドのtwpol.txtが修正したポリシーファイルです。

# cd /etc/tripwire
# twadmin -m P -c tw.cfg -p tw.pol -S site.key twpol.txt
Please enter your site passphrase:
Wrote policy file: /etc/tripwire/tw.pol

 ここで再度データベースを初期化します。以下のようにエラーが発生しなくなったら、正常にデータベースが作成されたことになります。

# tripwire --init
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/ns1.kororo.jp.twd
The database was successfully generated.


■ファイル/ディレクトリの整合性チェック

 以下コマンドによりファイルやディレクトリの整合性チェックが行えます。エラーが出力されなければ完了です。もしも改竄が確認された場合には、そのファイルの変更に問題があるかどうか確認しておいてください。

# tripwire --check
Parsing policy file: /etc/tripwire/tw.pol
*** Processing Unix File System ***
Performing integrity check...

省略

=========================================================
Error Report:
=========================================================

No Errors

-------------------------------------------------------------------------
*** 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の運用

 Tripwireを運用するに当たって、メールにそのレポートを送信するように設定を行います。編集するファイルは、/etc/tripwire/twcfg.txt です。

# vi /etc/tripwire/twcfg.txt
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL =3
MAILMETHOD =SMTP
SYSLOGREPORTING =false
MAILPROGRAM =/usr/sbin/postfix

⇒MAILNOVIOLATIONS
 違反が無くてもリポートをメールで送信します。違反が無い場合に、メールで送信しないようにするにはfalseを指定します。

⇒EMAILREPORTLEVEL
 メールでのレポートレベルを0〜4の間で指定します。数字が大きいほど詳細度があがります。

⇒REPORTLEVEL
 レポートのレベルを0〜4の間で指定します。数字が大きいほど詳細度があがります。

⇒MAILMETHOD
 メールでのレポート送信に使用するプロトコルを指定します。SENDMAIL と SMTPが選択できます。

⇒SYSLOGREPORTING
 データベース初期化時や整合性チェック時、データベース更新時、ポリシーファイルの更新時等の記録をsyslogデーモンにuser.noticeレベルで出力します。true あるいは、falseのどちらかを指定します。

⇒MAILPROGRAM
 メール送信プログラムのパスを指定します。


 編集し終えたら、twadminコマンドでtw.cfgに反映させます。

# cd /etc/tripwire
# twadmin -m F -c tw.cfg -S site.key twcfg.txt
Please enter your site passphrase:
Wrote configuration file: /etc/tripwire/tw.cfg

 次に、twpol.txtを開いて実際にメールを送信する宛先を記述します。以下の場合は、ネットワークプログラムが変更された際に2人の管理者にメールを送信するように設定した例です。

(
rulename = "Networking Programs",
severity = $(SIG_HI)
emailto = root@kororo.jp;foo@kororo.jp
)

■テストメールの送信

 以下のコマンドを実行して、テストメールを送信してみます。

# tripwire --test --email root@kororo.jp
Sending a test message to: root@kororo.jp

 メーラーを起動して、If you receive this message, email notification from tripwire is working correctly.というメールが届いていればTripwireのメール通知機能は正常に稼動しています。

■レポートメールの送信

 レポートメールを送信する場合は、チェック時に-Mオプションを付けます。

# tripwire --check -M







TOPに戻る

Sponcerd Link


Search
 
Web サイト内
Rental Server

【レンタルサーバのXbit】 低価格・高品質のビジネスクオリティー。300メガ1,050円〜30分で サービススタート可能!


容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。
さくらのレンタルサーバ



当サイトはLinux自宅サーバーの構築を目的としたサイトです。
当サイトに関するご意見、ご要望等は、こちらのメールアドレスよりお願いします。
Beginning | Introduction | Installation | Server |
Security | Tips | Guest Book | Related-Sites
Copyright©2003-2006 KORO All Rights Reserved.
総計:
今日:
昨日: