GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04でTripwireIDSを使用して変更されたファイルを監視および検出する方法

Tripwireは、無料のオープンソースの侵入検知システム(IDS)です。これは、システム上のファイルの変更を監視および警告するためのセキュリティツールです。 Tripwireは、システムを不要な変更から保護する強力なIDSです。 Webサイトファイルを含むシステムファイルを監視できます。そのため、監視されているファイルのいずれかに不要なファイル変更があった場合、tripwireはシステムをチェックし、警告を発します(その設定が行われている場合)。

このチュートリアルでは、Ubuntu16.04にTripwireホストベースのIDSをインストールして構成する方法を示します。また、システム上の変更されたファイルを監視および検出するようにtripwireを構成する方法も示します。

何をするか
  1. Tripwireをインストールする
  2. UbuntuシステムのTripwireポリシーを構成する
  3. Tripwireの構成を確認する
  4. Tripwireポリシーに新しいルールセットを追加する
  5. Tripwire通知とcronの設定
前提条件
  • Ubuntu16.04サーバー
  • root権限
ステップ1-Tripwireをインストールする

最初のステップは、トリップワイヤーをシステムにインストールすることです。このツールは、公式のUbuntuリポジトリで利用できます。Ubuntuリポジトリを更新し、次のコマンドを使用してTripwireをインストールするだけです。

sudo apt update
sudo apt install -y tripwire

インストール中に、PostfixSMTP設定について尋ねられます。 'インターネットサイトを選択します 'をクリックし、' OK 'インストールを続行します。

メールシステム名は、デフォルトのままにして(以下に示すように)、「 OK」を選択します。 '続行します。

次に、Tripwireの構成について尋ねられます。

新しい'サイトキーを作成します 'Tripwireの場合-'はいを選択します 'そしてEnterキーを押して続行します。

次に、'ローカルキーについて説明します。 '、'はいを選択します 'そしてEnterキーをもう一度押します。

[トリップワイヤ構成の再構築]オプションで、[はい]を選択します '。

Tripwireポリシーの再構築オプションについても同じです-「はい」を選択します '。

これで、「サイトキー」の入力を求められます 'パスフレーズ。パスワードを入力し、「 OK」を選択します '。

'サイトキーを繰り返します 'パスフレーズ。

次に、'ローカルキー 'パスフレーズ、パスワードを入力し、' OKを選択します '。

'ローカルキーを繰り返します 'パスフレーズ。

これで、Ubuntu16.04へのtripwireのインストールが完了しました。

ステップ2-UbuntuシステムのTripwireポリシーを構成する

このステップでは、Ubuntuシステム用にTripwireを構成します。 Tripwireに関連するすべての構成は、「/ etc/tripwire」ディレクトリにあります。

Tripwireのインストール後、データベースシステムを初期化する必要があります。次のコマンドを実行します。

sudo tripwire --init

ローカルキーのパスフレーズについて尋ねられます。ローカルキーのパスフレーズを入力してEnterキーを押します。

そして、エラーが発生する可能性があります'そのようなディレクトリはありません '、以下に示すように。

このエラーを解決するには、Tripwire構成ファイルを編集して構成を再生成する必要があります。

Tripwire構成を編集する前に、どのディレクトリが存在しないかを確認する必要があります。これは、次のコマンドを使用して実行できます。

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

これで、次の方法で存在しないすべてのディレクトリとファイルを表示できます。

cat no-directory.txt

次に、Tripwire構成ディレクトリに移動し、構成ファイルtwpol.txtを編集します。

cd /etc/tripwire/
vim twpol.txt

「ブートスクリプト」ルールで、次のように行にコメントを付けます。

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

「システムブートの変更」ルールについて、以下のようにコメントします。

(
  rulename = "System boot changes",
  severity = $(SIG_HI)
)
{
        #/var/lock               -> $(SEC_CONFIG) ;
        #/var/run                -> $(SEC_CONFIG) ; # daemon PIDs
        /var/log                -> $(SEC_CONFIG) ;

「ルート構成ファイル」ルールで、次の変更を行います。

(
  rulename = "Root config files",
  severity = 100
)
{
        /root                           -> $(SEC_CRIT) ; # Catch all additions to /root
        #/root/mail                     -> $(SEC_CONFIG) ;
        #/root/Mail                     -> $(SEC_CONFIG) ;
        #/root/.xsession-errors         -> $(SEC_CONFIG) ;
        #/root/.xauth                   -> $(SEC_CONFIG) ;
        #/root/.tcshrc                  -> $(SEC_CONFIG) ;
        #/root/.sawfish                 -> $(SEC_CONFIG) ;
        #/root/.pinerc                  -> $(SEC_CONFIG) ;
        #/root/.mc                      -> $(SEC_CONFIG) ;
        #/root/.gnome_private           -> $(SEC_CONFIG) ;
        #/root/.gnome-desktop           -> $(SEC_CONFIG) ;
        #/root/.gnome                   -> $(SEC_CONFIG) ;
        #/root/.esd_auth                        -> $(SEC_CONFIG) ;
        #/root/.elm                     -> $(SEC_CONFIG) ;
        #/root/.cshrc                   -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
        #/root/.bash_profile            -> $(SEC_CONFIG) ;
        #/root/.bash_logout             -> $(SEC_CONFIG) ;
        /root/.bash_history             -> $(SEC_CONFIG) ;
        #/root/.amandahosts             -> $(SEC_CONFIG) ;
        #/root/.addressbook.lu          -> $(SEC_CONFIG) ;
        #/root/.addressbook             -> $(SEC_CONFIG) ;
        #/root/.Xresources              -> $(SEC_CONFIG) ;
        #/root/.Xauthority              -> $(SEC_CONFIG) -i ; # Changes Inode number on login
        #/root/.ICEauthority                -> $(SEC_CONFIG) ;

「デバイスとカーネルの情報」ルールで、次のように行を変更します。

(
  rulename = "Devices & Kernel information",
  severity = $(SIG_HI),
)
{
        /dev            -> $(Device) ;
        /dev/pts        -> $(Device);
        /dev/shm        -> $(Device);
        /dev/hugepages  -> $(Device);
        /dev/mqueue     -> $(Device);
        #/proc          -> $(Device) ;
        /proc/devices           -> $(Device) ;
        /proc/net               -> $(Device) ;
        /proc/tty               -> $(Device) ;
        /proc/cpuinfo           -> $(Device) ;
        /proc/modules           -> $(Device) ;
        /proc/mounts            -> $(Device) ;
        /proc/dma               -> $(Device) ;
        /proc/filesystems       -> $(Device) ;
        /proc/interrupts        -> $(Device) ;
        /proc/ioports           -> $(Device) ;
        /proc/scsi              -> $(Device) ;
        /proc/kcore             -> $(Device) ;
        /proc/self              -> $(Device) ;
        /proc/kmsg              -> $(Device) ;
        /proc/stat              -> $(Device) ;
        /proc/loadavg           -> $(Device) ;
        /proc/uptime            -> $(Device) ;
        /proc/locks             -> $(Device) ;
        /proc/meminfo           -> $(Device) ;
        /proc/misc              -> $(Device) ;
}

それでおしまい。変更を保存して、エディターを終了します。

構成ファイルを編集した後、以下に示すようにtwadminコマンドを使用して暗号化されたポリシーファイルを再作成することにより、すべての変更を実装します。

sudo twadmin -m P /etc/tripwire/twpol.txt

'site-key'パスフレーズを入力し、Enterキーを押します。

これにより、新しいTripwireポリシーが作成されます。次に、Tripwireデータベースを再初期化します。

sudo tripwire --init

ローカルキーのパスフレーズを入力し、今回はエラーが発生しないことを確認してください。

TripwireポリシーはUbuntuシステム用に構成されています

ステップ3-システムファイルの整合性をチェックする

Tripwireがインストールされ、tripwireポリシーが更新され、再初期化されました。このステップでは、Tripwireを使用してシステムを手動でチェックします。

次のコマンドを使用して、すべてのシステムファイルを確認します。

sudo tripwire --check

そして、結果/出力に「違反なし」と「エラーなし」が表示されるはずです。

次に、ルートディレクトリに新しいファイルを追加し、Tripwireを使用してシステムを再度確認します。

cd ~/
touch hakase-labs.txt
sudo tripwire --check

また、出力では、ファイルの追加とファイルが存在するディレクトリの変更が違反として表示されるはずです。

以下の結果を参照してください。

ステップ4-Tripwireに新しいルールを追加する

このステップでは、新しいTripwireルールを構成に追加します。新しいトリップワイヤポリシーを作成するには、ルール名、重大度、およびファイルの種類を定義する必要があります。このステップでは、重大度が「High/SIG_HI」の「WordpressData」という名前の新しいルールを追加しようとします。そのディレクトリ上のすべてのファイルは重要です。

tripwire構成ディレクトリに移動し、構成ファイル「twpol.txt」を編集します。

cd /etc/tripwire/
vim twpol.txt

行の最後に移動して、以下のTripwireルールのサンプルを貼り付けます。

# Ruleset for Wordpress
(
  rulename = "Wordpress Ruleset",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

保存して終了します。

次に、tripwire構成ファイルを再生成します。

sudo twadmin -m P /etc/tripwire/twpol.txt

サイトキーのパスフレーズを入力します。

そして、Tripwireデータベースを再初期化します。

sudo tripwire --init

ローカルキーのパスフレーズを入力します。

これらの構成がすべて完了したら、新しいファイルを作成するか、「/ var /www/」ディレクトリの下にあるファイルを変更してみてください。

'/ var / www /'ディレクトリに移動し、新しいファイルを作成して、インデックスファイルを変更します。

cd /var/www/
touch hakase-labs.txt
echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html
>

以下のtripwireコマンドを使用してシステムを確認してください。

sudo tripwire --check

また、セキュリティレベル100のシステム違反に関する通知が以下のように表示されます。

新しいTripwireルールが追加されました。

ステップ5-Tripwire通知とcronを設定する

このステップでは、特定のTripwireルールセットポリシーの通知を構成し、自動システムチェック用のcronを構成します。

電子メール通知の場合、Tripwireは構成に関数「emailto」を提供します。 Tripwireはメール通知にPostfixを使用しており、ツールのインストール中に自動的にインストールされます。

電子メール通知を構成する前に、以下のコマンドを使用してTripwire通知をテストしてください。

tripwire --test --email [email protected]

また、以下に示すように、サーバーからのメールがあることを確認してください。

次に、「/ etc / tripwire」ディレクトリに移動し、「twpol.txt」構成を編集します。

cd /etc/tripwire/
vim twpol.txt

以下に示すように、「WordpressData」ルール内に新しい行を追加します。

# Rules for Web-app
(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto = [email protected]
)

それでおしまい。保存して終了します。

次に、構成を再生成し、Tripwireデータベースを再初期化します。

sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init

サイトキーパスフレーズを入力して構成を再生成し、ローカルキーパスフレーズを入力して再初期化します。

次に、「/ var / www /」ディレクトリに新しいファイルを再度作成し、Tripwireを使用してシステムを手動で確認し、レポートを電子メールで送信します。

sudo tripwire --check --email-report

また、受信トレイにメールレポートが届くはずです。

次に、cron構成では、tripwireコマンドを実行する時間を定義する必要があります。 Tripwireシステムチェックを毎日構成します。

以下のcrontabコマンドを使用して新しいcronを作成します。

sudo crontab -e -u root

そして、下にcron構成を貼り付けます。

0 0 * * * tripwire --check --email-report

保存して終了し、cronをリロードします。

systemctl restart cron

これで、システムは毎日チェックを実行し、「Wordpress」ルール違反の通知をメールに送信します。

TripwireIDSはUbuntu16.04にインストールおよび構成されており、システム上のすべてのファイルとディレクトリが監視されています。手順4の手順に従って、独自のルールセットを追加できます。


Ubuntu
  1. Ubuntu16.04でNetdataを使用してNginxを監視する方法

  2. CentOS7でTripwireを使用して変更されたファイルを監視および検出する

  3. DebianおよびUbuntuでLogwatchを使用してサーバーログファイルを監視する方法

  1. Ubuntu18.04LTSにStacerSystemMonitorをインストールする方法

  2. Ubuntu20.04でngxtopを使用してNginxログファイルを監視する

  3. UbuntuでFreeFileSyncを使用してファイル/フォルダーを同期する方法

  1. Anboxを使用してUbuntuにAndroidアプリをインストールして実行する方法

  2. Ubuntuでファイルを圧縮および解凍する方法

  3. Ubuntu20.04でファイルとディレクトリの名前を変更する方法