I know plenty of you that read my blog are interested in Snort Rules, and are always open to the management of Snort rules in an easier fashion. Often, in the past our (our being the 'Snort Professionals') recommendation has been "Oinkmaster". Perl program, pretty stable, kept rules up to date and such. Well, Oinkmaster kind of died in terms of support so one of our own guys at Sourcefire stepped up for the community and put out, for free, Pulled-Pork. (Originally called "Baconator", but we asked him to change the same so that Wendy's didn't sue.)
Anyway, JJ, the author of Pulled-Pork, a fellow Sourcefire employee, and the guy that runs openpacket.org released version 0.3.4 of Pulled-Pork today. It has some very significant updates that we hope Snort users will be keen on.
For some time, within the Sourcefire interface, you can start off the creation of your policies (and the further updating of your policies) from one of three "bases". Connectivity, Balanced, or Security.
Connectivity focused on Connectivity over security, less interruptions from the IPS and more dropping of traffic that is obviously evil
Balanced focused on a good balance of the above and below.
Security focused more on the Security of the network the Sourcefire sensor was providing more than people getting to Facebook.
VRT makes these categories up, and they make up which rules go into which categories. In the Sourcefire product, if you are "inline", each one of these above standard bases have a certain number of rules that are set to drop by default. Obviously, less at the Connectivity over Security, and more set to drop in Security over Connectivity.
The way that we get this information out to the Sourcefire customers is through "metadata" within a rule. If a rule is written as so:
"alert tcp $HOME_NET !21:23 -> $EXTERNAL_NET any (msg:"ATTACK-RESPONSES Microsoft cmd.exe banner"; flow:established; content:"Microsoft Windows"; content:"|28|C|29| Copyright 1985-"; distance:0; content:"Microsoft Corp."; distance:0; metadata:policy balanced-ips drop, policy connectivity-ips drop, policy security-ips drop; reference:nessus,11633; classtype:successful-admin; sid:2123; rev:4;)"
See the section I have in bold above? That's the metadata, it tells, in which of the three categories I named above, what the rule should do in that instance. In this case, since this rule is looking for traffic that is exiting the network and going back to an attacker, we want to drop this at all costs. So that's what the metadata says. First the name of the policy, then the state.
This feature has been reserved for the automated (notice automated) use for our Sourcefire customers, but has always been available for our open-source Snort users. Until now.
Pulled-Pork 0.3.4 allows the Open-Source users to use these three policies automatically, of course, you have to choose which policy you want to use with the "-I" command parameter.
If you were using pulled-pork in the past, you can't just copy over the pulledpork.conf file into this new instance, you'll need to use the new .conf file that comes with this release, but, in a matter of about 5 minutes, I had the new pulledpork up and running and my Snort instance is now running the "-I security" policy, PulledPork generated a changelog for me, and restarted Snort via a HUP (which you can specify in the pulledpork.conf file).
So, someone that is familiar with Snort, and .conf files, you should be up and running a great security policy in about 5-10 minutes.
Good job JJ and the VRT!
For further information, please go to JJ's blog post on the release and download it at the link he has there on his blog.