#author("2021-02-08T05:12:31+00:00","default:src128","src128")
#author("2021-02-08T05:25:02+00:00","default:src128","src128")
&tag(tripwire);
*目次 [#l8781dc9]
#contents
*関連ページ [#la7ff0d4]
*参考情報 [#yd9dbd3c]
-[[Tripwireによるファイル改ざん検知の導入〜設定〜運用の流れ - Qiita:https://qiita.com/progrhyme/items/f65c3a56cf6e5e954f8d]]
-[[顰に倣う - Tripwireの導入 - Qiita:https://qiita.com/mitzi2funk/items/357d5787501dd627d68c]]
-[[CentOS 7にTripwireをインストールする | 俺的備忘録 〜なんかいろいろ〜:https://orebibou.com/ja/home/201505/20150513_001/]]


*基本情報 [#ve1d8851]
-サイトキー、ローカルキーの入力が必要。
-設定ファイルを暗号化する必要がある。


*インストール [#ha4d0914]
-Debian/Ubuntuの場合
 apt install tripwire
-サイトキーとローカルキーの入力が求められるので適当に入力する。

*設定 [#g1c44786]
**設定ファイルの最適化 [#w6be90bd]

**設定ファイルの作成(tw.cfg) [#q12db76b]
-twcfg.txtを編集する(今回は特に変更なし)。
-以下のコマンドでtw.cfgを作成
 twadmin -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
-次でも同様らしい
 twadmin --create-cfgfile --site-keyfile /etc/tripwire/site.key  /etc/tripwire/twcfg.txt
-サイトパスフレーズはコマンドラインで指定することも可能。

**設定ファイルの最適化(tw.pl) [#w6be90bd]
-[[ファイル改竄検知システム導入(Tripwire) - CentOSで自宅サーバー構築:https://centossrv.com/tripwire.shtml]]が出典のtwpolmake.plを/etc/tripwireに作成。
#pre{{
#!/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;
    # HOSTNAME=hogeを検索してhostnameの結果で置き換え
    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) ;
}}
-以下のコマンドで実行。
 perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt > /etc/tripwire/twpol.txt.new
-tw.plの作成。twpol.txt.newをtwpol.txtにリネームするか、直接以下のコマンドでポリシーファイルを作成する。
 twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key  /etc/tripwire/twpol.txt.new
-以下のコマンドでも同様
 twadmin --create-polfile --cfgfile /etc/tripwire/tw.cfg  /etc/tripwire/twpol.txt


*データベースの作成 [#ma053b66]
-以下のコマンドでデータベースを作成する。
 tripwire -m i -s -c /etc/tripwire/tw.cfg

*監視実行 [#mb7bf318]
-以下のコマンドでチェックする
 tripwire -m c -s -c /etc/tripwire/tw.cfg
-ファイルを追加
 cd /root
 echo test > test.txt
-再度チェックして検出されればOK。
-再度チェックして検出されればOK。(-m cでチェック。-sでサイレントモード)
 tripwire -m c -s -c /etc/tripwire/tw.cfg
-以下でも同様
 tripwire --check



トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS