Snortはトラフィックを受信して​​いますが、ルールを適用していないようです


11

Snortをインストールし、ローカルゲートウェイ(次の部屋に歩いて触れられるように)でNFQUEUEを介してインラインモードで実行しています。私には次のルールがあります/etc/snort/rules/snort.rules

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"ET CURRENT_EVENTS D-LINK Router Backdoor via Specific UA"; flow:to_server,established; content:"xmlset_roodkcableoj28840ybtide"; http_header; pcre:"/^User-Agent\x3a[^\r\n]*?xmlset_roodkcableoj28840ybtide/Hm"; reference:url,www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/; classtype:attempted-admin; sid:2017590; rev:2; metadata:created_at 2013_10_13, updated_at 2013_10_13;)

このルールは、一部のDLinkルーターにあるバックドアに関連しています。このルールを選択したのは、簡単にテストできるように見えたからです。ルール自体は、新しい脅威からpullporkによって追加されたため、ルールの構文が正しいと推測します。

テストのために、インターネットに面したポート80でlighttpdを使用してゲートウェイを構成し、アクセス可能であることを確認しました。次に、リモートマシンでコマンドを実行しましたcurl -A 'xmlset_roodkcableoj28840ybtide' 'http://<EXTERNAL_IP>'。これにより、lighttpdからの応答がすぐにコンソールに出力され、終了します。ゲートウェイでSnortアラートは生成されません。

また、netfilterは、実行中の4つのsnortプロセスのうち2つのみを使用しているようです。htopCPU 1と2のsnortプロセスがbittorrentでテストするときに重い負荷を発生させるので、これを見ることができます...しかし、CPU 0と3のsnortプロセスは完全にアイドル状態のままです。

私のテスト方法論は間違っていますか?または、snortは、必要なときに警告を発していません(つまり、構成エラーのため)。netfilterが4つのキューすべての間でトラフィックのバランスをとっていないのはなぜでしょうか?

構成

My Snort / Netfilter Config

私のnetfilterチェーンの特定の関連部分は次のとおりです。

Chain wan-fw (1 references)
 pkts bytes target     prot opt in     out     source               destination         
25766 2960K smurfs     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID,NEW,UNTRACKED
    4  1380 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpts:67:68
 4267  246K tcpflags   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
 3820  550K ~comb0     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate ESTABLISHED     <<=== this one for established connections ====!
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED
  937 79669 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02
   13   506 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8 /* Ping */
    4   240 ~log0      tcp  --  *      *       <remote_server>      0.0.0.0/0            tcp dpt:80 /* Tiphares Allowed In */     <<=== this one for new connections ====!
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type BROADCAST
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type ANYCAST
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type MULTICAST
21506 2454K NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: up to 1/sec burst 10 mode srcip nflog-prefix  "IPv4 wan-fw REJECT " nflog-threshold 1
24808 2878K reject     all  --  *      *       0.0.0.0/0            0.0.0.0/0           [goto] 
Chain ~log0 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    4   240 NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: up to 1/sec burst 10 mode srcip /* Tiphares Allowed In */ nflog-prefix  "IPv4 HTTPTest NFQUEUE " nflog-group 1 nflog-threshold 1
    4   240 NFQUEUE    all  --  *      *       0.0.0.0/0            0.0.0.0/0            /* Tiphares Allowed In */ NFQUEUE balance 0:3 bypass cpu-fanout     <<=== passes packets to one of 4 snort processes ====!
Chain ~comb0 (4 references)
 pkts bytes target     prot opt in     out     source               destination         
 474K  196M NFQUEUE    all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate ESTABLISHED NFQUEUE balance 0:3 bypass cpu-fanout     <<=== all established connections from 'wan' are monitored by snort ====!
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0      

追加のしわ:

それが関連しているかどうかはわかりません。TCPリセットパケットをインターネット上のIPに送信する、ゲートウェイ上の何かと思われるものを発見しました。また、これらのパケットは既存の接続に関連付けられていません。

このゲートウェイの背後にあるマシンでビットトレントを使用するとこれが発生し、リセットパケットの大部分がソースポートとしてトレントポートをリストするときに起こることを考えると、私にとって理にかなっている唯一のことは、これが何かをブロックするときにリセットを送信することです(はい? )。

しかし、私はnfqueue daqを使用します...それがsnortである場合、なぜsnortはパケットをnetfilterチェーンに直接挿入して既存のものと関連付けるのではなく、netfilterが新しい接続と見なす方法でこれらのパケットを送信するのですか?それがブロックしている接続?また、snortはパケットをドロップしたり、リセット(アラートのみ)を送信したりするように設定されていません... したがって、なぜこれがsnortがやっているのかわからないのです。

その他の情報

@Lennieyの提案に従って、私もでテストしましたcurl -A 'asafaweb.com' http://server-ip。これもアラートを生成しませんでした。ルールファイルにこのルールが存在することを再確認しました。二つあります:

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"ET POLICY ASafaWeb Scan User-Agent (asafaweb.com)"; flow:established,to_server; content:"User-Agent|3a| asafaweb.com|0d 0a|"; http_header; reference:url,asafaweb.com; classtype:network-scan; sid:2014233; rev:2; metadata:created_at 2012_02_16, updated_at 2012_02_16;)

そして

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"MALWARE-CNC User-Agent ASafaWeb Scan"; flow:to_server,established; content:"User-Agent|3A| asafaweb.com"; fast_pattern:only; http_header; metadata:policy balanced-ips alert, policy security-ips drop, ruleset community, service http; reference:url,asafaweb.com; classtype:network-scan; sid:21327; rev:7;)

構成も更新しました。私がアップロードしたものは、明らかに、古いものでした(http netfilterルールのNFQUEUEの代わりにACCEPTを表示)。


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
マイケルハンプトン

iptablesカウンタに特に興味がない限り、の出力は決して良い選択ではありません。iptables-save代わりに、人間が読むことを期待している場合は望ましい
-poige

@poige同意した。当時、私は単に「iptables」タグに付属する推奨事項に従っていました。ただし、将来は、おそらくiptables-saveを使用するでしょう。
クリフアームストロング

回答:


5

チャットで「解決済み」。

ほぼすべて(iptables + NFQUEUE、systemd.serviceおよびドロップインユニット、snortアラートなど)をデバッグした後、テストの実行方法に問題が発生しました。

通常、インラインIDS / IPSとしてのsnortは、HOME_NET(別名ローカルLANサブネット)だけではなく、独自のパブリックIPではなく、疑わしいトラフィックをチェックするように定義されていません。元のルールはこのパブリックIPに対してテストされたため、アラートのデフォルトはに沿ったものであるため、アラートを生成しませんでしたEXTERNAL_NET any -> HOME_NET any


さらに、質問は主に私のテスト方法が有効であることを確認するためのものであり、あなたが最初にそれを確認したのは...答えが受け入れられたためです。
クリフアームストロング

この投稿に関連するビットをもう少し追加できますか?理想的には、回答を確実に理解するためにチャットログ全体を読む必要があると感じてはなりません。
マイケルハンプトン

@MichaelHampton非常に真実、私はいくつかの情報を追加しました。もっといい?
レニー

1
OK、今私はそれを持っています。他の読者もおそらくそうすることを意味します。
マイケルハンプトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.