Tripwire

まずはTripwireか
1.ソースをダウンロード。
大元をみると
Looking for the latest version? Download tripwire-2.4.2.2-src.tar.bz2 (716.6 kB)
と書いてあったので、2.4.2.2をダウンロードしてWinSCPを使ってCentOS6.2の/rootにコピーする。
2.インスト

実際にインストするならココを見たほうがいい。

どうやらWordPress3.3.1の編集機能には問題があり改行が勝手に削除されるので、

ソースコード部分は手作業で修正したから信頼性はかなり低い。

(1)tar解凍し、インストール開始。

# tar jxvf tripwire-2.4.2.2-src.tar.bz2
# cd tripwire-2.4.2.2-src

# ./configure --prefix=/usr/local/tripwire sysconfdir=/etc/tripwire && make && make install

 Press ENTER to view the License Agreement.
【Enter】
ライセンス表示は【Space】で次頁へ移動できる。何度も【Space】
license agreement. [do not accept] accept
Continue with installation? [y/n] y
Enter the site keyfile passphrase: ++++++++++ ← サイトパスフレーズ(パスワード1みたいなもの)
Verify the site keyfile passphrase: ++++++++++
Enter the local keyfile passphrase: ********** ← ローカルパスフレーズ(パスワード2みたいなもの)
Verify the local keyfile passphrase: **********
Please enter your site passphrase: ++++++++++
Please enter your site passphrase: ++++++++++

———————————————-
The installation succeeded.

Please refer to
for release information and to the printed user documentation
for further instructions on using Tripwire 2.4 Open Source.

make[3]: ディレクトリ `/root/tripwire-2.4.2.2-src’ から出ます
make[2]: ディレクトリ `/root/tripwire-2.4.2.2-src’ から出ます
make[1]: ディレクトリ `/root/tripwire-2.4.2.2-src’ から出ます

(2)不要なファイルを削除

# cd
# rm  -rf  tripwire-2.4.2.2-src
# rm  tripwire-2.4.2.2-src.tar.bz2
rm: remove 通常ファイル `tripwire-2.4.2.2-src.tar.bz2′?  y

(3)tripwireが実行できる様にPATH環境変数を変更 .bashrcの構成に注意

# echo PATH=$PATH:/usr/local/tripwire/sbin >> .bashrc ; source .bashrc

 
3.設定。
(1)Tripwire設定ファイルの変更

WinSCPで/etc/tripwire の twcfg.txt をエディタで開く。

LOOSEDIRECTORYCHECKING =false  true に変更

REPORTLEVEL   =3 を 4 に変更して保存。

(2)Tripwire設定ファイル(暗号署名版)作成

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

<不要なテキストを削除>

# rm -f /etc/tripwire/twcfg.txt

(3)ポリシーファイルを最適化するPerlスクリプトを作成

/etc/tripwire/twpolmake.pl

#!/usr/bin/perl

# Tripwire Policy File customize tool

# —————————————————————-

# Copyright (C) 2003 Hiroaki Izumi

# This program is free software; you can redistribute it and/or

# modify it under the terms of the GNU General Public License

# as published by the Free Software Foundation; either version 2

# of the License, or (at your option) any later version.

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place – Suite 330, Boston, MA 02111-1307, USA.

# —————————————————————-

# Usage:

# perl twpolmake.pl {Pol file}

# —————————————————————-

#

$POLFILE=$ARGV[0];

open(POL,”$POLFILE”) or die “open error: $POLFILE” ;

my($myhost,$thost) ;

my($sharp,$tpath,$cond) ;

my($INRULE) = 0 ;

while (<POL>) {

chomp;

if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) {

$myhost = `hostname` ; chomp($myhost) ;

if ($thost ne $myhost) {

$_=”HOSTNAME=\”$myhost\”;” ;

}

}

elsif ( /^{/ ) {

$INRULE=1 ;

}

elsif ( /^}/ ) {

$INRULE=0 ;

}

elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) {

$ret = ($sharp =~ s/\#//g) ;

if ($tpath eq ‘/sbin/e2fsadm’ ) {

$cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ;

}

if (! -s $tpath) {

$_ = “$sharp#$tpath$cond” if ($ret == 0) ;

}

else {

$_ = “$sharp$tpath$cond” ;

}

}

print “$_\n” ;

}

close(POL) ;

(4)ポリシーファイルの最適化

# perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt > /etc/tripwire/twpol.txt.new

(5)最適化済ポリシーファイルを元にポリシーファイル(暗号署名版)作成

# twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt.new

Please enter your site passphrase: ++++++++++

Wrote policy file: /etc/tripwire/tw.pol

(6)ポリシーファイル(テキスト版)削除

# rm -f /etc/tripwire/twpol.txt*

(7)データベース作成

# tripwire -m i -s -c /etc/tripwire/tw.cfg
Please enter your local passphrase: ++++++++++

<結構長いAMD E350で2分ぐらい>

(8)実行してみる

# tripwire -m c -s -c /etc/tripwire/tw.cfg

<結構長いAMD E350で2分ぐらい>

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

No Errors

——————————————————————————-
*** End of report ***

Open Source Tripwire 2.4 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.

(9)定期自動実行の設定

 /root/tripwire.sh

#!/bin/bash

PATH=/usr/sbin:/usr/bin:/bin:/usr/local/tripwire/sbin

# パスフレーズ設定

LOCALPASS=”**********” # ローカルパスフレーズ

SITEPASS=”++++++++++” # サイトパスフレーズ

cd /etc/tripwire

# Tripwireチェック実行

tripwire -m c -s -c tw.cfg|mail -s “Tripwire(R) Integrity Check Report in `hostname`” root

# ポリシーファイル最新化

twadmin -m p -c tw.cfg -p tw.pol -S site.key > twpol.txt

perl twpolmake.pl twpol.txt > twpol.txt.new

twadmin -m P -c tw.cfg -p tw.pol -S site.key -Q $SITEPASS twpol.txt.new > /dev/null

rm -f twpol.txt* *.bak

# データベース最新化

rm -f /usr/local/tripwire/lib/tripwire/*.twd*

tripwire -m i -s -c tw.cfg -P $LOCALPASS

<実行モード設定>

#chmod 700 tripwire.sh

<cron設定>

#echo “0 3 * * * root /root/tripwire.sh” > /etc/cron.d/tripwire

(10)とりあえず実行してみよう。

その前に内容確認。

# vi  tripwire.sh

LOCALPASS=”**********” # ローカルパスフレーズ

SITEPASS=”++++++++++” # サイトパスフレーズ

のままだったら、**********と++++++++++を正しい内容に書き換えよう。

# ./tripwire.sh

### Error: File could not be opened.
### Filename: /usr/local/tripwire/lib/tripwire/****************.twd

と出るかもしれない、その場合はもう一回やってみよう。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA