1

libnidsは2年のようであり、現在の更新はありません。1G/秒を超える高速でパケットをドロップするように見えるため、libnidsまたはそれよりも優れたライブラリの代替ソリューションを知っている人がいますか?

さらに、64ビットのIPアドレスはサポートされていません。

4

1 に答える 1

3

代わりにlibnidsBroがあります。これには、長年にわたってネットワークセキュリティ監視コミュニティによって徹底的にテストおよび使用されてきた堅牢なTCPリアセンブラが付属しています。HTTP、DNS、FTP、SMTP、SSLなどの一般的なプロトコル用の一連のプロトコルアナライザーが付属しています。

Broは「ネットワーク処理のPython」です。独自のドメイン固有のスクリプト言語を備えており、IPアドレス(v4とv6の両方)、サブネット、ポート用のファーストクラスのタイプと機能を備えています。プログラミングスタイルには、非同期のイベントベースのフレーバーがあります。ユーザーは、ネットワークアクティビティを反映するイベントのコールバック関数を記述します。分析は接続の粒度で動作します。次に例を示します。

event connection_established(c: connection)
{
    if ( c$id$orig_h == 1.2.3.4 && c$id$resp_p == 31337/udp )
        // IP 1.2.3.4 successfully connected to remote host at port 31337.
}

さらに、Broは、10Gbpsリンクのラインレート監視を可能にするクラスターモードをサポートしています。ほとんどの分析では相互接続状態の共有を必要としないため、Broはコア間(を使用PF_RING)および複数のノード間で非常に適切にスケーリングします。140ノード以上のBroインストールが存在します。一般的な展開は次のようになります。

NIDSクラスター
(出典:bro.org

スケーラビリティが高いため、通常、低レベルの詳細に取り組み、Cの実装を微調整する必要はありません。言い換えれば、Broを使用すると、実装ではなく分析に時間を費やすことになります。

于 2012-10-02T05:33:07.610 に答える