本来、改竄を発見する物なので他のメディア(MOなど)に
インストールやデータベースを置き運用するのが一番良い。
ASR版はログなどを一切残さないため、結果をリダイレクトでファイルに残したり、
メールで送信などする必要がある。
インストールをデフォルトで行ったため、
以下の所にインストール、または、運用する。
実行ファイル
/usr/local/bin/tw/tripwire
設定ファイル(どのファイルorディレクトリをDB化するか記述)
/usr/local/bin/tw/tw.config
データベースファイル
/var/tripwire/tw.db_hostname (hostnameの部分にはホスト名が入る)
1.設定を行う(tw.config)
デフォルトのデータベースがインストールされていますので、
必要に合わせて編集などを行います。
# vi /usr/local/bin/tw/tw.config
"#" :コメントアウト、または、"#"以降の行を無効
"R"オプション:読み込みしかしないファイルに使用
"L"オプション:ログファイルに使用。
その他オプションは別途ファイルに記載してあります。
------------例------------
#apacheのコンフィグディレクトリを監視
/usr/local/apache2/conf R # Apach2 config
#apacheのコンフィグファイルを監視
/usr/local/apache2/conf/httpd.conf R # apache2 httpd.conf
/usr/local/apache2/conf/ssl.conf R # apache2 httpd.conf
--------例ここまで--------
2.設定を元にデータベースを作成(初期化)する。
# /usr/local/bin/tw/tripwire -initialize
※/usr/local/bin/tw/tw.configに記述されているファイルが
無い場合はエラーが発生します。
------------例-------------------
Tripwire(tm) ASR (Academic Source Release) 1.3.1
File Integrity Assessment Software
(c) 1992, Purdue Research Foundation, (c) 1997, 1999 Tripwire
Security Systems, Inc. All Rights Reserved. Use Restricted to
Authorized Licensees.
### Phase 1: Reading configuration file
### Phase 2: Generating file list
/usr/local/bin/tw/tripwire: /.rhosts: No such file or directory
/usr/local/bin/tw/tripwire: /.cshrc: No such file or directory
/usr/local/bin/tw/tripwire: /.login: No such file or directory
・
・
・
・
/usr/local/bin/tw/tripwire: /usr/bin/uustat: No such file or directory
/usr/local/bin/tw/tripwire: /usr/bin/uux: No such file or directory
/usr/local/bin/tw/tripwire: /usr/bin/ksrvtgt: No such file or directory
### Phase 3: Creating file information database
###
### Warning: Database file placed in ./databases/tw.db_mouse.
###
### Make sure to move this file and the configuration
### to secure media!
###
### (Tripwire expects to find it in '/var/tripwire'.)
------------例ここまで-----------
3.データベースを設置する。
2で行ったDB初期化の際、コマンドを実行したカレントディレクトリに
データベースファイルが作成される(tw.db_hostname)
※カレントディレクトリのdatabasesディレクトリの中の可能性有り。
# mv tw.db_hostname /var/tripwire/
4.データベースとの照合
コマンドを実行することにより、先ほど作成されたDBとの照合が行われる。
# /usr/local/bin/tw/tripwire
-----------変更が無い場合----------
Tripwire(tm) ASR (Academic Source Release) 1.3.1
File Integrity Assessment Software
(c) 1992, Purdue Research Foundation, (c) 1997, 1999 Tripwire
Security Systems, Inc. All Rights Reserved. Use Restricted to
Authorized Licensees.
### Phase 1: Reading configuration file
### Phase 2: Generating file list
### Phase 3: Creating file information database
### Phase 4: Searching for inconsistencies
###
### All files match Tripwire database. Looks okay!
-------変更が無い場合ここまで------
-----------変更が有る場合----------
### Phase 4: Searching for inconsistencies
###
### Total files scanned: 9025
### Files added: 0
### Files deleted: 0
### Files changed: 1
###
### Total file violations: 1
###
changed: -r--r--r-- root 549 Jul 1 17:42:00 2002 /etc/inet/hosts
### Phase 5: Generating observed/expected pairs for changed files
###
### Attr Observed (what it is) Expected (what it should be)
### =========== ============================= =============================
/etc/inet/hosts
st_size: 549 531
st_mtime: Mon Jul 1 17:42:00 2002 Tue Jun 4 18:16:05 2002
st_ctime: Mon Jul 1 17:42:00 2002 Tue Jun 4 18:16:05 2002
md5 (sig1): 1qDof9YzBljdGFgEHNs3gx 2sNiz5CBETy86gcaX1fsuV
snefru (sig2): 2032Oxw73hptiE1TJrSdr1 1vvsXhDKPFnWaaXivqVjlp
-------変更が有る場合ここまで------
5.データベースの更新
監視しているファイルを変更した時や、
4の照合で「変更されている」と出て問題ないと判断した時に
行います。
※照合時に問題ない場合は必要はありません。
# /usr/local/bin/tw/tripwire -interactive
コマンドを実行したカレントディレクトリに作成されるので、
3で行ったように移動します
# mv tw.db_hostname /var/tripwire/
6.項目4と同じように照合を行い問題ないかテストする。
-------------------------------------------
属性については、チェックする項目を指定できるようになっていて、 すごく沢山あるんだけど、だいたいは下記のように。 ちなみに、デフォルトは"R"。
+/- +で属性の追加、-で削除(これはスイッチか...)
0-9 ファイルの内容に対する、 いろいろなハッシュ、CRC等のチェック アルゴリズム
p パーミッションとモードビット
i iノード番号
n iノードの参照数。リンクの数
u オーナーのユーザid
g オーナーのグループid
s ファイルサイズ
a 最終アクセス時間
m 最終更新時間
c 作成、変更時間
R 読み込み用。(+pinugsm12-ac3456789)と同じ
L ログファイル用 (+pinug-sacm123456789)と同じ
N すべて非許可(+pinusgsamc123456789)と同じ
E すべて許可(-pinusgsamc123456789)と同じ
> 増加するファイル (+pinug>-samc1233456789)と同じ
# Format: [!|=] entry [ignore-flags]
#
# where: '!' signifies the entry is to be pruned (inclusive) from
# the list of files to be scanned.
# '=' signifies the entry is to be added, but if it is
# a directory, then all its contents are pruned
# (useful for /tmp).
#
# where: entry is the absolute pathname of a file or a directory
#
# where ignore-flags are in the format:
# [template][ [+|-][pinugsam12] ... ]
#
# - : ignore the following atributes
# + : do not ignore the following attributes
#
# p : permission and file mode bits a: access timestamp
# i : inode number m: modification timestamp
# n : number of links (ref count) c: inode creation timestamp
# u : user id of owner 1: signature 1
# g : group id of owner 2: signature 2
# s : size of file
#
#
# Ex: The following entry will scan all the files in /etc, and report
# any changes in mode bits, inode number, reference count, uid,
# gid, modification and creation timestamp, and the signatures.
# However, it will ignore any changes in the access timestamp.
#
# /etc +pinugsm12-a
#
# The following templates have been pre-defined to make these long ignore
# mask descriptions unecessary.
#
# Templates: (default) R : [R]ead-only (+pinugsm12-a)
# L : [L]og file (+pinug-sam12)
# N : ignore [N]othing (+pinusgsamc12)
# E : ignore [E]verything (-pinusgsamc12)
コメント