web-dev-qa-db-ja.com

Snort IDSインストールのテスト

インストール後にSnort IDSをテストする最も簡単な方法は何ですか?すべてのトラフィックをキャプチャするルールを使用して記述しますか?

alert ip any any -> any any ( msg: "ICMP packet detected!"; sid: 1; )

つまり、独自のルールを使用します。

Snortをテストするために知っている1つの方法は、NmapMetasploitなどのプログラムを使用することですが、どのように実行できますか?

13
Mohsen Gh.

テストする可能性のある微妙に異なる2つの点があります。

  1. Snortは、動作していて、トラフィックをスニッフィングし、ルールに対してテストし、トリガーされたときに警告するという意味で機能していますか?
  2. Snortは、現在のルールセットがタイプXの特定の侵入を検出するという意味で機能していますか?

ケース1をテストするには、例のように実行しやすいルールを作成して実行します。ケース2をテストするには、タイプXの侵入を試みて、それが検出されることを確認する必要があります。

ケース2の方法を使用して、ケース1(インストールが正しく行われたこと)をテストしたいようですが、そうする必要はありません。 「偽の」ルールの使用は、Snortが第一の意味で機能している完全に有効なテストです。そしてそれは簡単です。簡単なテストが良いです。アラートメールが適切な人に送信されることを確認しているだけの場合は、Metasploitをいじりたくはありません。特に、侵入の実行に熟練していない場合-侵入を間違って行い、誤ったテスト結果が出た場合はどうなりますか?侵入の試みがターゲットをクラッシュさせた場合(これは、多くのタイプの侵入で非常に可能性があります)。

実際にケース2をテストする必要があるのは、ルールセットを信頼していない場合(その場合-なぜそれを使用しているのですか)、または新しいルールを開発している場合は、特定のルールが実際の侵入の試みに対して機能することだけです。

10
Graham Hill

これは古いのはわかっていますが、とにかく捨てます...

チェックアウト snort -T

このスイッチは、正確に尋ねられた質問のために設計されています。これは組み込みであり、ルールを使用して変更する必要はなく、悪意のあるトラフィックを送信する必要もありません(「制御されている」場合でも)anyトラフィックを送信する必要はありません。あなたの問題がどこにあるかさえ教えてくれます。

2
user1801810

2019年現在、私が見つけた最も堅牢なSuricata/Snortテストは次のとおりです。

Dig a 3wzn5p2yiumh7akj.onion

emerging-trojan.rules から次のルールをトリガーします。

alert dns $HOME_NET any -> any any (msg:"ET TROJAN Cryptowall .onion Proxy Domain"; 
dns_query; content:"3wzn5p2yiumh7akj"; depth:16; nocase; 
reference:url,www.bleepingcomputer.com/news/security/cryptowall-4-0-released-with-new-features-such-as-encrypted-file-names; 
classtype:trojan-activity; sid:2022048; rev:2; metadata:created_at 2015_11_09, 
updated_at 2015_11_09;)

背景:上記のシグネチャは古くなっており、それらのほとんどには、SnortまたはSuricataを盲目にする適切なフロー仕様が含まれていません。また、testmyids.com有効なプロキシが必要であり、これにより複雑さが増します。 .onionただし、DNS解決アラートは、クライアントによる名前の解決を試みただけでトリガーされるため、インターネット接続が機能している必要はありません。

0
kravietz