MiracleLinux9.2 ; SNORT3 , Tripwire インストール

Snort3 インストール

Snortは、IPネットワーク上でリアルタイムのトラフィック分析とパケットロギングを実行できるオープンソースのネットワーク侵入検知システムです。
「プロトコル分析」「コンテンツ検索」「マッチング」を実行でき、「バッファオーバーフロー」「ステルスポートスキャン」「CGI攻撃」「SMBプローブ」「OSフィンガープリント試行」「セマンティックURL攻撃」「サーバメッセージブロック探査」など、さまざまな攻撃検出に使用できます。

MiracleLinux9はSnort3リポジトリがありませんので、ソースコードからSnort3をビルド、コンパイルしてインストールします

1. 事前準備

①ビルドとインストールに必要なビルドツールと依存関係のあるライブラリーをインストール。

libsafec-develはEPELリポジトリーにありませんのて゛CERT Forensics Toolsリポジトリーをインストールして
libsafec-develをインストールします

②SNORT3のインストール作業ディレクトリー作成

③DAQのダウンロード、インストール

Tcmallocインストール
メモリ使用量の増加時の速度が向上のためgperftoolsインストール

2. Snort3 ダウンロード、インストール

①Snort3をダウンロードしてインストール

②共有ライブラリを更新

バージョンを確認

3. ネットワークインターフェースカードの設定

①ネットワークインターフェイスカードを構成
※以下「ens160」の箇所は各自の環境に合わす

Snortが1518バイトを超える大きなパケットを切り捨てないよう、インターフェイスオフロードを無効にする
現状の確認

GRO,LROがonになっているのてこれを無効にする

システムの再起動後も変更が反映するように、systemdサービスを作成して有効にする

snort3-promisc.serviceの内容

[Unit]
Description=Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ip link set dev ens160 promisc on
ExecStart=/usr/sbin/ethtool -K ens160 gro off lro off
TimeoutStartSec=0
RemainAfterExit=yes

[Install]
WantedBy=default.target

4.コミュニティルールの使用

今回はコミュニティールールをセットします
Snort Rulesディレクトリを作成

Snort 3ダウンロードページからSnort 3コミュニティルールをダウンロード
ルールを抽出し、構成フォルダーにコピー

構成フォルダーの中を確認する

5. メイン設定ファイル編集

ルールへのパスを更新

OpenAppID インストール
Snort 3のダウンロードページからSnort OpenAppIDをダウンロードしインストール

snort 3設定ファイルを編集し、OpenAppIDライブラリの場所を定義

ログディレクトリー作成

構成のチェック

チェックの結果次のように表示されればOK

6. カスタムローカルルールを作成

7. 設定の検証

パラメーター -T を使用して構成をテストし、テスト・モードを使用可能にします

次に、以下のコマンドを実行してテストを実行する

同じローカルネットワーク内の別のPCから本サーバーにpingを実行すると、下記のように本サーバーコンソール画面ににアラート行が書き出される

ログファイルに書き込む設定

ログディレクトリーにalert_fast.txt ファイルが作成される

構文チェックを実行

今度は、-A alert_fastというオプションはつけずに、-l /var/log/snortというログ・ディレクトリを指定するオプションをつけ実行する

再度、同じネットワーク内の別のPCからサーバーにpingすると今度はコンソール画面には何も表示されないが
ログディレクトリを確認すると、 alert_fast.txt ファイルが作成されました
alert_fast.txt ファイルを確認するには

ローカルルールをsnort.luaに含める

8. Snort用のユーザー作成

Snort用の非ログイン システム ユーザー アカウントを作成

9. Snort用のsystemdサービスユニットを作成

systemdの設定をリロードする

ログファイルの所有権と権限を設定

システム起動時にSnortを起動し、実行できるようにする

ステータスチェック

Tripwire インストール

1.インストール

2.初期設定

サイトパスフレーズとローカルパスフレーズを設定する

3.Tripwire の設定

①設定ファイル編集

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

③Tripwire 設定ファイル(テキスト版)削除

④ポリシーファイル設定

twpolmake.plの内容

⑤ポリシーファイル最適化

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

⑦データベースを作成、動作確認

テスト用ファイルを作成

Tripwire の動作確認

下記のように表示され、test.txtが検出されている

テスト用ファイルを削除

⑧Tripwire 定期実行スクリプト作成

tripwire.shの内容

⑨Tripwire 自動実行スクリプト実行権限

cron に登録して、定期的に実行する