I am also deploying a distributed snort sensor network.
My question is, is it possible to configure the central server to forward the events it receives from my sensors to my NAC instead of having to try to receive alerts from all of my sensor boxes.
The SO server already acts as an excellent aggregator and it would simplify my configuration immensely.
I searched to archives here and didn't find much about this. I will keep looking and practicing my google-fu but any assistance is greatly appreciated.
I think that this might be similar to what you want to do:
https://groups.google.com/d/msg/security-onion/KY9EHLIQiZM/xU-NPNiLHvUJ
You could set up your sensors to forward the Snort events to the server through Barnyard2 and syslog-ng, and have your server act as a syslog-ng relay. Unfortunately this would duplicate the fluxes between the sensors and the collector, as the sensors are already forwarding the events through the Sguil agent. I am not aware of any easy way to configure the server to take the events received through Sguil and forward them to an external server through syslog or anything else, but I would be extremely happy if there were anything like that, as I would use it as well.
Regards,
Pietro
So, after some research and a very brief conversation with a sguil dev, it seems like extending the sguil server program to send a copy of the snort alerts to a remote address should be doable with less effort than I initially feared.
So, with that in mind, I have decided take on the task of writing said code myself. I will contribute the code back to the project if the devs think it is good enough.
My question is for the SO dev team. Do you make heavy modifications to the sguil server program? Such that if I was to study the source from the sguil website I would not be able to roll any code I generate into the server in SO.
Please correct me if I'm wrong, but the log messages you're talking about would be something like this:
****************************
2013-07-31 05:23:22 pid(31549) Sensor Data Rcvd: GenericEvent 0 3 misc-activity test-sensor-eth1 {2013-07-31 05:08:31} 10 16071203 16071203 55524C205858582E5858582E5858582E3437 192.168.236.222 195.234.233.47 6 57713 80 10001 420042 1 4D6574686F643A20504F535420486F73743A205858582E5858582E5858582E3437205552493A202F525043322052656665727265723A202D2055413A20544D5320487474702055736572204167656E742028636F6D70617469626C653B204D53494520352E353B2057696E646F7773204E5420352E3029205472616E732044657074683A2031205265717565737420426F6479204C656E6774683A2035313120526573706F6E736520426F6479204C656E6774683A2038383634312053746174757320436F64653A2032303020537461747573204D6573736167653A204F4B20496E666F20436F64653A202D20496E666F204D6573736167653A202D2046696C656E616D653A202D20546167733A2028656D7074792920557365726E616D653A202D2050617373776F72643A202D2050726F786965643A202D204D494D4520547970653A20746578742F786D6C204D44353A202D2045787472616374696F6E2046696C653A202D205549443A204142324E4833624B4B746C
****************************
Applying all necessary hex decoding, this would result in something like:
****************************
2013-07-31 05:23:22 pid(31549) Sensor Data Rcvd: GenericEvent 0 3 misc-activity test-sensor-eth1 {2013-07-31 05:08:31} 10 16071203 16071203 "URL XXX.XXX.XXX.47" 192.168.YYY.YYY XXX.XXX.XXX.47 6 57713 80 10001 420042 1 "Method: POST Host: XXX.XXX.XXX.47 URI: /RPC2 Referrer: - UA: TMS Http User Agent (compatible; MSIE 5.5; Windows NT 5.0) Trans Depth: 1 Request Body Length: 511 Response Body Length: 88641 Status Code: 200 Status Message: OK Info Code: - Info Message: - Filename: - Tags: (empty) Username: - Password: - Proxied: - MIME Type: text/xml MD5: - Extraction File: - UID: AB2NH3bKKtl"
****************************
Unfortunately, using this format directly would mean quite a hard work on the SIEM's side, which is something that many of us would rather avoid, I assume. So, basically, using sguild.log would mean to write something that takes these Sguil logs, unpacks them and rebuilds the original Barnyard2 syslog format to be passed to the SIEM (or whatever).
You're right this might be easier than modifying Sguil's own code, but this could also be done by reading the MySQL database; I'm just not so sure about which method would be the best in terms of performances...
Well, no idea about what Jake's needs are, I was talking from my very own point of view... :-P However, I don't know PacketFence, but I am pretty sure it would prefer to receive Snort's events in its original syslog format (i.e. the one used by Barnyard2), rather than the logs produced by sguild.
For the moment, the only way I have found to obtain syslog fluxes that are compatible with a SIEM or remote syslog collector or anything of the like is to have each sensor forward the logs directly from Barnyard2, which is something I would rather avoid as it is a duplicate, and it also makes my overall architecture a bit more complicated as I also have to tunnel this syslog traffic into the autossh tunnel...
--
You received this message because you are subscribed to a topic in the Google Groups "security-onion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/security-onion/RXWxpatNlac/unsubscribe.
To unsubscribe from this group and all its topics, send an email to security-onio...@googlegroups.com.
Jun 26 23:29:23 xxxx snort: [1:16078:4] SERVER-WEBAPP PHP memory_limit vulnerability exploit attempt [Classification: Attempted User Privilege Gain] [Priority: 1]: {TCP} 12.201.135.200:59241 -> xxx.xxx.xxx.xxx:80
I have Splunk monitoring the file and extract Snort Alerts out of it.
But interestingly it was gone after I upgraded SO. Do you know what changes causes this?
Thanks.