「エアコンの安全な修理・適切なフロン回収」はこちら

Fedora38 ; SNORT2 , Suricata , Tripwire インストール

SNORT インストール

Snortは、 Linuxで使える侵入検知システム(IDS)です。ネットワーク型IDSは、ネットワーク上を流れる通信の内容を監視し、攻撃を受けているか否かを検出します。ポートスキャンなどは「攻撃」というよりも「攻撃のための事前調査」とした方が表現としては適切かもしれません。ネットワーク型IDSは、このポートスキャンなども検知できます。また、疑わしい通信を検出することで、侵入などの被害を未然に防ぐことができます。

1.事前準備

①CodeReady Red Hat リポジトリを追加し、必要なソフトウェアをインストールする

作業用ディレクトリー作成

②DAQ のインストール

③Lua のインストール

④偽のリリース ファイルを作成

2. Snort をダウンロード、コンパイル、インストール

偽のリリース ファイルを削除

3.グルーブとユーザー作成、必要なディレクトリー、ファイル作成

設定ファイルのセットアップ・・・すべてのファイルを構成ディレクトリにコピーします

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

①コミュニティルールを取得

②ルールを抽出し、構成フォルダーにコピー

コミュニティルールに含まれていないさまざまなルールファイルがあるので、sedコマンドを使用して、不要な行を一括コメントアウトする

5. 登録済みユーザールールの取得

Snortのウェブサイトに登録すると、Oink コードを使用して登録済みユーザールールをダウンロードできます。Oink コードは Snort ユーザーアカウントの詳細にあります。
次のコマンドのoinkcode を取得した個人コードに置き換えます。

ダウンロードが完了したら、構成ディレクトリにルールを抽出

6. ネットワークおよびルールの構成

7. 設定の検証

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

エラーが出た場合該当のファイルを /etc/snort/rulesにコピーする
当方の場合、下記のファイルでエラーが出た

また、「/etc/snort/rules/snort.conf(322) => Invalid keyword '}'」エラーが出る場合

再度次を実施する

8. 構成のテスト

①Snort がアラートをログに記録しているかどうかをテストするには、着信 ICMP 接続に関するカスタム検出ルールアラートを local.rules ファイルに追加します。

②コンソールで Snort を起動し、アラートを stdout に出力します。正しいネットワーク インターフェイス(ens160 など)を選択する

9. バックグラウンドで Snortを実行する

①Snort のスタートアップスクリプトを作成

②サービスを定義した後、systemctl デーモンを再ロードし実行する

Suricata インストール

SURICATA IDS/IPSはネットワーク上の通信を監視し、不審なトラフィックを検知するオープンソースのIDSです。基本的な仕組みはシグネチャ型であるため、あらかじめ設定した不正な通信を検知できます。また、Suricataは検知だけでなく防御も行えることが特徴です。

1.Suricata のインストールと設定

EPEL リポジトリをシステム上で有効化しておく

①Suricata  インストール

➁バージョン確認

➂Suricataがネットワークパケットを検査するインターフェースとIPアドレスを決定

④設定ファイルを編集

⑤Suricataのルール更新

⑥Suricataの起動

⑦Suricataの起動確認

ログを確認

上記末尾のように"- [ERRCODE: SC_ERR_FATAL(171)] - Hyperscan returned error -1"が表示されハングアップする場合、Hyperscanをアップデートする必要があります。
次の通りアップデートします。

再度

統計情報を確認するには、stats.log ファイルを確認します(デフォルトで8秒ごとに更新)

より高度な出力であるEVE JSONは、以下のコマンドで生成することができる

3.Suricata のテスト

①curl ユーティリティで ping テストを実行

②ログに記録されたかどうかを調べるため、アラートログを確認

4.Suricata Rulesの設定

①Suricataにパッケージされているルールセットの表示

②ルールセットを提供するソースのインデックス一覧

③ソースを有効にする(et/openを有効にする場合)

アップデートを実行

Suricata service再起動

5.Suricata Custom Rulesの作成

①カスタマールールを含むファイルを新規作成

②設定ファイルを編集(上記local.rulesのパスを定義)

③設定ファイルのテスト

Suricat service再起動

④Custom Rulesの適用テスト

同一ローカルネットワーク上の別のデバイスでpingを実行し、ログに記録されたかどうかを確認する

JSON形式のログを取得するには、システムにjqをインストールする

下記コマンドを実行し、同一ローカルネットワーク上の別のデバイスでpingを実行する

Tripwire インストール

1.インストール

2.パスフレーズ設定

3.Tripwire の設定

①設定ファイル編集

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

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

④ポリシーファイル設定

twpolmake.plの内容

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

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

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

テスト用ファイルを作成

Tripwire の動作確認

テスト用ファイルを削除

⑧Tripwire 定期実行スクリプト

tripwire.shの内容

⑨Tripwire 自動実行スクリプト実行設定

参考: メールで結果報告用スクリプト

下記コマンドを実行し、指定したメールアドレスにtripwire実行結果が通知されることを確認

タイトルとURLをコピーしました