<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.12-alpha" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Work Together For The Benefit Of All ManKind...</title>
	<link>http://www.gamelinux.org</link>
	<description>OSS and Security @ WORK</description>
	<pubDate>Thu, 05 Aug 2010 09:58:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.12-alpha</generator>
	<language>en</language>
			<item>
		<title>snort-2.8.6.1 debian/ubuntu packages</title>
		<link>http://www.gamelinux.org/?p=92</link>
		<comments>http://www.gamelinux.org/?p=92#comments</comments>
		<pubDate>Thu, 05 Aug 2010 09:58:31 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Linux Distributions</category>

		<category>Debian</category>

		<category>Ubuntu</category>

		<category>Security</category>

		<category>Sguil</category>

		<category>Snort</category>

		<category>Sourcefire</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=92</guid>
		<description><![CDATA[Back from vacation  
I did pack 2.8.6.0, but it never made it to the public before I went on vacations :/
You can find 2.8.6.1 here:
http://debs.gamelinux.org/snort/hardy/
-*&#62; Snort! &#60;*-
Version 2.8.6.1 IPv6 GRE (Build 39)

]]></description>
			<content:encoded><![CDATA[<p>Back from vacation <img src='http://www.gamelinux.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I did pack 2.8.6.0, but it never made it to the public before I went on vacations :/</p>
<p>You can find 2.8.6.1 here:<br />
http://debs.gamelinux.org/snort/hardy/</p>
<p>-*&gt; Snort! &lt;*-<br />
Version 2.8.6.1 IPv6 GRE (Build 39)</em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=92</wfw:commentRss>
		</item>
		<item>
		<title>Prads 0.2.0 released</title>
		<link>http://www.gamelinux.org/?p=91</link>
		<comments>http://www.gamelinux.org/?p=91#comments</comments>
		<pubDate>Tue, 29 Jun 2010 15:28:12 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Debian</category>

		<category>Ubuntu</category>

		<category>Security</category>

		<category>Sguil</category>

		<category>Snort</category>

		<category>PRADS</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=91</guid>
		<description><![CDATA[As Kacper stated here, PRADS 0.2.0 has been released!
You can download some debian packages here, or you can check out the GIT repo here.
Bug reports, issues, thoughts or any comments are very welcome!
Enjoy!

]]></description>
			<content:encoded><![CDATA[<p>As Kacper stated <a href="http://kacper.blog.linpro.no/archives/125">here</a>, PRADS 0.2.0 has been released!</p>
<p>You can download some debian packages <a href="http://github.com/gamelinux/prads/downloads">here</a>, or you can check out the GIT repo <a href="http://github.com/gamelinux/prads">here</a>.</p>
<p>Bug reports, issues, thoughts or any comments are very welcome!</p>
<p>Enjoy!
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=91</wfw:commentRss>
		</item>
		<item>
		<title>Virtual splitting networks in Snort</title>
		<link>http://www.gamelinux.org/?p=90</link>
		<comments>http://www.gamelinux.org/?p=90#comments</comments>
		<pubDate>Wed, 19 May 2010 09:03:11 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Security</category>

		<category>Snort</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=90</guid>
		<description><![CDATA[I haven&#8217;t seen any HOWTOs yet on how to use the feature of dividing up your network into multiple snort configuration files (Virtual Networks?). I have tried this on my sensors and it works great.
Before, one would solve the problem by firing up multiple instances of snort, each with their own sets of options/arguments. Now [...]]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t seen any HOWTOs yet on how to use the feature of dividing up your network into multiple snort configuration files (Virtual Networks?). I have tried this on my sensors and it works great.</p>
<p>Before, one would solve the problem by firing up multiple instances of snort, each with their own sets of options/arguments. Now we only start one instance of snort with a default snort config, and including config files for each IP, IP-range or VLAN that one would like to monitor. The default snort config file is used as a fall-back if the traffic is not matched in one of the virtual configs.</p>
<p>example:</p>
<p>config binding: /etc/snort/vips/snort-0.conf net 192.168.0.0/24<br />
config binding: /etc/snort/vips/snort-1.conf net 192.168.1.0/24<br />
config binding: /etc/snort/vips/snort-2.conf net 192.168.2.0/24<br />
config binding: /etc/snort/vips/snort-3.conf vlan 1337</p>
<p>So, you have a default /etc/snort/snort.conf and configure that as a fall-back configuration (Catch all traffic not handled by your virtual configs) and then add the statements above. You can then configure snort-0.conf, snort-1.conf, snort-2.conf and snort-3.conf to handle their respective traffic (Variables, rules, preprocessors etc).</p>
<p>In this case, if you have:<br />
192.168.0.0/24 on eth1<br />
192.168.1.0/24 on eth2<br />
192.168.2.0/24 on eth3<br />
vlan 1337 on eth4</p>
<p>you would need to bond them together and have snort listen on the bonded interface.</p>
<p>My gut feelings are that there are some performance and memory benefits firing up one instance of snort configured with virtual-networks, then firing up X instances of snort, but I have not done any tests.</p>
<p>Read more in the README.multipleconfigs in the doc/ directory of the Snort Tarball.</p>
<p><strong>*I would like to hear thoughts from other playing with this feature*</strong>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=90</wfw:commentRss>
		</item>
		<item>
		<title>Bumped version on PADS</title>
		<link>http://www.gamelinux.org/?p=89</link>
		<comments>http://www.gamelinux.org/?p=89#comments</comments>
		<pubDate>Tue, 20 Apr 2010 11:55:33 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Linux Distributions</category>

		<category>Security</category>

		<category>Sguil</category>

		<category>PADS</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=89</guid>
		<description><![CDATA[Small PADS info:
I bumped the version of pads to 1.2.1 (My version) after applying a patch that fixes many issues as follow:
PADS did not enable warnings during compilation. Enabling that revealed
that it did not actually include header files declaring the functions it
used. Fixing this revealed a multitude of little bugs of varying
severity, including:
- Uninitialized variables
- [...]]]></description>
			<content:encoded><![CDATA[<p>Small PADS info:</p>
<p>I bumped the version of pads to 1.2.1 (<a href="http://github.com/gamelinux/">My version</a>) after applying a patch that fixes many issues as follow:<br />
<code>PADS did not enable warnings during compilation. Enabling that revealed<br />
that it did not actually include header files declaring the functions it<br />
used. Fixing this revealed a multitude of little bugs of varying<br />
severity, including:<br />
- Uninitialized variables<br />
- Unused variables<br />
- Using close() instead of fclose()<br />
- Using a bstring as a string, rather then using bdata()<br />
- Useless statements<br />
- Return without argument, even though function must return something<br />
- Assuming time_t is int<br />
- Passing pointers to arrays instead of the array itself</code></p>
<p>Many thanks to <strong>Erwin Paternotte</strong> for submitting this patch in the work of getting pads to work on <a href="http://www.gentoo.org/proj/en/hardened/">Hardened Gentoo</a> 64bit.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=89</wfw:commentRss>
		</item>
		<item>
		<title>Phony security advisory from Tim Brown (www.nth-dimension.org.uk) about Varnish</title>
		<link>http://www.gamelinux.org/?p=88</link>
		<comments>http://www.gamelinux.org/?p=88#comments</comments>
		<pubDate>Tue, 30 Mar 2010 11:53:10 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Security</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=88</guid>
		<description><![CDATA[I just had to comment on this&#8230;
Read the advisory here.
My short comment; If you install any type of Software, or use any kind of mechanical devices, or do anything in life, be sure too know what you are doing.
If you buy a car, and the car door is not locked when you are handed the [...]]]></description>
			<content:encoded><![CDATA[<p>I just had to comment on this&#8230;</p>
<p>Read the advisory <a href="http://www.securityfocus.com/archive/1/510360">here</a>.</p>
<p>My short comment; If you install any type of Software, or use any kind of mechanical devices, or do anything in life, be sure too know what you are doing.</p>
<p>If you buy a car, and the car door is not locked when you are handed the keys, do still lock the doors if you don&#8217;t want people to come into your car!</p>
<p><strong>Snippets from the advisory:</strong><br />
<code><em>&#8220;In order to completely protect against the vulnerability (in the short term), Nth Dimension recommend turning off the server and replacing it with another reverse proxy such as Squid.&#8221;</em></code></p>
<p>That would be like stepping out of a Ferrari and crawling into twelve old Tractors&#8230; I don&#8217;t think people will do that Mr. Brown&#8230;</p>
<p><code><em>&#8220;Should this not be possible, Nth Dimension would strongly recommend that users confirm that the master process is not listening on an external network interface.&#8221;</em></code></p>
<p>This is so much easier to do than migrate to Squid or alike? And the right thing to do if you are <em>not</em> in a trusted environment. Again, do lock your car door.</p>
<p><code><em>&#8220;In the latter case, users should confirm that only trusted users have SSH access to the system.&#8221;</em></code></p>
<p>As a rule of thumb: You should <em>NEVER</em> have untrusted users on your systems if you value your data on it or the data accessible from it.</p>
<p>There are tons of information on how to <a href="http://en.wikipedia.org/wiki/Hardening_(computing)">harden a Operating System (OS)</a>. One of the first and most common step is to make sure the system does not listen on network ports that you don&#8217;t want it too. I feel that the advisory is bogus because it is a feature of Varnish.</p>
<p><em>The advisory should have been aimed at the distributions that have packages that don&#8217;t implement &#8220;non-clue friendly defaults&#8221;.</em></p>
<p>That said, there is nothing stopping me from sending out my passwords via email once I have installed a browser and I manage to log into my gmail account&#8230;<br />
Subject: &#8220;Medium security hole in Mozilla Firefox&#8221;<br />
Body: &#8220;I&#8217;ve identified a couple of security flaws affecting Mozilla Firefox (All versions) which may allow privilege escalation&#8230;.&#8221;</p>
<p><em>&#8220;Grumpy day&#8221;</em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=88</wfw:commentRss>
		</item>
		<item>
		<title>Sguil on Ubuntu 10.04 LTS (Lucid Lynx)</title>
		<link>http://www.gamelinux.org/?p=87</link>
		<comments>http://www.gamelinux.org/?p=87#comments</comments>
		<pubDate>Sun, 28 Mar 2010 14:04:48 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Linux Distributions</category>

		<category>Debian</category>

		<category>Ubuntu</category>

		<category>Security</category>

		<category>Sguil</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=87</guid>
		<description><![CDATA[As Ubuntu 10.04 (Lucid Lynx) is the next LTS (Long Time Support) version of Ubuntu that is coming out soon (April 29, 2010), I have started to look at how sguil and my dot deb packages will work.
I installed Lucid Lynx yesterday and installed my server and sensor debs on it.
Some first notes:
* MySQL is [...]]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://www.ubuntu.com/">Ubuntu</a> 10.04 (Lucid Lynx) is the next LTS (Long Time Support) version of Ubuntu that is coming out soon (<em>April 29, 2010</em>), I have started to look at how <a href="http://sguil.net">sguil</a> and my dot deb packages will work.</p>
<p>I installed Lucid Lynx yesterday and installed my server and sensor debs on it.</p>
<p>Some first notes:</p>
<blockquote><p>* MySQL is not eating the create_sguildb.sql (Just remove the comments)<br />
* Lucid (and Karmic) does not ship with tclx8.3 <img src='http://www.gamelinux.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  (Installing the Hardy version worked just fine)</p></blockquote>
<p>(I filled a <a href="https://bugs.launchpad.net/bugs/549852">bug report</a> to Ubuntu, hoping to get tclx8.3 into the final release&#8230;)</p>
<p>So, from my first tests, it seems to work fine!</p>
<p>I have yet to test the sguil-client on Lucid, and also I did not get to test with extensive amount of traffic and operations on the Lucid test server.</p>
<p><em>So, looking promising</em> <img src='http://www.gamelinux.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=87</wfw:commentRss>
		</item>
		<item>
		<title>Populating Snorts host attribute tables with PRADS</title>
		<link>http://www.gamelinux.org/?p=86</link>
		<comments>http://www.gamelinux.org/?p=86#comments</comments>
		<pubDate>Wed, 24 Mar 2010 10:18:08 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Security</category>

		<category>Snort</category>

		<category>PRADS</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=86</guid>
		<description><![CDATA[It has been a long journey, but after about two years, I finally got a way to populate Snorts host attribute table, automagically(tm)!
When I started this, my first option was to use nmap to scan the network to populate the information. This was scratched, as my goal was to be non intrusive and always up [...]]]></description>
			<content:encoded><![CDATA[<p>It has been a long journey, but after about two years, I finally got a way to populate <a href="http://snort.org">Snorts</a> host attribute table, automagically(tm)!</p>
<p>When I started this, my first option was to use <a href="http://nmap.org/">nmap</a> to scan the network to populate the information. This was scratched, as my goal was to be non intrusive and always up to date (The minute a new host popped up, I want to know). Scanning 65535 ports <em>times two</em> for each of the hosts Im monitoring is not an options also&#8230; I started to look at the Open Source tools out there, on which to use to get the information from. As I was familiar with <a href="http://lcamtuf.coredump.cx/p0f.shtml">p0f</a> and <a href="http://passive.sourceforge.net/">PADS</a>, I saw that they could do the job, but they needed some band-aid to work together, and they where lacking active development&#8230; p0f has a DB patch/version, and I already had PADS hooked up in <a href="http://sguil.net">Sguil</a>, so I had the info in a DB, but not in the way I wanted it. So I started out on a journey to merge the two projects, enhance them, and try to speed things up a bit.</p>
<p>The project is still in development, but the main parts are done. It is useful in the way that it will print out information about detected hosts, like this in verbose mode (And yes, it also does IPv6):</p>
<blockquote><p>
2a02:c0:1002:100:21d:72ff:fe92:728,[syn:S4:64:1:40:M1440,S,T,N,W7:Z],[Linux:2.6 (newer, 7) IPv6],[link:IPv6/IPIP],[uptime:2hrs],[distance:0]<br />
2a02:c0:1002:10::2,[synack:5712:63:1:40:M1440,S,T,N,W7:ZAT],[Linux:2.6 (newer, 7) IPv6],[link:IPv6/IPIP],[uptime:4069hrs],[distance:1]<br />
2a02:c0:1002:100:21d:72ff:fe92:728,[ack:45:64:1:*:N,N,T:ZAT],[Linux:2.6],[uptime:2hrs],[distance:0]<br />
2a02:c0:1002:10::2,[service:OpenSSH 5.1p1 (Protocol 2.0):22:6],[distance:1]<br />
2a02:c0:1002:10::2,[ack:45:63:1:*:N,N,T:ZAT],[Linux:2.6],[uptime:4069hrs],[distance:1]<br />
2a02:c0:1002:100:21d:72ff:fe92:728,[client:OpenSSH 5.1p1 (Protocol 2.0):22:6],[distance:0]
</p></blockquote>
<p>At the moment, it also makes a file in your /tmp/ dir, <em>/tmp/prads-asset.log</em>, which presents the info in the following way:</p>
<blockquote><p>
2a02:c0:1002:100:21d:72ff:fe92:728,0,56268,6,SYN,[S4:64:1:40:M1440,S,T,N,W7:Z:Linux:2.6 (newer, 7) IPv6:link:IPv6/IPIP:uptime:2hrs],0,1269420770<br />
2a02:c0:1002:10::2,0,22,6,SYNACK,[5712:63:1:40:M1440,S,T,N,W7:ZAT:Linux:2.6 (newer, 7) IPv6:link:IPv6/IPIP:uptime:4069hrs],1,1269420770<br />
2a02:c0:1002:100:21d:72ff:fe92:728,0,56268,6,ACK,[45:64:1:*:N,N,T:ZAT:Linux:2.6:uptime:2hrs],0,1269420770<br />
2a02:c0:1002:10::2,0,22,6,SERVER,[ssh:OpenSSH 5.1p1 (Protocol 2.0)],1,1269420770<br />
2a02:c0:1002:10::2,0,22,6,ACK,[45:63:1:*:N,N,T:ZAT:Linux:2.6:uptime:4069hrs],1,1269420770<br />
2a02:c0:1002:100:21d:72ff:fe92:728,0,22,6,CLIENT,[ssh:OpenSSH 5.1p1 (Protocol 2.0)],0,1269420770
</p></blockquote>
<p>Input from the community on how to present the information/output for a best possible way for integration with other applications are welcome. </p>
<p>To try it out, this is what I believe is necessary to install on my Ubuntu machine to run it:</p>
<blockquote><p>
$ sudo aptitude install build-essential git-core libpcre3-dev libpcap0.8-dev<br />
$ git clone http://github.com/gamelinux/prads.git<br />
$ cd prads/src/ &#038;&#038; make<br />
$ # then to start it<br />
$ sudo ./prads -i ethX -v
</p></blockquote>
<p>For populating the Snort host attribute table, there is a script in the tools dir, <a href="http://github.com/gamelinux/prads/blob/master/tools/prads2snort.pl"><strong>prads2snort.pl</strong></a>, which takes the prads-asset.log file and processes it.<br />
Example:</p>
<blockquote><p>
$ perl prads2snort.pl -i prads-asset.log -o hosts_attribute.xml -v -f
</p></blockquote>
<p>The -v (verbose) mode prints out some details, which can be good to check to see if stuff seems to be detected correctly.</p>
<p>Snort supports reloading of the attribute table if you give it the signal <strong>30</strong>. (<em>kill -30 &lt;snort-pid&gt;</em>). This means, that if you discover a difference in your host attribute table (Say you got a new <em>http</em> service some where, or a host has changed <em>OS</em>), you can swap out the attribute file with a new updated one, and tell snort to reload its attribute file without restarting snort! Darn cool if you ask me <img src='http://www.gamelinux.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You can read more about Snort and its host attribute table <a href="http://www.csoonline.com/article/546763/Tuning_Snort_with_Host_Attribute_Tables">here</a>, and you can read about another tool called Hogger <a href="http://global-security.blogspot.com/2010/02/hogging-snort-host-attribute-table.html">here</a>. Also, you should read the Snort <a href="http://www.snort.org/docs">documentation</a> section 2.7 (around page 104/105) &#8220;Host Attribute Table&#8221;.</p>
<p>I would once again like to thank <em>Michal Zalewski</em> and <em>Matt Shelton</em> for <a href="http://github.com/gamelinux/prads/blob/master/doc/AUTHORS">their work on p0f and pads</a>. I would also like to thank <em>Martin Roesch</em> &#038; The Snort Team (And all the contributers) for a great application and all the effort they have put into Snort and its surroundings. (Virtually giving you the price for best Open Source security application 2000 - 2010!).</p>
<p><em>Attribute Table Loaded with 980 hosts<br />
&#8230;<br />
Attribute Table Reload Thread Starting&#8230;<br />
Attribute Table Reload Thread Started, thread 363022672 (15333)<br />
&#8230;<br />
$ /bin/kill -30 15333<br />
&#8230;<br />
Swapping Attribute Tables.<br />
&#8230;<br />
$ /bin/kill 15333<br />
&#8230;<br />
===========================================<br />
Attribute Table Stats:<br />
    Number Entries: 980<br />
    Table Reloaded: 1<br />
===========================================<br />
&#8230;</em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=86</wfw:commentRss>
		</item>
		<item>
		<title>My version of pads-1.2-sguil-mods</title>
		<link>http://www.gamelinux.org/?p=83</link>
		<comments>http://www.gamelinux.org/?p=83#comments</comments>
		<pubDate>Wed, 03 Mar 2010 11:02:26 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Linux Distributions</category>

		<category>Ubuntu</category>

		<category>Security</category>

		<category>Sguil</category>

		<category>PRADS</category>

		<category>PADS</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=83</guid>
		<description><![CDATA[Saturday 18 Jun 2005 Matthew J. Shelton released PADS. PADS is a great tool, and the security industry really needs a good open source passive asset tool. But since 2005, PADS development has stopped, and there are no place to send new signature or patches/bugs too, and hope that they will get added/fixed. Also, logical, [...]]]></description>
			<content:encoded><![CDATA[<p>Saturday 18 Jun 2005 <a href="http://www.linkedin.com/in/mshelton">Matthew J. Shelton</a> released <strong><a href="http://passive.sourceforge.net/">PADS</a></strong>. <em>PADS</em> is a great tool, and the security industry really needs a good open source passive asset tool. But since 2005, PADS development has stopped, and there are no place to send new signature or patches/bugs too, and hope that they will get added/fixed. Also, logical, there are no new features being added&#8230;</p>
<p>I have used <em>PADS</em> in my <a href="http://sguil.net">Sguil</a> setup, but have seen that it lacks stuff that I wanted to have there, and also, there has been some problems running <em>PADS</em> on newer operation systems. I have a copy of the <a href="http://download.gamelinux.org/sguil/pads-1.2-sguil-mods.tar.gz">pads-1.2-sguil-mods.tar.gz</a>, and I added it to <a href="http://github.com/gamelinux/pads-1.2-sguil-mods">github</a> yesterday, fixed some issues when writing data to the <b>FIFO</b> file for <em>Sguil</em>, added some patches, among <a href="http://www.vorant.com/files/pads+vlan.patch">vorants</a> vlan patch. I compiled it on Ubuntu Hardy and Jaunty (x86_64), and it has been running fine for 12+ hours.</p>
<p>If you try out my version of <em>PADS</em> and have issues, I will try to solve them. I see there are some, in stuff that I don&#8217;t use, and if I one day find the urge, I&#8217;ll fix them on my own.</p>
<p>I should probably also mention, shamelessly again, that there is a project that takes <em>PADS</em> to the next level and then some more&#8230;.<br />
You can read about <b><a href="http://prads.projects.linpro.no/">PRADS here</a></b> and what more it can do for you.
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=83</wfw:commentRss>
		</item>
		<item>
		<title>snort-2.8.5.3 debian/ubuntu packages</title>
		<link>http://www.gamelinux.org/?p=82</link>
		<comments>http://www.gamelinux.org/?p=82#comments</comments>
		<pubDate>Thu, 25 Feb 2010 13:27:41 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Linux Distributions</category>

		<category>Debian</category>

		<category>Ubuntu</category>

		<category>Snort</category>

		<category>Sourcefire</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=82</guid>
		<description><![CDATA[Loglevel: INFO
I have packed snort 2.8.5.3 for Ubuntu Hardy and Jaunty:
http://debs.gamelinux.org/snort/hardy/
http://debs.gamelinux.org/snort/jaunty/

-*&#62; Snort! &#60;*-
Version 2.8.5.3 IPv6 (Build 124)

]]></description>
			<content:encoded><![CDATA[<p>Loglevel: INFO</p>
<p>I have packed snort 2.8.5.3 for Ubuntu Hardy and Jaunty:<br />
http://debs.gamelinux.org/snort/hardy/<br />
http://debs.gamelinux.org/snort/jaunty/</p>
<p><em><br />
-*&gt; Snort! &lt;*-<br />
Version 2.8.5.3 IPv6 (Build 124)</em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=82</wfw:commentRss>
		</item>
		<item>
		<title>Some notes on &#8220;making Snort go fast under Linux&#8221;</title>
		<link>http://www.gamelinux.org/?p=81</link>
		<comments>http://www.gamelinux.org/?p=81#comments</comments>
		<pubDate>Tue, 23 Feb 2010 12:52:38 +0000</pubDate>
		<dc:creator>Edward Bjarte Fjellskål</dc:creator>
		
		<category>Information</category>

		<category>OpenSourceSoftware</category>

		<category>Linux Distributions</category>

		<category>Security</category>

		<category>Sguil</category>

		<category>Snort</category>

		<category>Suricata</category>

		<category>Sourcefire</category>

		<guid isPermaLink="false">http://www.gamelinux.org/?p=81</guid>
		<description><![CDATA[These are general pointers too things you want to dig into when you need to optimize Snort. If you are one of those who believe that Snort can&#8217;t go beyond 100Mbit/s and still not drop packets, you should read on. Comments/feedback/new tips/corrections on how to tune a Snort system is very welcome.
&#8211;[ Optimize the hardware [...]]]></description>
			<content:encoded><![CDATA[<p>These are general pointers too things you want to dig into when you <em>need</em> to optimize <a href="http://snort.org">Snort</a>. If you are one of those who believe that <em>Snort</em> can&#8217;t go beyond <em>100Mbit/s</em> and still not drop packets, you should read on. Comments/feedback/new tips/corrections on how to tune a Snort system is very welcome.</p>
<p><strong>&#8211;[ Optimize the hardware ]&#8211;</strong><br />
This is always a moving target&#8230; And you need to keep yourself updated on the topic and pay attention when you buy your hardware. If someone in the community is maintaining a updated list of such hardware, give me a note!</p>
<p><em>Intel</em> Network Interface Controllers(NIC) are the off the shelf choice of network adapters, 825NNXX PCI Express series with minimum TCP segmentation offload, TCP, UDP, IPv4 checksum offload, interrupt moderation, and maybe Bypass if you use inline mode/IPS.</p>
<p>If you want to pay someone that already has researched a bit (pure speculation from my side), then maybe <a href="http://www.endace.com/ninjabox.html">Endace</a> could be a choice. But if you first go there, then why not just go straight to <a href="http://sourcefire.com/">Sourcefire</a> (The makers of <em>Snort</em>).</p>
<p>(<a href="http://sourceforge.net/mailarchive/message.php?msg_name=47B506D5.2030602%40jonkmans.com">Matt Jonkman</a> states that you can increase your Snort throughput up to a 16-fold increase if you introduce Endace platform&#8217;s acceleration features. <a href="http://openinfosecfoundation.org/index.php/team?e6504ae48c99f09df7f58996aacbb6b0=17aafd40086b16950426ff185d103dc2">Matt</a> is the founder of Emerging Threats, and also deep into the <a href="http://openinfosecfoundation.org/index.php/team?e6504ae48c99f09df7f58996aacbb6b0=17aafd40086b16950426ff185d103dc2">OISF</a> and the <a href="http://openinfosecfoundation.org/index.php/download-suricata">Suricata</a> project)</p>
<p>At one time (early 2009), a discussion on IRC (Freenode) summed up in something like this:<br />
<em>&#8220;IICH8 southbridge, and 975G north bridge performing at 1066MHz, 8GB of 1333MHz DDR2 ram on a Intel quad core 3.2Ghz 8MB L2 cache processor running at 1333 MHz FSB and Intel 825NNXX PCI Express Gigabit Ethernet Controller.&#8221;</em> - for a high end sniffer at that time.</p>
<p>Your whole system would benefit great from fast hard drives, as I/O too hard drives generally sucks juice, and locks up the system.</p>
<p>To sum it up:<br />
<em>Fast CPUs, fast RAM, fast buses, fast hard drives and a good network adapter.</em></p>
<p><strong>&#8211;[ Optimize the Linux kernel ]&#8211;</strong><br />
In the file /etc/sysctl.conf - you should consider options like these:</p>
<blockquote><p>
# Just sniffing:<br />
net.core.netdev_max_backlog = 10000<br />
net.core.r mem_default = 16777216<br />
net.core.rmem_max = 33554432<br />
net.ipv4.tcp_mem  = 194688  259584  389376<br />
net.ipv4.tcp_rmem = 1048576 4194304 33554432<br />
net.ipv4.tcp_no_metrics_save = 1<br />
# IF also in Inline mode:<br />
net.core.wmem_default = 16777216<br />
net.core.wmem_max = 33554432<br />
net.ipv4.tcp_wmem = 1048576 4194304 16777216<br />
# Memory handling - not that important<br />
vm.overcommit_memory=2<br />
vm.overcommit_ratio = 50
</p></blockquote>
<p><strong>&#8211;[ Optimize your network interface card ]&#8211;</strong><br />
Change the RX and TX parameters for the interfaces. The following command will display the current settings and the <em>maximum</em> settings you can bump them up to.</p>
<blockquote><p>
# ethtool -g ethX
</p></blockquote>
<p>To change settings, the command is something like this:</p>
<blockquote><p>
# Just sniffing<br />
ethtool -G ethX rx <new maximum RX value><br />
# and for inline mode, also add<br />
ethtool -G ethX tx <new maximum TX value>
</p></blockquote>
<p>Adding the command to <em>/etc/rc.d/rc.local</em> so that they are execute automatically when you boot would be a good idea.</p>
<p><strong>&#8211;[ Optimize Snort ]&#8211;</strong><br />
Snorts performance is based on several factors.<br />
1 - YOUR network!<br />
2 - How snort is compiled<br />
3 - Preprocessors enabled<br />
4 - Rules<br />
5 - Snort in general and snort.conf</p>
<p><strong>&#8211;[ 1. YOUR network! ]&#8211;</strong><br />
Your network is a variable that is most likely not like any other networks. The amount of concurrent connections, packets and packet size flowing through, is most likely unique. Also, depending on the payload in <em>your</em> packets, Snort will perform differently. Also, if your <em>$HOME_NET</em> is one single host, compared to complex list of &#8220;networks&#8221; and &#8220;!networks&#8221;, Snort will spend more time figuring out what to do.</p>
<p><strong>&#8211;[ 2. How snort is compiled ]&#8211;</strong><br />
First, I recommend only to compile Snort with the options that you need. I used to compile Snort in two different ways, one including options among <em>&#8220;&#8211;enable-ppm and &#8211;enable-perfprofiling&#8221;</em> and one without. But as my sensors are not suffering enough at the moment, I include them both by default, for easy access to preprocessor and rule performance data if I need too.</p>
<p>Also, I have not confirmed this, because its out of my budged reach, but the rumors are that Snort performs up to 30% better if it is compiled with an Intel C compiler (and probably run on pure Intel hardware).</p>
<p>If you use <a href="http://public.lanl.gov/cpw/">Phil Wood mmap libpcap</a> and compile Snort with that, you will get some better performance in the packetcapture, giving you less <em>dropped packets</em>. I nice writeup/howto is found <a href="http://eatingsecurity.blogspot.com/2007/11/snort-performance-and-memory-map-pcap.html">here</a>. </p>
<p><strong>&#8211;[ 3 - Preprocessors enabled ]&#8211;</strong><br />
How many and which preprocessors you have enabled is also playing a role on the total performance of your system. So if you can, you need to reduce the numbers of preprocessor to a minimum. Also you need to read the Snort documentation, and figure out the best settings that you can live with for each preprocessors that takes configuration options. The <em>flow_depth</em> parameter in the <em>http_inspect</em> preprocessor is a good example.</p>
<p>Here are two settings/views I switch between when profiling preprocessors:</p>
<blockquote><p>
config profile_preprocs: print 20, sort avg_ticks, filename /tmp/preprocs_20-avg_stats.log append<br />
# And<br />
config profile_preprocs: print all, sort total_ticks, filename /tmp/preprocs_All-total_stats.log append
</p></blockquote>
<p>You should now review the *stats.log files and make changes based on your interpretation, and profile again to see if things get better or worse. </p>
<p><strong>&#8211;[ 4 - Rules ]&#8211;</strong><br />
The amount of rules also affects the performance of Snort. So tuning your rules to just enable the ones that you need is essential when aiming for performance.<br />
Also, how a rule is performing on your network, might defer from how it performs in my network&#8230; That said, you need to profile <em>your</em> set off rules, and tweak or disable them so your system uses less overall &#8220;ticks&#8221;.</p>
<p>Here are two settings/views I switch between when profiling rules:</p>
<blockquote><p>
config profile_rules: print 20, sort avg_ticks, filename /tmp/rules_20-avg_stats.log append<br />
# And<br />
config profile_rules: print all, sort total_ticks, filename /tmp/rules_All-total_stats.log append
</p></blockquote>
<p>You will get a fairly good view of rules that needs/should/would benefit from tuning/disabling.</p>
<p><strong>&#8211;[ 5 - snort in general and snort.conf ]&#8211;</strong><br />
<strong>* search-method</strong><br />
You should look into which <em>search-method</em> snort is using. The default search method is <em><strong>AC-BNFA</strong></em> (Aho-Corasick NFA - low memory, high performance). This is probably the best overall search method, but if you have the RAM for it, <em><strong>AC</strong></em> (Aho-Corasick Full - high memory, best performance) would be a better choice. Snort <strong>2.8.6</strong> added a new pattern matcher named <em><strong>AC-SPLIT</strong></em>. The new pattern matcher is optimized to use less memory and perform at <em><strong>AC</em></strong> speed. This would probably the choice for the future? Need to test right away <img src='http://www.gamelinux.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
To enable it, add something like:</p>
<blockquote><p>config detection: search-method ac-split, max-pattern-len 20,<br />
search-optimize</p></blockquote>
<p><strong>* Latency-Based Packet Handling</strong><br />
If you have a problem with dropped packets, I would say over 1% on an average, I would recommend enabling <em>Latency-Based Packet Handling</em>. You should run some tests in your environment to find a value that works for you, but the general situation is like this:<br />
If your Snort &#8220;<em>Packet Performance Summary</em>&#8221; is telling you that your &#8220;<em>avg pkt time is 10 usecs</em>&#8221; then Snort can inspect about 1000 packets in <em>10000 usecs</em>. If a packet for some reason is using 10000 usec to get through Snort, you may have dropped/sacrificed 1000 other packets in that time frame, just to inspect <em>this</em> packet. So if you configure <strong>max-pkt-time</strong> to be 1000, Snort will stop inspecting packets that take more time than 1000 usec, and in this basic example leaving you with 100 dropped packets instead of 1000. You choose! (The example is not technical correct, as a packet can take over 10000 usec with out Snort dropping any packets at all (Imagine if there is only one packet going through snort that day&#8230;), but in my tests, this is more or less the real world outcome of enabling <em>Latency-Based Packet Handling</em>).<br />
Example:</p>
<blockquote><p>
config ppm: max-pkt-time 10000, fastpath-expensive-packets, pkt-log
</p></blockquote>
<p>Other keywords you should be aware off in the Snort config, that I don&#8217;t want to go into details about, as I don&#8217;t have enough Snort-Fu about to stand firm, and the doc is rather lacking! I have a personal understanding of what they do, and how it effects performance etc. but if anyone has some nice writeup of the topics, please point me to it!! :<br />
<strong>* Event Queue Configuration<br />
* Latency-Based Rule Handling</strong></p>
<p><strong>&#8211;[ Additional notes ]&#8211;</strong><br />
Obviously, if you need to go as fast as possible, your system should not be used for lots of other different stuff. So keep your running processes/services too a minimum.</p>
<p>Snort is also, as far as I can tell, single threaded when it comes too packet inspection. There is a pdf <a href="http://download.gamelinux.org/gamelinux/doc/319676.pdf">here</a> from Intel, explaining how <em>Sensory Networks Software Acceleration Solutions</em> boost performance of Snort and things alike, making them Multi-core enabled/aware.</p>
<p>That said, Snort benefits from sticking to one CPU, so using <em>schedtool</em> in a proper way, might help snort perform overall better. If you are running multiple instances of Snort on one multi-CPU server, you should use <em>schedtool</em> to stick each Snort process to its own physical CPU etc. Example:</p>
<blockquote><p>
$ man schedtool # and read about &#8220;AFFINITY MASK&#8221; and understand the difference between cpu-cores and hyper-threading etc.<br />
$ schedtool &lt;pid of snort&gt; # Displays current settings<br />
$ schedtool -a 0&#215;01 &lt;pid of snort&gt; # Pin the snort process to one CPU (The first)<br />
$ schedtool -M 2 -p 10 # Change the policy to SCHED_RR and set priority to 10 (0 highest, 100 lowest)<br />
$ schedtool &lt;pid of snort&gt; # to verify your changes
</p></blockquote>
<p>Always when optimizing a system, you should have some sort of measuring system. I use <a href="http://munin.projects.linpro.no/">Munin</a>. I wrote some basic <a href="http://www.gamelinux.org/?p=32">Munin plugins for Snort</a> which monitors the most important stuff.</p>
<p><a href="http://www.gamelinux.org/?p=32">And as always,</a><br />
<em>&#8220;Measure, don&#8217;t speculate&#8221; &#8212; Unknown<br />
&#8220;Premature optimization is the root of all evil&#8221; &#8212; Tony Hoare</em>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gamelinux.org/?feed=rss2&amp;p=81</wfw:commentRss>
		</item>
	</channel>
</rss>
