Tripwireは、無料のオープンソースの侵入検知システム(IDS)です。これは、システム上のファイルの変更を監視および警告するためのセキュリティツールです。 Tripwireは、システムを不要な変更から保護する強力なIDSです。これを使用して、Webサイトファイルを含むシステムファイルを監視できるため、不要なファイル変更があった場合、Tripwireはシステムをチェックし、正しく設定されていれば、電子メールで警告することができます。
このチュートリアルでは、CentOS7システムでTripwireを使用する以外のシステムファイルの変更を監視および検出する方法を示します。 CentOS 7にTripwireをインストールして構成する方法、Tripwireキーファイルを生成する方法、tripwireポリシーを構成および追加する方法、システムを確認する方法、Tripwireとcronのセットアップの電子メール通知を有効にする方法を説明します。
- CentOS7にTripwireをインストールする
- CentOS7のTripwireポリシーを構成する
- Tripwire構成の確認
- Tripwireポリシーに新しいルールを追加する
- Tripwireの電子メール通知とcronの設定
- CentOS7システム
- ルート権限
私たちがしなければならない最初のステップは、Tripwireをシステムにインストールすることです。デフォルトでは、tripwireはCentOS7リポジトリで利用できます。
サーバーにログインして、すべてのパッケージを更新します。
ssh [email protected]
sudo yum update -y
次に、yumを使用してTripwireをインストールします。
yum -y install tripwire
インストール後、新しいキーファイルを生成する必要があります。
Tripwireは2つのキーファイルで動作します。
- site-key:Tripwire構成を保護するために使用されます。したがって、トリップワイヤ構成への変更は、構成を再度生成するまで適用されず、そのための「サイトキー」パスフレーズの入力を求められます。
- local-key:トリップワイヤーバイナリを検証するために使用されます。 tripwireシステムデータベースを更新する場合は、tripwireコマンドを実行する必要があり、「local-key」のパスフレーズの入力を求められます。
以下のコマンドを使用して、新しいトリップワイヤキーファイル(サイトキーとローカルキー)を生成しましょう。
sudo tripwire-setup-keyfiles
このコマンドは、2つのキーファイル「site-key」と「local-key」を生成し、それぞれのパスフレーズの入力を求められます。
独自の'サイトキーを入力します 'パスフレーズを入力してEnterキーを押します。
独自の'ローカルキーを入力します 'パスフレーズを入力して、もう一度Enterキーを押します。
次に、「site-key」を使用してトリップワイヤ構成に署名します。
'サイトキーを入力します 'パスフレーズ。
そして、Tripwireポリシーに署名するには、「ローカルキー」と入力します。 'パスフレーズ。
TripwireはCentOS7にインストールされており、新しいtripwire構成とキーは「/ etc/tripwire」ディレクトリにあります。
最初のステップで説明したトリップワイヤーのインストール後、トリップワイヤーデータベースを初期化し、エラーがないことを確認する必要があります。
以下のtripwireコマンドを使用してtripwireデータベースを初期化します。
sudo tripwire --init
'local-key'パスフレーズについて尋ねられ、以下のような'nosuchdirectory'というエラーメッセージが表示される可能性があります。
トリップワイヤ構成ですでに定義されているディレクトリとファイルがシステムにないため、エラーが発生します。このエラーを解決するには、トリップワイヤ構成'twpol.txt'を編集して、トリップワイヤ構成を再署名する必要があります。
次に、以下のコマンドを使用して、tripwireからログエラーを生成します。
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
CentOS 7システムに存在しないすべてのディレクトリとファイルは、ファイル'mo-directory.txt'
に一覧表示されます。cat no-directory.txt
次のbashスクリプトを使用して、トリップワイヤ構成「twpol.txt」を編集します。このスクリプトを端末で実行します。
for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done
この後、以下に示すように、twadminコマンドを使用してtripwire構成を再生成して再署名する必要があります。
sudo twadmin -m P /etc/tripwire/twpol.txt
「サイトキー」パスフレーズを入力します。
tripwireデータベースを再度初期化し、エラーが発生しないことを確認してください。
sudo tripwire --init
エラーなしでtripwireデータベースを再初期化します。
トリップワイヤの構成を確認するには、次のようにシステムチェックコマンドを実行します。
sudo tripwire --check
そして、次のような結果が得られるはずです。
つまり、これは、システムにエラーやシステム違反がないことを意味します。
次に、ルートホームディレクトリの下に新しいファイルを追加し、tripwireを使用して再度確認します。
ルートホームディレクトリに移動し、新しいファイル「hakase-labs.txt」を作成します。
cd ~/
touch hakase-labs.txt
次に、tripwireコマンドを使用してシステムを再度確認します。
sudo tripwire --check
そして、以下のように重大度100のシステムでの新しい違反の結果を取得します。
この段階で、TripwireはCentOS7システム用にインストールおよび構成されています。
このステップでは、tripwireポリシー構成「twpol.txt」に新しいルールを追加する方法を示します。
この作業を実行するには、ルール名、重大度、監視するディレクトリ、およびファイルの種類を定義する必要があります。このステップでは、WordPressインストール用の「WordpressData」という名前の新しいルールを「/ var /www/」ディレクトリに作成します。重大度は「HIGH/SIG_HI」で、そのディレクトリ内のすべてのファイルが重要です(両方の所有権)ソースコードと同様に変更することはできません。
トリップワイヤ構成ディレクトリ「/etc/ tripwire」に移動し、vimを使用して構成ファイル「twpol.txt」を編集します。
cd /etc/tripwire/
vim twpol.txt
行の最後に移動して、次のWordPressルールを貼り付けます。
# Ruleset for Wordpress
(
rulename = "Wordpress Data",
severity= $(SIG_HI)
)
{
/var/www -> $(SEC_CRIT);
}
保存して終了します。
以下のようにtwadminコマンドを使用して、構成を再生成して再署名します。
sudo twadmin -m P /etc/tripwire/twpol.txt
「サイトキー」パスフレーズを入力します。
次に、tripwireデータベースを再生成する必要があります。
sudo tripwire --init
'local-key'パスフレーズを入力します。
新しいルールセットが追加され、Tripwireポリシー構成に適用されました。
以下のtripwireコマンドを使用してシステムを確認してください。
sudo tripwire --check
そして、エラーや違反なしで結果が得られるはずです。
次に、「/ var / www /」ディレクトリに移動し、その中に新しいファイルを作成します。
cd /var/www/
touch hakase-labs.php
トリップワイヤーを使用してシステムチェックを再度実行します。
sudo tripwire --check
また、セキュリティレベルが100の「/ var /www/」ディレクトリにシステム違反という結果が表示されます。
新しいルールが追加され、Tripwireポリシー構成に適用されました。
このステップでは、特定のトリップワイヤルールセットポリシーの通知を構成し、自動システムチェック用のcronジョブを構成します。 「Wordpressデータ」ルールに違反した場合は、メールアドレス「[メール保護]」にレポートを送信します。
電子メール通知の場合、tripwireは構成に関数「emailto」を提供します。また、デフォルトでは、tripwireはPostfixまたはSendmailを使用してレポートを電子メールで送信しています。
電子メール通知を構成する前に、以下のコマンドを使用してトリップワイヤー通知機能をテストしてください。
sudo tripwire --test --email [email protected]
メールを確認すると、以下のようにサーバーからメールレポートを取得する必要があります。
次に、「/ etc / tripwire」ディレクトリに移動し、「twpol.txt」構成を編集します。
cd /etc/tripwire/
vim twpol.txt
以下に示すように、「WordpressData」ルール内に新しい行「emailto」を追加します。
# Ruleset for Wordpress
(
rulename = "Wordpress Data",
severity= $(SIG_HI),
emailto = [email protected]
)
{
/var/www -> $(SEC_CRIT);
}
保存して終了します。
twadminコマンドを使用して構成を再生成し、署名します。
sudo twadmin -m P /etc/tripwire/twpol.txt
「サイトキー」パスフレーズを入力します。
そして、tripwireデータベースを再生成します。
sudo tripwire --init
トリップワイヤーの「ローカルキー」パスフレーズを入力します。
Tripwire電子メール通知の構成が完了しました。
次に、「/ var /www/」ディレクトリに新しいファイルを再度作成してテストを行います。
cd /var/www/
touch hakase.txt
以下のコマンドを使用して、システムを再度確認してください。
sudo tripwire --check --email-report
注:
- -email-report: 各ルールで定義されているメールアドレスにシステムのレポートを送信します。
メールを確認すると、以下のような結果がメールに表示されます。
Tripwireの電子メール通知が有効になり、適用されました。
次に、cronセットアップを使用してTripwireシステムの自動チェックを有効にします。このために、以下のcrontabコマンドを使用してrootユーザーの下に新しいcronスクリプトを作成します。
sudo crontab -e -u root
次のcron構成を貼り付けます。
0 0 * * * tripwire --check --email-report
保存して終了します。
注:
- -cronスクリプトは、トリップワイヤシステムチェックを毎日実行します。
次に、CentOS7でcrondサービスを再起動します。
systemctl restart crond
これで、毎日メールにトリップワイヤーレポート通知が届きます。
Tripwireは、CentOS7システム用にインストールおよび構成されています。