OpenSUSE15.6 ; SURICATA , SNORTインストール

 Suricata

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

1.事前準備

リポジトリを追加・有効

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

①Suricata のインストール

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

③設定ファイルを編集

④Suricataのルール更新

⑤Suricataの起動

⑥Suricataの起動確認

ログを確認

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

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

3.Suricata のテスト

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

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

4.Suricata Rulesの設定

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

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

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

アップデートを実行

Suricata service再起動

5.Suricata Custom Rulesの作成

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

②設定ファイルを編集(新しいルールのパスを定義)

 ③設定ファイルのテスト

Suricat service再起動

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

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

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

SNORT2

Snort(スノート)とは、ネットワーク型IDS(不正侵入検知システム)です。ネットワーク上を流れるパケットをキャプチャーして、不審なパケットの検出を行います。
ソースファイルは、https://snort.org/ から直接ダウンロードします。

1.1 事前準備

必要なライブラリーのインストール

1.2 SNORTと daqダウンロード、インストール

①daqダウンロード、インストール
作業ディレクトリーを作成し、そのディレクトリー内でダウンロードする

➁Lua のインストール

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

④SNORTインストール
Luaプログラミング・インターフェースを使用しない場合は、オプション"-disable-open-appid "を追加してください。

「/usr/sbin/snort」とバイナリファイル「/usr/local/bin/snort」の間にソフトリンクを作成

1.3 ユーザーとグループ作成

1.4 ディレクトリ・ファイル作成、実行権限

white_list.rules, black_list.rules と local.rules作成

Snortのソースからすべての「.conf」ファイルと「.map」ファイルをSnortのシステムフォルダにコピー

1.5 ルールのダウンロード

①コミュニティルールをダウンロードします。
root/ フォルダに移動し、解凍して、他の場所で既に行ったように "cp" で正しいシステムディレクトリにルールをコピー

「sed」コマンドで、「snort.conf」内の不要な行をコメントアウトします。 コミュニティルール以外をインストールしない場合は、このコマンドを使って残りをコメントアウトすることができます

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

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

1.6 Snort設定ファイルの編集

1.7設定の確認

①設定ファイルのチェック

正常であれば次のような表示が出ます

ERROR: /etc/snort/rules/classification.config(0) Unable to open rules file "/etc/snort/rules/classification.config": No such file or directory.
上記のようなエラーが出る場合は、該当ファイルを次のようにコピーしてください

invalidエラーが出た場合次のようにする

②作動テストの準備

「local.rules」を開き、テスト用に「alert icmp any any -> $HOME_NET any (msg: "ICMP test"; sid:10000001; rev:001;) 」という行を入力

③Snortをターミナルでテストする

「ip addr」コマンドでネットワークインターフェースを先に確認し、コンソールまたはターミナルでSnortを起動する

同じネットワーク内のPCから本サーバーにpingするとサーバーのコンソール内に次のように表示される

1.8 ログファイルの確認

1.9 「snort.service」の作成

ネットワークインターフェース「eth0」は各自環境に合わし、次の内容にする

最後にSnortサービスの開始、ステータス

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