web-dev-qa-db-ja.com

Wiresharkキャプチャのsnort分析

ネットワーク上の問題のあるユーザーを特定しようとしています。 ntopは、トラフィックが多く接続が多いユーザーを識別しますが、マルウェアが実際に問題を起こすために、必ずしも高帯域幅を必要とするわけではありません。そのため、snortを使用してオフライン分析を実行しようとしています(20 Mbpsトラフィックのインライン分析でルーターに負担をかけたくない)。どうやらsnortはこの目的のために-rオプションを提供しているようですが、分析を実行することができません。

分析システムは、違いが生じる場合に備えて、gentoo、AMD64です。私はすでにoinkmasterを使用して最新のIDS署名をダウンロードしました。しかし、snortを実行しようとすると、次のエラーが発生し続けます。

% snort -V

   ,,_     -*> Snort! <*-
  o"  )~   Version 2.9.0.3 IPv6 GRE (Build 98) x86_64-linux
   ''''    By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
           Copyright (C) 1998-2010 Sourcefire, Inc., et al.
           Using libpcap version 1.1.1
           Using PCRE version: 8.11 2010-12-10
           Using ZLIB version: 1.2.5

%> snort -v -r jan21-for-snort.cap -c /etc/snort/snort.conf -l ~/snortlog/

(をちょきちょきと切る)

273 out of 1024 flowbits in use.

[ Port Based Pattern Matching Memory ]
+- [ Aho-Corasick Summary ] -------------------------------------
| Storage Format    : Full-Q
| Finite Automaton  : DFA
| Alphabet Size     : 256 Chars
| Sizeof State      : Variable (1,2,4 bytes)
| Instances         : 314
|     1 byte states : 304
|     2 byte states : 10
|     4 byte states : 0
| Characters        : 69371
| States            : 58631
| Transitions       : 3471623
| State Density     : 23.1%
| Patterns          : 3020
| Match States      : 2934
| Memory (MB)       : 29.66
|   Patterns        : 0.36
|   Match Lists     : 0.77
|   DFA
|     1 byte states : 1.37
|     2 byte states : 26.59
|     4 byte states : 0.00
+----------------------------------------------------------------
[ Number of patterns truncated to 20 bytes: 563 ]
ERROR: Can't find pcap DAQ!
Fatal Error, Quitting..

net-libs/daqがインストールされていますが、トラフィックをキャプチャすることすらしたくありません。キャプチャファイルを処理するだけです。

リアルタイムキャプチャの代わりにオフライン分析を行うには、どの構成オプションを設定/設定解除する必要がありますか?

7
Ben Voigt

私はGentooに特に精通していませんが、「-daq-list」フラグを使用して、Snortが認識するDAQモジュール(ある場合)を確認することができます。

例えば:

# snort --daq-list
Available DAQ modules:
pcap(v3): readback live multi unpriv
ipfw(v2): live inline multi unpriv
dump(v1): readback live inline multi unpriv
afpacket(v4): live inline multi unpriv

次に、「-daq-dir」フラグを使用して、SnortがDAQライブラリを含むディレクトリを指すようにします。

snort -v -r jan21-for-snort.cap -c /etc/snort/snort.conf -l ~/snortlog/ --daq-dir /usr/local/lib/daq/
1
Brandon

私はいつもこれをします:

  1. 仮想を作成するNIC eth10
  2. Eth10でトラフィックを再生します
  3. Eth10でトラフィックをキャプチャします

仮想NICを作成する

これをbashスクリプトに入れて実行可能にし(chmod + x script.sh)、実行します。

#!/usr/bin/env bash

modprobe dummy
lsmod | grep dummy
ip link set name eth10 dev dummy0
ip link show eth10
ifconfig eth10 hw ether 00:22:22:ff:ff:ff
ip link show eth10
ip addr add 192.168.100.199/24 brd + dev eth10 label eth10:0
ifconfig eth10 up
ifconfig eth10 promisc

トラフィックを再生します

tcpreplayを取得して実行します。

Sudo tcpreplay -i eth10 -T nano mypcap.pcap

トラフィックをキャプチャします

鼻を嗅ぐ:

Sudo snort -i eth10 -u snort -g snort -c /etc/snort/snort.conf
0
Jan

修正内容は完全にはわかりませんが、snortをコンパイルするために指定されたUSEフラグに関連している可能性があります。これは次のように報告されます [〜#〜] post [〜#〜] 私が思う投稿には一時的な解決策も含まれています。

別のディストリビューション/ウィンドウを使用するか、GentooフォーラムでSnortのビルドの問題について質問することをお勧めします。

0
cwheeler33