Snort mailing list archives

Re: Trigger anomalies (on LXC container versus host)


From: "Al Lewis (allewi)" <allewi () cisco com>
Date: Mon, 4 May 2015 00:51:04 +0000

Its pretty hard to say without the pcap and conf file.


Albert Lewis
QA Software Engineer
SOURCEfire, Inc. now part of Cisco
9780 Patuxent Woods Drive
Columbia, MD 21046 
Phone: (office) 443.430.7112
Email: allewi () cisco com 

-----Original Message-----
From: Chris [mailto:berzerkatives () gmail com] 
Sent: Sunday, May 03, 2015 8:08 PM
To: Al Lewis (allewi)
Cc: snort-users () lists sourceforge net
Subject: Re: [Snort-users] Trigger anomalies (on LXC container versus host)

Hi Al,

I've taken the pcap capture on the hypervisor (which is where it will trigger), and run it through Snort using -r, and 
I see that the correct number of packets are being read from the capture, and that one of them is processed (I guess 
for its for HTTP payload, whereas the other packets I believe are just initialising the TCP connection), however it 
doesn't cause it to trigger.

I am certain that the packet that triggers the alert is in here, as looking through the earlier Snort alert lot I see 
this.

[**] [1:1646:5] WEB-CGI test.cgi access [**]
[Classification: access to a potentially vulnerable web application]
[Priority: 2] 05/03-22:54:17.553955 XXX.XXX.XXX.XXX:55208 ->
YYY.YYY.YYY.YYY:80 TCP TTL:64 TOS:0x0 ID:33526 IpLen:20 DgmLen:137 DF
***AP*** Seq: 0x934BB66C  Ack: 0xF99F9563  Win: 0x3890  TcpLen: 32

And in the pcap capture I have an identically timestamped and addressed packet.

22:54:17.553955 IP XXX.XXX.XXX.XXX.55208 > YYY.YYY.YYY.YYY.80: Flags [P.], seq 0:85, ack 1, win 229, options 
[nop,nop,TS val 9149570 ecr 785127305], length 85

But loading it up, with identical command line arguments in addition to the -r, minus the -D, and having it log to a 
brand new place, fails to log/trigger anything.

Here's the rule that one would expect to trigger.

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-CGI test.cgi access"; flow:to_server,established; 
uricontent:"/test.cgi"; nocase; classtype:web-application-activity; sid:1646; rev:5;)

I'm left to think that I must be making a mistake somehow with my playback testing, but I'm not sure what. Any ideas?


On Sun, 3 May 2015 23:03:55 +0000
"Al Lewis (allewi)" <allewi () cisco com> wrote:

The pcaps are needed for replay and testing against. 

As a test... if you run snort from both of your other instances and 
replay the packets  the outputs should be the same when using the "-r" 
flag.

If the results are the same then you know you have a problem with your 
setup and with packets coming off the wire.

You could also replay the pcaps (using tcpreplay ) and look at the 
exit stats to see if the packets are making it into snort correctly.


Albert Lewis
QA Software Engineer
SOURCEfire, Inc. now part of Cisco
9780 Patuxent Woods Drive
Columbia, MD 21046
Phone: (office) 443.430.7112
Email: allewi () cisco com

-----Original Message-----
From: Chris [mailto:berzerkatives () gmail com]
Sent: Sunday, May 03, 2015 6:33 PM
To: Al Lewis (allewi)
Cc: snort-users () lists sourceforge net
Subject: Re: [Snort-users] Trigger anomalies (on LXC container versus
host)

Hi Albert,

Absolutely, thanks for getting back to me, and I'd be more than happy 
to provide extra information.

I'm guessing pcaps wouldn't be of any use as running tcpdump on the 
container and hypervisor at the same time yielded the exact same 
packets (that one system flagged, and the other ignored). I've just 
taken a moment to diff the packet capture that would be expected to 
trigger Snort, and the only difference is a very slight timestamp 
difference.

Like I say, the configs are pretty much vanilla Debian with the 
smallest amount of tweaking for interface names, and not much else.
Should I just tar up /etc/snort and send it over?



On Sun, 3 May 2015 19:04:27 +0000
"Al Lewis (allewi)" <allewi () cisco com> wrote:

Hello,

    It would help if you could provide some pcaps of the traffic in 
question. Also a snort.conf or the rules that are involved.

Thanks!

Albert Lewis
QA Software Engineer
SOURCEfire, Inc. now part of Cisco
9780 Patuxent Woods Drive
Columbia, MD 21046
Phone: (office) 443.430.7112
Email: allewi () cisco com

-----Original Message-----
From: Chris [mailto:berzerkatives () gmail com]
Sent: Sunday, May 03, 2015 9:31 AM
To: snort-users () lists sourceforge net
Subject: [Snort-users] Trigger anomalies (on LXC container versus
host)

I'm observing a problematic difference in behaviour between two 
instances of Snort that are configured identically (recursive 
diff'ed their config dirs, and compared their initialisation
outputs) aside from the required differences (interfaces names) as 
one is running inside an LXC container, listening to its single 
virtual interface, and the other instance is on the hypervisor/base 
OS listening to the bridge interface that all the containers are 
attached to. The container receives traffic through NAT'ing rules on 
the hypervisor.

What I see is that certain rules aren't being triggered on the 
container instance of Snort, but are being triggered on the 
hypervisor. This is despite being able to see the packets that 
trigger these rules appear on both machines (hypervisor and
container) using tcpdump to view the respective interfaces that 
Snort is configured to listen on. Specifically, the rules that I've 
noticed are being ignored are those that involve HTTP header 
inspection, like GET /test.cgi.

Like I said, I can see what look like the EXACT SAME packets on 
these respective interfaces, so I've tried the following 
troubleshooting without any luck.

 * Switching off Snort on the hypervisor in case it was interfering.

 * Creating a rule that triggers for any packet that is considered 
to be web traffic (i.e. EXTERNAL any -> HTTP HTTP_PORT) and this
   triggers for those packets without issue, so it's not a problem 
with those variables being misconfigured.

 * Wondering whether LXC doesn't properly isolate the interfaces
   somehow, so I tried configuring the container Snort to use the
   bridge interface on the hypervisor, however it correctly wasn't 
able to use it (as it didn't exist inside the container, of course).

So I'm stuck as to where to go next. The container is where I want 
Snort to be running, as it's my load balancer (including SSL
termination) so that's where I would like to detect and block rogue 
traffic. The only reason that I run it on the hypervisor is to just 
see whether any concerning traffic is bypassing the load balancer, 
and whether undesirable traffic is being generated by services 
behind it.

Thanks for your time, I really hope someone can shed some light on 
this frustrating situation. Very happy to answer any questions about 
the setup, including configuration specifics, though they're 
essentially vanilla installions on Debian Wheezy straight out of 
apt.

--------------------------------------------------------------------
--
-------- One dashboard for servers and applications across 
Physical-Virtual-Cloud Widest out-of-the-box monitoring support with
50+ applications Performance metrics, stats and reports that give
you Actionable Insights Deep dive visibility with transaction 
tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________ Snort-users mailing 
list Snort-users () lists sourceforge net Go to this URL to change user 
options or unsubscribe:
https://lists.sourceforge.net/lists/listinfo/snort-users
Snort-users list archive:
http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users

Please visit http://blog.snort.org to stay current on all the latest 
Snort news!


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Snort-users mailing list
Snort-users () lists sourceforge net
Go to this URL to change user options or unsubscribe:
https://lists.sourceforge.net/lists/listinfo/snort-users
Snort-users list archive:
http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users

Please visit http://blog.snort.org to stay current on all the latest Snort news!

Current thread: