Configure Snort IDS and Create Rules

Snortは、Linuxシステムで使用できるオープンソースの侵入検知システムです。 このチュートリアルでは、Snort IDS の基本的な構成について説明し、システム上のさまざまな種類のアクティビティを検出するためのルールを作成する方法について説明します。 etc/snort/snort.を編集します。conf ファイルを編集し、$HOME_NET の横にある「any」を、以下のスクリーンショットの例のように、ネットワーク情報に置き換えます。

また、このスクリーンショットのように、特定の IP アドレスをカンマで区切って監視することも可能です。

さて、さっそくコマンドラインで次のコマンドを実行してみましょう:

# snort -d -l /var/log/snort/ -h 10.X.X.X.X.X.X.X.X.X.X.X.X.X.X.0.0.0/24 -A console -c /etc/snort/snort.conf

Where:
d= snort にデータを表示するよう指示
l= logs ディレクトリを決定
h= 監視するネットワークを指定
A= snort にコンソールに警告を印刷するよう指示
c= Snort に設定ファイルを指定

異なるデバイスから nmap で高速スキャンすることができます。

そして、snort コンソールで何が起こるか見てみましょう:

Snort はスキャンを検出しました。今度は、また別のデバイスから hping3

で DoS 攻撃を行ってみましょう。0.0.3

Snortを表示しているデバイスは、このように不良トラフィックを検出しています:

ログを保存するように指示したので、実行すればログを読み出すことができます。

# snort -r

Introduction to Snort Rules

SnortのNIDSモードは/etc/snort/SNORTで指定したルールに基づいて機能します。conf ファイルで指定されたルールに基づいて動作します。

SNORT.conf ファイル内には、以下のようにコメントされたルールとコメントされていないルールがあります:

ルールのパスは通常 /etc/snort/rules で、そこにルールファイルがあります:

バックドアに対するルールを見てみましょう。

バックドア攻撃を防ぐためのルールがいくつかありますが、驚くべきことに、数十年前に流行したトロイの木馬、NetBus に対するルールもあります。0 connection
established”; flow:from_server,established;
flowbits:isset,backdoor.netbus_2.connect; content: “BN|10 00 02 00|”; depth:6; content:”|
05 00|”; depth:2; offset:8; classtype:misc-activity; sid:115; rev:9;)

このルールは、ポート 20034 で外部ネットワークの任意のソースに送信する TCP 接続について警告するように snort に指示します。

-> = トラフィック方向を指定し、この場合は保護ネットワークから外部ネットワークへ

msg = 表示するときに特定のメッセージを含むように警告する

content = パケット内の特定のコンテンツを検索するように指示します。 ” “の間にある場合はテキストを、||の間にある場合はバイナリデータを含めることができます
depth = 分析強度、上記のルールでは、2つの異なるコンテンツに対して2つの異なるパラメータがあります
offset = コンテンツを検索するために各パケットの開始バイトをSnortに伝えます
classtype = Snortがどの種類の攻撃についてアラートを出しているのか伝えます

sid:115 = ルール識別子

独自のルールを作成する

ここで、受信するSSH接続について通知するための新しいルールを作成します。 etc/snort/rules/yourrule を開いてください。ルールを開き、次のテキストを貼り付けます:

alert tcp $EXTERNAL_NET any -> $HOME_NET 22 (msg: “SSH incoming”;
flow:stateless; flags:S+; sid:100006927; rev:1;)

テキストメッセージ「SSH INCOMING」を含む、外部ソースからsshポート(この場合はデフォルトポート)へのあらゆるtcp接続について警告するようSnortに指示します。

ここで、作成したルールを /etc/snort/snort.conf ファイルに追加する必要があります。 エディタで設定ファイルを開き、ルールのあるセクションである#7を探します。 5275>

include $RULE_PATH/yourrule.rules

“yourrule.rules” の代わりに、上の画像のようにコメントされていないルールを追加してください。rules” の代わりに、ファイル名を指定します。私の場合は test3.rules です。

一度、Snort を再度実行して何が起こるか見てください。

#snort -d -l /var/log/snort/ -h 10.0.0.0/24 -A console -c /etc/snort/snort.conf

他のデバイスから自分のデバイスにsshして何が起こるか見てみましょう。

SSH受信を検出したことがわかるでしょう。 Snort をセットアップして使い始める方法」のチュートリアルや、Linux.lat.のスペイン語版チュートリアルもご覧ください。

コメントを残す

メールアドレスが公開されることはありません。