<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Inliniac</title>
    <link>https://inliniac.net/blog/</link>
    <description>Recent content on Inliniac</description>
    <generator>Hugo -- 0.143.0</generator>
    <language>en</language>
    <lastBuildDate>Tue, 04 Feb 2025 09:38:56 +0100</lastBuildDate>
    <atom:link href="https://inliniac.net/blog/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Vuurmuur 0.8.2 release; development update</title>
      <link>https://inliniac.net/blog/posts/vuurmuur-082/</link>
      <pubDate>Tue, 04 Feb 2025 09:38:56 +0100</pubDate>
       <guid isPermaLink="false">https://inliniac.net/blog/posts/vuurmuur-082/</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve just pushed out a minor update to Vuurmuur. Basically a single important bug fix, and lots of minor cleanups.&lt;/p&gt;
&lt;p&gt;Both in Github Actions and my local CI I&amp;rsquo;ve updated the build tests and the scanners like cppcheck.&lt;/p&gt;
&lt;p&gt;There are quite a few debs for Ubuntu and Debian. On the rpm side, just Fedora. Since libnetfilter_log is still missing from EPEL, creating CentOS rpms isn&amp;rsquo;t feasible right now.&lt;/p&gt;
&lt;p&gt;For the release, see: &lt;a href=&#34;https://vuurmuur.org/posts/release-082/&#34;&gt;https://vuurmuur.org/posts/release-082/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blog Moved to Hugo</title>
      <link>https://inliniac.net/blog/posts/blog-moved-to-hugo/</link>
      <pubDate>Sun, 02 Feb 2025 21:25:27 +0100</pubDate>
       <guid isPermaLink="false">https://inliniac.net/blog/posts/blog-moved-to-hugo/</guid> 
      <description>&lt;p&gt;After many years of hosting this blog at Wordpress, I&amp;rsquo;ve decided to convert it to a static hugo site. I like that I can just write a simple markdown file and publish it.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve done the conversion using &lt;a href=&#34;https://github.com/ashishb/wp2hugo&#34;&gt;https://github.com/ashishb/wp2hugo&lt;/a&gt;, which was very easy.&lt;/p&gt;
&lt;p&gt;There is no option to comment anymore. This feature wasn&amp;rsquo;t used much anyway, but if you have feedback please see &lt;a href=&#34;https://inliniac.net/blog/contact/&#34;&gt;contact&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;My plan is to post more regularly again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur 0.8 has been released</title>
      <link>https://inliniac.net/blog/2019/02/24/vuurmuur-0-8-has-been-released/</link>
      <pubDate>Sun, 24 Feb 2019 19:22:51 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=1086</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve just pushed the 0.8 release. See my announcement &lt;a href=&#34;https://sourceforge.net/p/vuurmuur/mailman/message/36591637/&#34;&gt;here&lt;/a&gt;. Get it from &lt;a href=&#34;https://github.com/inliniac/vuurmuur/releases/tag/0.8&#34;&gt;github&lt;/a&gt; or the &lt;a href=&#34;ftp://ftp.vuurmuur.org/releases/0.8/&#34;&gt;ftp&lt;/a&gt; &lt;a href=&#34;ftp://ftp.vuurmuur.org/releases/0.8/&#34;&gt;server&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Largest changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ipv6 support using ip6tables&lt;/li&gt;
&lt;li&gt;logging uses nflog - initial work by Fred Leeflang&lt;/li&gt;
&lt;li&gt;connection logging and viewer&lt;/li&gt;
&lt;li&gt;add rpfilter and improved helper support&lt;/li&gt;
&lt;li&gt;a &amp;lsquo;dialog&amp;rsquo; based setup wizard&lt;/li&gt;
&lt;li&gt;single code base / package&lt;/li&gt;
&lt;li&gt;massive code cleanup&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I plan to continue to work on Vuurmuur, but it will likely remain at a low pace. Suricata development is simply taking too much of my time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Learning Rust: hash map lookup/insert pattern</title>
      <link>https://inliniac.net/blog/2017/05/19/learning-rust-hash-map-lookupinsert-pattern/</link>
      <pubDate>Fri, 19 May 2017 09:34:20 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=1065</guid> 
      <description>&lt;p&gt;In Suricata we&amp;rsquo;re experimenting with implementing app-layer parser in Rust. See Pierre Chifflier&amp;rsquo;s presentation at the last SuriCon: [ &lt;a href=&#34;https://suricon.net/blog/wp-content/uploads/2016/11/SuriCon2016_PierreChifflier.pdf&#34;&gt;pdf&lt;/a&gt;].&lt;/p&gt;
&lt;p&gt;The first experimental parsers will soon land in master.&lt;/p&gt;
&lt;p&gt;So coming from a C world I often use a pattern like:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-rust&#34; data-lang=&#34;rust&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;value &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; hash_lookup(hashtable, key)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; (&lt;span style=&#34;color:#f92672&#34;&gt;!&lt;/span&gt;value) {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    hash_insert(hashtable, key, somevalue);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Playing with Rust and it&amp;rsquo;s HashMap implementation I wanted to do something very similar. Look up a vector and update it with the new data if it exists, or create a new vector if not:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur Development Update</title>
      <link>https://inliniac.net/blog/2017/01/12/vuurmuur-development-update/</link>
      <pubDate>Thu, 12 Jan 2017 15:40:51 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=1056</guid> 
      <description>&lt;p&gt;Over the holidays I&amp;rsquo;ve spent some time refreshing the Vuurmuur code. One major thing that is now done is that the 3 different &amp;lsquo;projects&amp;rsquo; (libvuurmuur, vuurmuur and vuurmuur-conf) are now merged into a single &amp;lsquo;project&amp;rsquo;. This means that a single &amp;lsquo;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; make install&amp;rsquo; now installs everything.&lt;/p&gt;
&lt;p&gt;When I originally started Vuurmuur I had much bigger dreams for it than eventually materialized. Also, I didn&amp;rsquo;t understand autotools very well, so it was easier to keep the project split up. At some point there were even 5 projects!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata bits, ints and vars</title>
      <link>https://inliniac.net/blog/2016/12/20/suricata-bits-ints-and-vars/</link>
      <pubDate>Tue, 20 Dec 2016 18:37:05 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=976</guid> 
      <description>&lt;p&gt;Since the beginning of the project we&amp;rsquo;ve spoken about variables on multiple levels. Of course flowbits defined by the Snort language came first, but other flow based variables quickly followed: flowints for basic counting, and vars for extracting data using pcre expressions.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve always thought of the pcre data extraction using substring capture as a potentially powerful feature. However the implementation was lacking. The extracted data couldn&amp;rsquo;t really be used for much.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fuzzing Suricata with pcaps</title>
      <link>https://inliniac.net/blog/2016/02/09/fuzzing-suricata-with-pcaps/</link>
      <pubDate>Tue, 09 Feb 2016 15:47:13 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=944</guid> 
      <description>&lt;p&gt;Yesterday I wrote about &lt;a href=&#34;https://inliniac.net/blog/2016/02/08/fuzzing-suricata-with-afl/&#34;&gt;fuzzing Suricata with AFL&lt;/a&gt;. Today I&amp;rsquo;m going to show another way. Since early in the project, we&amp;rsquo;ve shipped a perl based fuzzer called &amp;lsquo;wirefuzz&amp;rsquo;. The tool is very simple. It takes a list of pcaps, changes random bits in them using Wiresharks editcap and runs them through Suricata. Early in the project Will Metcalf, who wrote the tool, found a lot of issues with it.&lt;/p&gt;
&lt;p&gt;Since it&amp;rsquo;s random based fuzzing, the fuzzing is quite shallow. It is still a great way of stressing the decoder layers of Suricata though, as we need to be able to process all junk input correctly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fuzzing Suricata with AFL</title>
      <link>https://inliniac.net/blog/2016/02/08/fuzzing-suricata-with-afl/</link>
      <pubDate>Mon, 08 Feb 2016 17:36:30 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=876</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;http://lcamtuf.coredump.cx/afl/&#34;&gt;AFL&lt;/a&gt; is a very powerful fuzzer, that tries to be smarter than random input generating fuzzers. It&amp;rsquo;s cool, but needs a bit more baby sitting. I&amp;rsquo;ve &lt;a href=&#34;https://github.com/inliniac/suricata/pull/1841&#34;&gt;added some support to Suricata&lt;/a&gt; to assist AFL.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s how to get started on fuzzing pcaps.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir &lt;span style=&#34;color:#f92672&#34;&gt;~/&lt;/span&gt;tmp&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;fuzz
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;inliniac&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;suricata &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;b dev&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;afl&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;v5
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd suricata
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;github&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;OISF&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;libhtp &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;b &lt;span style=&#34;color:#ae81ff&#34;&gt;0.5&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;x
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;bash autogen&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;export&lt;/span&gt; CFLAGS&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;-fsanitize=address&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;export&lt;/span&gt; AFLDIR&lt;span style=&#34;color:#f92672&#34;&gt;=/&lt;/span&gt;opt&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;afl&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1.96&lt;/span&gt;b&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;bin&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;export&lt;/span&gt; CC&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;${AFLDIR}/afl-gcc&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;export&lt;/span&gt; CXX&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;${AFLDIR}/afl-g++&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;./&lt;/span&gt;configure &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;disable&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;shared &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;sysconfdir&lt;span style=&#34;color:#f92672&#34;&gt;=/&lt;/span&gt;etc &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;enable&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;afl
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The configure output should show:
Compiler: /opt/afl-1.96b/bin//afl-gcc (exec name) / gcc (real)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 3.0 is out!</title>
      <link>https://inliniac.net/blog/2016/01/27/suricata-3-0-is-out/</link>
      <pubDate>Wed, 27 Jan 2016 15:33:27 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=874</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2015/11/suri-400x400.png?w=150&#34; alt=&#34;suri-400x400&#34;&gt;Today, almost 2 years after the release of Suricata 2.0, we released 3.0! This new version of Suricata improves performance, scalability, accuracy and general robustness. Next to this, it brings a lot of new features.&lt;/p&gt;
&lt;p&gt;New features are too numerous to mention here, but I&amp;rsquo;d like to highlight a few:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;netmap support: finally a high speed capture method for our FreeBSD friends, IDS &lt;strong&gt;and&lt;/strong&gt; IPS&lt;/li&gt;
&lt;li&gt;multi-tenancy: single instance, multiple detection configs&lt;/li&gt;
&lt;li&gt;JSON stats: making it much easier to graph the stats in ELK, etc&lt;/li&gt;
&lt;li&gt;Much improved Lua support: many more fields/protocols available, output scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Check the full list here in the announcement: &lt;a href=&#34;http://suricata-ids.org/2016/01/27/suricata-3-0-available/&#34;&gt;http://suricata-ids.org/2016/01/27/suricata-3-0-available/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Suricata release model</title>
      <link>https://inliniac.net/blog/2015/11/24/new-suricata-release-model/</link>
      <pubDate>Tue, 24 Nov 2015 15:54:35 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=867</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2015/11/suri-400x400.png&#34; alt=&#34;suri-400x400&#34;&gt;As the team is back from a very successful week in Barcelona, I&amp;rsquo;d like to take a moment on what we discussed and decided on with regards to development.&lt;/p&gt;
&lt;p&gt;One thing no one was happy with is how the release schedules are working. Releases were meant to reasonably frequent, but the time between major releases was growing longer and longer. The 2.0 branch for example, is closing in on 2 years as the stable branch. The result is that many people are missing out on many of the improvements we&amp;rsquo;ve been doing. Currently many people using Suricata actually use a beta version, of even our git master, in production!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get paid to work on Suricata?</title>
      <link>https://inliniac.net/blog/2015/10/09/get-paid-to-work-on-suricata/</link>
      <pubDate>Fri, 09 Oct 2015 13:59:48 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=865</guid> 
      <description>&lt;p&gt;If you like fiddling with Suricata development, maybe you can get paid to do it.&lt;/p&gt;
&lt;p&gt;Companies ask me regularly if I can recommend Suricata developers. I&amp;rsquo;m going to assemble a list of people who are interested in such work. If you like me to consider you in such cases, drop me an email.&lt;/p&gt;
&lt;p&gt;If you really want me to *recommend* you, it&amp;rsquo;s important that I actually know you somewhat. So becoming a (volunteer) contributor will help a lot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Domain back up</title>
      <link>https://inliniac.net/blog/2015/09/30/domain-back-up/</link>
      <pubDate>Wed, 30 Sep 2015 11:36:26 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=863</guid> 
      <description>&lt;p&gt;Due to a &amp;lsquo;administrative problem&amp;rsquo; between my registrar Xs4all and their US-partner Network Solutions, my domain has been offline since Sunday. Resolving the issue took them some time, and there was a technical issue after the administrative one was resolved. Add long DNS TTL values into the mix, and the disruption was quite lengthy. The domain is back up, although it may still take some hours for everyone to see it due to DNS caching.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata has been added to Debian Backports</title>
      <link>https://inliniac.net/blog/2015/01/08/suricata-has-been-added-to-debian-backports/</link>
      <pubDate>Thu, 08 Jan 2015 00:34:50 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=855</guid> 
      <description>&lt;p&gt;Thanks to the hard work of Arturo Borrero Gonzalez, Suricata has just been added to the &lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2015/01/openlogo-100.png&#34; alt=&#34;openlogo-100&#34;&gt;Debian &amp;lsquo;backports&amp;rsquo; repository. This allows users of Debian stable to run up to date versions of Suricata.&lt;/p&gt;
&lt;p&gt;The &amp;lsquo;Backports&amp;rsquo; repository makes the Suricata and libhtp packages from Debian Testing available to &amp;lsquo;stable&amp;rsquo; users. As &amp;rsquo;testing&amp;rsquo; is currently in a freeze, it may take a bit of time before 2.0.5 and libhtp 0.5.16 appear.&lt;/p&gt;
&lt;p&gt;Anyway, here is how to use it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Profiling Suricata with JEMALLOC</title>
      <link>https://inliniac.net/blog/2014/12/23/profiling-suricata-with-jemalloc/</link>
      <pubDate>Tue, 23 Dec 2014 15:34:23 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=851</guid> 
      <description>&lt;p&gt;JEMALLOC is a memory allocation library: &lt;a href=&#34;http://www.canonware.com/jemalloc/&#34;&gt;http://www.canonware.com/jemalloc/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It offers many interesting things for a tool like Suricata. Ken Steele of EZchip (formerly Tilera) &lt;a href=&#34;https://github.com/inliniac/suricata/pull/1233&#34;&gt;made me aware of it&lt;/a&gt;. In Ken&amp;rsquo;s testing it helps performance.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;wget http:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;www&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;canonware&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;com&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;jemalloc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;jemalloc&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.6&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.&lt;/span&gt;tar&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bz2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tar xvfj jemalloc&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.6&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0.&lt;/span&gt;tar&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;bz2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd jemalloc&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3.6&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;./&lt;/span&gt;configure &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;prefix&lt;span style=&#34;color:#f92672&#34;&gt;=/&lt;/span&gt;opt&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;jemalloc&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;make
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo make install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then use it by preloading it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;LD_PRELOAD=/opt/jemalloc/lib/libjemalloc.so ./src/suricata -c suricata.yaml -l tmp/ -r ~/sync/pcap/sandnet.pcap -S emerging-all.rules -v
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I haven&amp;rsquo;t benchmarked this, but if you&amp;rsquo;re running a high performance setup it may certainly be worth a shot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Crossing the Streams in Suricata</title>
      <link>https://inliniac.net/blog/2014/12/21/crossing-the-streams-in-suricata/</link>
      <pubDate>Sat, 20 Dec 2014 23:27:24 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=847</guid> 
      <description>&lt;p&gt;At it&amp;rsquo;s core, Suricata is a packet processor. It reads packets and pushes them through a configurable pipeline. The 2nd most important processing unit in Suricata is the flow. In Suricata we use the term flow for the bidirectional flows of packets with the same 5 tuple (proto, src ip, dst ip, sp, dp. Vlans can be added as well). In fact, much of Suricata&amp;rsquo;s threading effort revolves around the flow. In the 2 main runmodes, autofp and workers, flow based load balancing makes sure that a all packets of a single flow always go through the same threading pipeline. In workers this means one single thread, in autofp 2: the capture thread and a stream/detect/output thread.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SMTP file extraction in Suricata</title>
      <link>https://inliniac.net/blog/2014/11/11/smtp-file-extraction-in-suricata/</link>
      <pubDate>Tue, 11 Nov 2014 10:47:42 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=839</guid> 
      <description>&lt;p&gt;In &lt;a href=&#34;http://suricata-ids.org/2014/11/06/suricata-2-1beta2-available/&#34;&gt;2.1beta2&lt;/a&gt; the long awaited SMTP file extraction support for Suricata finally appeared. It has been a long development cycle. Originally started by BAE Systems, it was picked up by Tom Decanio of FireEye Forensics Group (formerly nPulse Technologies) followed by a last round of changes from my side. But it&amp;rsquo;s here now.&lt;/p&gt;
&lt;p&gt;It contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a MIME decoder&lt;/li&gt;
&lt;li&gt;updates to the SMTP parser to use the MIME decoder for extracting files&lt;/li&gt;
&lt;li&gt;SMTP JSON log, integrated with EVE&lt;/li&gt;
&lt;li&gt;SMTP message URL extraction and logging&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As it uses the Suricata file handling API, it shares almost everything with the existing file handling for HTTP. The rule keyword work and the various logs work automatically with SMTP as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata Training Tour</title>
      <link>https://inliniac.net/blog/2014/09/29/suricata-training-tour/</link>
      <pubDate>Mon, 29 Sep 2014 09:25:26 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=837</guid> 
      <description>&lt;p&gt;After a lot of preparations, it&amp;rsquo;s finally going to happen: &lt;a href=&#34;http://suricata-ids.org/2014/09/23/announcing-the-suricata-training-program/&#34;&gt;official Suricata trainings&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;In the next couple of months I&amp;rsquo;ll be doing at least 3 sessions: &lt;a href=&#34;http://suricata-ids.org/2014/09/23/get-trained-in-amsterdam/&#34;&gt;a home match (Amsterdam)&lt;/a&gt;, a &lt;a href=&#34;http://suricata-ids.org/2014/09/25/get-trained-at-hack-lu-in-luxembourg/&#34;&gt;workshop in Luxembourg&lt;/a&gt; and a session at &lt;a href=&#34;http://suricata-ids.org/2014/09/29/get-trained-at-deepsec-in-vienna/&#34;&gt;DeepSec&lt;/a&gt;. Next to this, we&amp;rsquo;re planning various US based sessions on the East coast and West coast.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m really looking forward to doing these sessions. Other than the official content, there will be plenty of room for questions and discussions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>detecting: malloc(-1) or malloc(0xffffffff)</title>
      <link>https://inliniac.net/blog/2014/09/17/detecting-malloc-1-or-malloc0xffffffff/</link>
      <pubDate>Wed, 17 Sep 2014 17:25:16 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=834</guid> 
      <description>&lt;p&gt;In Suricata we&amp;rsquo;re often not printing malloc errors. The reason is that we&amp;rsquo;re not willing to print such errors based on (attacker controlled) traffic. So often such cases are silently handled.&lt;/p&gt;
&lt;p&gt;We came across a bug though, where a integer underflow led to -1/0xffffffff being passed to malloc. Luckily, malloc just failed by returning NULL, and this return was properly handled. Still, passing such a large value to malloc is a bug, so I would like to catch it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata Flow Logging</title>
      <link>https://inliniac.net/blog/2014/07/28/suricata-flow-logging/</link>
      <pubDate>Mon, 28 Jul 2014 19:09:07 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=827</guid> 
      <description>&lt;p&gt;Pretty much from the start of the project, Suricata has been able to track flows. In Suricata the term &amp;lsquo;flow&amp;rsquo; means the bidirectional flow of packets with the same 5 tuple. Or 7 tuple when vlan tags are counted as well.&lt;/p&gt;
&lt;p&gt;Such a flow is created when the first packet comes in and is stored in the flow hash. Each new packet does a hash look-up and attaches the flow to the packet. Through the packet&amp;rsquo;s flow reference we can access all that is stored in the flow: TCP session, flowbits, app layer state data, protocol info, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Detecting OpenSSL Heartbleed with Suricata</title>
      <link>https://inliniac.net/blog/2014/04/08/detecting-openssl-heartbleed-with-suricata/</link>
      <pubDate>Tue, 08 Apr 2014 12:16:17 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=810</guid> 
      <description>&lt;p&gt;The OpenSSL heartbleed vulnerability is a pretty serious weakness in OpenSSL that can lead to information disclosure, in some cases even to to private key leaking. Please see this post here &lt;a href=&#34;http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html&#34;&gt;http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html&lt;/a&gt; for more info.&lt;/p&gt;
&lt;p&gt;This is a case where an IDS is able to detect the vuln, even though we&amp;rsquo;re talking about TLS.&lt;/p&gt;
&lt;h2 id=&#34;lua&#34;&gt;LUA&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve written a quick and dirty LUA script to detect it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alert tls any any -&amp;gt; any any ( \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    msg:&amp;#34;TLS HEARTBLEED malformed heartbeat record&amp;#34;; \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    flow:established,to_server; dsize:&amp;gt;7; \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    content:&amp;#34;|18 03|&amp;#34;; depth:2; lua:tls-heartbleed.lua; \
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    classtype:misc-attack; sid:3000001; rev:1;)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The script:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Video: Suricata 2.0 installation and quick setup</title>
      <link>https://inliniac.net/blog/2014/03/30/video-suricata-2-0-installation-and-quick-setup/</link>
      <pubDate>Sat, 29 Mar 2014 22:01:56 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=808</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve made a video on installing Suricata 2.0 on Debian Wheezy. The video does the installation, quick setup, ethtool config and shows a simple way to test the IDS.&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&#34; allowfullscreen=&#34;allowfullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube.com/embed/rodY7A14L2g?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;It&amp;rsquo;s the first time I&amp;rsquo;ve made such a video. Feedback is welcome.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 2.0 and beyond</title>
      <link>https://inliniac.net/blog/2014/03/25/suricata-2-0-and-beyond/</link>
      <pubDate>Tue, 25 Mar 2014 14:37:46 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=794</guid> 
      <description>&lt;p&gt;Today I finally &lt;a href=&#34;http://suricata-ids.org/2014/03/25/suricata-2-0-available/&#34;&gt;released Suricata 2.0&lt;/a&gt;. The 2.0 branch opened in December 2012. In the little over a year that it&amp;rsquo;s development lasted, we have closed 183 tickets. We made 1174 commits, with the following stats:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;582 files changed, 94782 insertions(+), 63243 deletions(-)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;So, a significant update! In total, 17 different people made commits. I&amp;rsquo;m really happy with how much code and features were contributed. When starting Suricata this was what I really hoped for, and it seems to be working!&lt;/p&gt;</description>
    </item>
    <item>
      <title>tcpreplay on Intel 82576</title>
      <link>https://inliniac.net/blog/2014/02/27/tcpreplay-on-intel-82576/</link>
      <pubDate>Thu, 27 Feb 2014 11:48:39 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=792</guid> 
      <description>&lt;p&gt;For my Suricata QA setup, I&amp;rsquo;m using tcpreplay on a dual port gigabit NIC. The idea is to blast out packets on one port and then have Suricata listen on the other part.&lt;/p&gt;
&lt;p&gt;For the traffic replay I&amp;rsquo;m using tcpreplay 3.4.4 from the Ubuntu archive. As I have a lot of pcaps to process I intend to use the &amp;ndash;topspeed option to keep runtimes as low as possible. This will result in approximately ~500Mbps on this box, as the pcaps come from a nas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disabling Threading in Tcl8.5 in Debian</title>
      <link>https://inliniac.net/blog/2013/12/30/disabling-threading-in-tcl8-5-in-debian/</link>
      <pubDate>Mon, 30 Dec 2013 13:22:57 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=782</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2013/12/sguil_logo_h.gif?w=300&#34; alt=&#34;sguil_logo_h&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been spending the holidays to upgrade some of my own servers. One of them is the Sguil server I use. Until now it ran Debian Squeeze. On Debian Squeeze you could use tcl8.3, which has threading disabled. For Sguil tcl threading needs to be disabled:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ERROR: This version of tcl was compile with threading enabled. Sguil is NOT compatible with threading.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is a compile time option in TCL, and the Debian Wheezy packages have it enabled by default. Here are the steps to create your own tcl deb with threading disabled:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata Development Update</title>
      <link>https://inliniac.net/blog/2013/12/21/suricata-development-update-2/</link>
      <pubDate>Sat, 21 Dec 2013 11:47:05 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=774</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png?w=300&#34; alt=&#34;Suricata&#34;&gt;With the holidays approaching and the &lt;a href=&#34;http://suricata-ids.org/2013/12/16/suricata-1-4-7-released/&#34;&gt;1.4.7&lt;/a&gt; and &lt;a href=&#34;http://suricata-ids.org/2013/12/18/suricata-2-0beta2-available/&#34;&gt;2.0beta2&lt;/a&gt; releases out, I thought it was a good moment for some reflection on how development is going.&lt;/p&gt;
&lt;p&gt;I feel things are going very well. It&amp;rsquo;s great to work with a group that approaches this project from different angles. OISF has budget have people work on overall features, quality and support. Next to that, our consortium supporters help develop the project: Tilera&amp;rsquo;s Ken Steele is working on the Tile hardware support, doing lots optimizations. Many of which benefit performance and overall quality for the whole project. Tom Decanio of Npulse is doing great work on the output side, unifying the outputs to be machine readable. Jason Ish of Emulex/Endace is helping out the configuration API, defrag, etc. Others, both from the larger community and our consortium, are helping as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GPG key update</title>
      <link>https://inliniac.net/blog/2013/12/16/gpg-key-update/</link>
      <pubDate>Mon, 16 Dec 2013 08:54:05 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=771</guid> 
      <description>&lt;p&gt;I have revoked my old gpg keys 0BA788C7 and F5DFF229. They are superseded by 926856B4. You can grab that from &lt;a href=&#34;http://pgp.mit.edu&#34;&gt;http://pgp.mit.edu&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Reason for the update is to get rid of the 1024 bit keys. I have no reason to believe they were compromised :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata profiling per keyword</title>
      <link>https://inliniac.net/blog/2013/11/07/suricata-profiling-per-keyword/</link>
      <pubDate>Thu, 07 Nov 2013 14:37:04 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=764</guid> 
      <description>&lt;p&gt;Last week I&amp;rsquo;ve added some more profiling options to Suricata. It&amp;rsquo;s part of the current git master. It&amp;rsquo;s enabled only when &lt;code&gt;--enable-profiling&lt;/code&gt; and then through the suricata.yaml:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;profiling:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  # per keyword profiling
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  keywords:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    enabled: yes
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    filename: keyword_perf.log
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    append: yes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This will output a table similar to below:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Date: &lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;7&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2013&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;15&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;13&lt;/span&gt;:&lt;span style=&#34;color:#ae81ff&#34;&gt;11&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: total
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;threshold        &lt;span style=&#34;color:#ae81ff&#34;&gt;355324491&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;190574&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;409&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;72276&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1864.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3625.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1860.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;1274592063&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;534328&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;196738&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;312321&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;2385.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2424.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2362.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pcre             &lt;span style=&#34;color:#ae81ff&#34;&gt;56626031&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;11149&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;824&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;254562&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;5079.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;12234.00&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;4507.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;byte_test        &lt;span style=&#34;color:#ae81ff&#34;&gt;153287955&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;128254&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;32109&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;67989&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1195.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1658.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1040.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;byte_jump        &lt;span style=&#34;color:#ae81ff&#34;&gt;3676404&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2041&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2041&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;15939&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1801.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1801.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flow             &lt;span style=&#34;color:#ae81ff&#34;&gt;38276182&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;22842&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;22842&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;63987&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1675.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1675.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;isdataat         &lt;span style=&#34;color:#ae81ff&#34;&gt;580764&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;558&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;556&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;2427&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1040.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1040.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1017.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dsize            &lt;span style=&#34;color:#ae81ff&#34;&gt;2212029&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2062&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2061&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3711&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1072.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1072.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;789.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flowbits         &lt;span style=&#34;color:#ae81ff&#34;&gt;1677209&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;874&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;870&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;9873&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1919.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1923.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;884.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;itype            &lt;span style=&#34;color:#ae81ff&#34;&gt;1653&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1386&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;826.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;267.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;1386.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;icode            &lt;span style=&#34;color:#ae81ff&#34;&gt;27383781&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;93827&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;25545&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;291.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;1021.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;291.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flags            &lt;span style=&#34;color:#ae81ff&#34;&gt;192751968&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;245519&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;189709&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;255639&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;785.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;753.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;892.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;urilen           &lt;span style=&#34;color:#ae81ff&#34;&gt;6149297&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;6142&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1099&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;28299&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1001.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1395.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;915.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;byte_extract     &lt;span style=&#34;color:#ae81ff&#34;&gt;143091&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;78&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;78&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;7743&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1834.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1834.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: packet
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flow             &lt;span style=&#34;color:#ae81ff&#34;&gt;38276182&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;22842&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;22842&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;63987&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1675.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1675.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;dsize            &lt;span style=&#34;color:#ae81ff&#34;&gt;2212029&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2062&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2061&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3711&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1072.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1072.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;789.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flowbits         &lt;span style=&#34;color:#ae81ff&#34;&gt;351171&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;294&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;290&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;5526&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1194.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1198.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;884.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;itype            &lt;span style=&#34;color:#ae81ff&#34;&gt;1653&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1386&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;826.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;267.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;1386.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;icode            &lt;span style=&#34;color:#ae81ff&#34;&gt;27383781&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;93827&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;25545&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;291.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;1021.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;291.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flags            &lt;span style=&#34;color:#ae81ff&#34;&gt;192751968&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;245519&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;189709&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;255639&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;785.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;753.00&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;892.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: packet&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;stream payload
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;1203990910&lt;/span&gt;  &lt;span style=&#34;color:#ae81ff&#34;&gt;512902&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;183628&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;312321&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;2347.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2365.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2337.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pcre             &lt;span style=&#34;color:#ae81ff&#34;&gt;28087301&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;6598&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;54&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;254562&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;4256.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;12279.00&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;4190.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;byte_test        &lt;span style=&#34;color:#ae81ff&#34;&gt;153287955&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;128254&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;32109&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;67989&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1195.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1658.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1040.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;byte_jump        &lt;span style=&#34;color:#ae81ff&#34;&gt;3676404&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2041&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2041&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;15939&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1801.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1801.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;isdataat         &lt;span style=&#34;color:#ae81ff&#34;&gt;578172&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;556&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;554&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;2427&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1039.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1039.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1017.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;byte_extract     &lt;span style=&#34;color:#ae81ff&#34;&gt;143091&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;78&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;78&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;7743&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1834.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1834.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: http uri
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;44775802&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;13102&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;8351&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;60993&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;3417.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3257.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3698.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pcre             &lt;span style=&#34;color:#ae81ff&#34;&gt;18284421&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;3646&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;97&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;61338&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;5014.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;8916.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;4908.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;isdataat         &lt;span style=&#34;color:#ae81ff&#34;&gt;2592&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1725&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;1296.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1296.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;urilen           &lt;span style=&#34;color:#ae81ff&#34;&gt;6149297&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;6142&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1099&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;28299&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1001.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1395.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;915.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: http raw uri
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pcre             &lt;span style=&#34;color:#ae81ff&#34;&gt;9534&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;4953&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;4767.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;4767.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: http client body
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;1556904&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;441&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;181&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;58476&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;3530.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2874.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3986.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pcre             &lt;span style=&#34;color:#ae81ff&#34;&gt;63924&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;6&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;17358&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;10654.00&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;10654.00&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: http headers
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;23688244&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;7631&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;4348&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;31098&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;3104.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3311.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2829.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pcre             &lt;span style=&#34;color:#ae81ff&#34;&gt;9998970&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;859&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;667&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;71904&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;11640.00&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;12727.00&lt;/span&gt;    &lt;span style=&#34;color:#ae81ff&#34;&gt;7862.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: http stat code
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;80052&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;39&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;20&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;3699&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2052.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2199.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1898.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: http method
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;476334&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;203&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;201&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;27240&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;2346.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2351.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1846.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: http cookie
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;content          &lt;span style=&#34;color:#ae81ff&#34;&gt;23817&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;9&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2763&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2381.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2384.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2358.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pcre             &lt;span style=&#34;color:#ae81ff&#34;&gt;181881&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;38&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;13095&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;4786.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;4786.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: post&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;flowbits         &lt;span style=&#34;color:#ae81ff&#34;&gt;1326038&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;580&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;580&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;9873&lt;/span&gt;        &lt;span style=&#34;color:#ae81ff&#34;&gt;2286.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;2286.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;0.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Stats &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt;: threshold
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;--------------------------------------------------------------------------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Keyword          Ticks       Checks   Matches  Max Ticks   Avg         Avg Match   Avg No Match
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;----------------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;--------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;-----------&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;threshold        &lt;span style=&#34;color:#ae81ff&#34;&gt;355324491&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;190574&lt;/span&gt;   &lt;span style=&#34;color:#ae81ff&#34;&gt;409&lt;/span&gt;      &lt;span style=&#34;color:#ae81ff&#34;&gt;72276&lt;/span&gt;       &lt;span style=&#34;color:#ae81ff&#34;&gt;1864.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;3625.00&lt;/span&gt;     &lt;span style=&#34;color:#ae81ff&#34;&gt;1860.00&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The first part has the totals for all keywords. After this the stats are broken down per buffer type.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Attending Hack.lu with the Suricata team</title>
      <link>https://inliniac.net/blog/2013/09/27/attending-hack-lu-with-the-suricata-team/</link>
      <pubDate>Fri, 27 Sep 2013 07:38:15 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=761</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2013/09/hacklu.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2013/09/hacklu.png&#34; alt=&#34;hacklu&#34;&gt;&lt;/a&gt; Next month I will be attending &lt;a href=&#34;http://2013.hack.lu/index.php/Main_Page&#34;&gt;Hack.lu&lt;/a&gt;. The entire &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/team&#34;&gt;Suricata team&lt;/a&gt; will be present as well. We&amp;rsquo;ll be doing several meetings, including a &lt;a href=&#34;http://suricata-ids.org/2013/09/20/save-the-date-october-24-2013/&#34;&gt;training day&lt;/a&gt; on the 24th of October.&lt;/p&gt;
&lt;p&gt;If you are close and interested in Suricata, please consider joining us. The training is free and does not require you to pay for the conference.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing &#34;error: m4_defn: undefined macro: _m4_divert_diversion&#34;</title>
      <link>https://inliniac.net/blog/2013/07/17/fixing-error-m4_defn-undefined-macro-_m4_divert_diversion/</link>
      <pubDate>Wed, 17 Jul 2013 16:15:29 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=759</guid> 
      <description>&lt;p&gt;Ran into a problem with autotools today, thought I&amp;rsquo;d share my solution. First, the error only happened on an old system:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;$&lt;/span&gt; bash autogen&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Found libtoolize
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Remember to add &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;`&lt;/span&gt;AC_PROG_LIBTOOL&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; to `configure.ac&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;libtoolize: &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;`&lt;/span&gt;config&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;guess&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; exists: use `--force&amp;#39;&lt;/span&gt; to overwrite
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;libtoolize: &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;`&lt;/span&gt;config&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sub&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; exists: use `--force&amp;#39;&lt;/span&gt; to overwrite
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;libtoolize: &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;`&lt;/span&gt;ltmain&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sh&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39; exists: use `--force&amp;#39;&lt;/span&gt; to overwrite
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;autoreconf: Entering directory &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;`&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;autoreconf: configure&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ac: &lt;span style=&#34;color:#f92672&#34;&gt;not&lt;/span&gt; using Gettext
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;autoreconf: running: aclocal &lt;span style=&#34;color:#f92672&#34;&gt;--&lt;/span&gt;force &lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;I m4
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;configure&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ac:&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;: error: m4_defn: undefined macro: _m4_divert_diversion
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;configure&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;ac:&lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;: the top level
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;autom4te: &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;usr&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;bin&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;m4 failed with exit status: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;aclocal: autom4te failed with exit status: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;autoreconf: aclocal failed with exit status: &lt;span style=&#34;color:#ae81ff&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The autogen.sh file is this one: &lt;a href=&#34;https://github.com/inliniac/suricata/blob/master/autogen.sh&#34;&gt;https://github.com/inliniac/suricata/blob/master/autogen.sh&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>More on Suricata lua flowints</title>
      <link>https://inliniac.net/blog/2013/04/23/more-on-suricata-lua-flowints/</link>
      <pubDate>Tue, 23 Apr 2013 10:17:52 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=752</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34; alt=&#34;&#34;&gt;This morning I added flowint lua functions for incrementing and decrementing flowints. From the &lt;a href=&#34;https://github.com/inliniac/suricata/commit/9571091e53a2103cbc9926242fa2cb003eb412ec&#34;&gt;commit&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Add flowint lua functions for incrementing and decrementing flowints.&lt;/p&gt;
&lt;p&gt;First use creates the var and inits to 0. So a call:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    a = ScFlowintIncr(0)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Results in a == 1.&lt;/p&gt;
&lt;p&gt;If the var reached UINT_MAX (2^32), it&amp;rsquo;s not further incremented. If the
var reaches 0 it&amp;rsquo;s not decremented further.&lt;/p&gt;
&lt;p&gt;Calling ScFlowintDecr on a uninitialized var will init it to 0.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata Lua scripting flowint access</title>
      <link>https://inliniac.net/blog/2013/04/22/suricata-lua-scripting-flowint-access/</link>
      <pubDate>Mon, 22 Apr 2013 16:16:30 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=748</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34; alt=&#34;&#34;&gt;A few days ago I wrote about my Emerging Threats sponsored &lt;a href=&#34;https://inliniac.net/blog/2013/04/18/suricata-lua-scripting-flowvar-access/&#34; title=&#34;Suricata Lua scripting flowvar access&#34;&gt;work&lt;/a&gt; to support flowvars from Lua scripts in Suricata.&lt;/p&gt;
&lt;p&gt;Today, I updated that support. Flowvar &amp;lsquo;sets&amp;rsquo; are now real time. This was needed to fix some issues where a script was invoked multiple times in single rule, which can happen with some buffers, like HTTP headers.&lt;/p&gt;
&lt;p&gt;Also, I implemented flowint support. Flowints in Suricata are integers stored in the flow context.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata: Handling of multiple different SYN/ACKs</title>
      <link>https://inliniac.net/blog/2013/04/19/suricata-handling-of-multiple-different-synacks/</link>
      <pubDate>Fri, 19 Apr 2013 07:53:00 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=737</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2013/04/synack.png&#34; alt=&#34;synack&#34;&gt;When processing the TCP 3 way handshake (3whs), Suricata&amp;rsquo;s TCP stream engine will closely follow the setup of a TCP connection to make sure the rest of the session can be tracked and reassembled properly. Retransmissions of SYN/ACKs are silently accepted, unless they are different somehow. If the SEQ or ACK values are different they are considered wrong and events are set. The stream events rules will match on this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata Lua scripting flowvar access</title>
      <link>https://inliniac.net/blog/2013/04/18/suricata-lua-scripting-flowvar-access/</link>
      <pubDate>Thu, 18 Apr 2013 16:36:56 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=731</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34; alt=&#34;&#34;&gt;Funded by Emerging Threats, I&amp;rsquo;ve been working on giving the lua scripts access to flowvars.&lt;/p&gt;
&lt;p&gt;Currently only &amp;ldquo;flowvars&amp;rdquo; are done, &amp;ldquo;flowints&amp;rdquo; will be next. Please review the code at:
&lt;a href=&#34;https://github.com/inliniac/suricata/tree/dev-lua-flowvar&#34;&gt;https://github.com/inliniac/suricata/tree/dev-lua-flowvar&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pcre based flowvar capturing is done in a post-match fashion. If the rule containing the &amp;ldquo;capture&amp;rdquo; matches, the var is stored in the flow.&lt;/p&gt;
&lt;p&gt;For lua scripting, this wasn&amp;rsquo;t what the rule writers wanted. In this case, the flowvars are stored in the flow regardless of a rule match.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Major Suricata 1.4 update</title>
      <link>https://inliniac.net/blog/2013/03/08/728/</link>
      <pubDate>Fri, 08 Mar 2013 14:24:32 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/2013/03/08/728/</guid> 
      <description>&lt;p&gt;Major 1.4 update.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://suricata.io/2013/03/08/suricata-1-4-1-released/&#34;&gt;https://suricata.io/2013/03/08/suricata-1-4-1-released/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur 0.8rc1 released</title>
      <link>https://inliniac.net/blog/2013/01/25/vuurmuur-0-8rc1-released/</link>
      <pubDate>Fri, 25 Jan 2013 16:45:34 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=723</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/08/vuurmuur-connview-small.png&#34; alt=&#34;&#34;&gt;I just released a new &lt;a href=&#34;http://www.vuurmuur.org&#34;&gt;Vuurmuur&lt;/a&gt; version: 0.8rc1. The first release candidate for the 0.8 series. This release improves IPv6 support a lot. The wizard is now also fully functional. Try &amp;ldquo;vuurmuur_conf &amp;ndash;wizard&amp;rdquo;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improved IPv6 support: #115&lt;/li&gt;
&lt;li&gt;Improved Debian packages, switching to nflog as default for logging.&lt;/li&gt;
&lt;li&gt;Fix connection viewer not showing accounting on newer systems. #141&lt;/li&gt;
&lt;li&gt;Amd64 packages for Debian and Ubuntu are now available through the apt server. #83&lt;/li&gt;
&lt;li&gt;Switch from &amp;ldquo;state&amp;rdquo; match to &amp;ldquo;conntrack&amp;rdquo; match for connection tracking.&lt;/li&gt;
&lt;li&gt;Services now support possible protocols. #63&lt;/li&gt;
&lt;li&gt;Add support for rpfilter match. #137&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Get this release from the ftp server:
&lt;a href=&#34;ftp://ftp.vuurmuur.org/releases/0.8rc1/Vuurmuur-0.8rc1.tar.gz&#34;&gt;ftp://ftp.vuurmuur.org/releases/0.8rc1/Vuurmuur-0.8rc1.tar.gz&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Suricata 1.3, 1.4 and &#34;next&#34;</title>
      <link>https://inliniac.net/blog/2012/12/14/on-suricata-1-3-1-4-and-next/</link>
      <pubDate>Fri, 14 Dec 2012 10:38:22 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=719</guid> 
      <description>&lt;p&gt;So with &lt;a href=&#34;http://suricata-ids.org/2012/12/13/suricata-1-4-released/&#34;&gt;1.4&lt;/a&gt; out the door we have a new stable. However, we&amp;rsquo;re keeping 1.3 around for a few more months to give everyone the chance to plan updating to 1.4. Of course, we think 1.4 is a lot better than anything we released before, so we do recommend updating as soon as you can.&lt;/p&gt;
&lt;p&gt;Continued support for 1.3 means we&amp;rsquo;ll do more releases to fix critical issues. We&amp;rsquo;ll probably include trivial fixes of smaller problems. When talking about critical issues I mean crash cases mostly. Anything else will be fixed only in 1.4 and up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.4 is out</title>
      <link>https://inliniac.net/blog/2012/12/13/suricata-1-4-is-out/</link>
      <pubDate>Thu, 13 Dec 2012 17:54:22 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=713</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;About 5 months after 1.3 came out we&amp;rsquo;ve released &lt;a href=&#34;http://suricata-ids.org/2012/12/13/suricata-1-4-released/&#34;&gt;1.4&lt;/a&gt;, and we&amp;rsquo;ve been quite busy. Eric Leblond&amp;rsquo;s post &lt;a href=&#34;https://home.regit.org/2012/12/some-statistics-about-suricata-1-4/&#34;&gt;here&lt;/a&gt; has all the stats and graphs. There are three big new features: &lt;a href=&#34;https://inliniac.net/blog/2012/11/29/closing-in-on-suricata-1-4/&#34; title=&#34;Closing in on Suricata 1.4&#34;&gt;unix socket&lt;/a&gt;, &lt;a href=&#34;https://inliniac.net/blog/2012/11/21/ip-reputation-in-suricata/&#34; title=&#34;IP Reputation in Suricata&#34;&gt;ip reputation&lt;/a&gt; and &lt;a href=&#34;https://inliniac.net/blog/2012/09/21/suricata-luajit-update/&#34; title=&#34;Suricata luajit update&#34;&gt;luajit&lt;/a&gt;. For each of these the same is true: it&amp;rsquo;s usesable now, but it&amp;rsquo;s the potential that we&amp;rsquo;re most excited about. Over the next months we&amp;rsquo;ll be extending each of those to be even more useful. We&amp;rsquo;re very much interested in ideas and feedback.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.4.1 is out</title>
      <link>https://inliniac.net/blog/2012/12/13/712/</link>
      <pubDate>Thu, 13 Dec 2012 16:52:58 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/2012/12/13/712/</guid> 
      <description>&lt;p&gt;First stable release in the 1.4 branch, right in time for the holidays. Enjoy!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://suricata.io/2013/03/08/suricata-1-4-1-released/&#34;&gt;https://suricata.io/2013/03/08/suricata-1-4-1-released/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>IPv6 Evasions, Scanners and the importance of staying current</title>
      <link>https://inliniac.net/blog/2012/12/11/ipv6-evasions-scanners-and-the-importance-of-staying-current/</link>
      <pubDate>Tue, 11 Dec 2012 16:13:49 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=709</guid> 
      <description>&lt;p&gt;Lots of activity on the IPv6 front lately. There was a talk on a conference on bypassing IDS using IPv6 tricks. Also a new scan tool (Topera) claimed to scan a host while staying below the radar of an IDS was released. To start with the latter, even though Suricata doesn&amp;rsquo;t have a dedicated port scan detector, the tool&amp;rsquo;s traffic lights up like a Christmas tree. The trick it pulls is to pack a lot of duplicate DST OPTS extension headers in the IPv6 packets. These options are just fillers, the only options they use are the &amp;ldquo;pad&amp;rdquo; option. In Suricata we&amp;rsquo;ve had an event for duplicate DST OPTS headers since 1.3 and the padding only headers generate an event in 1.4. Both alerts will be very noisy, so calling this a stealth attack rather dubious.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Closing in on Suricata 1.4</title>
      <link>https://inliniac.net/blog/2012/11/29/closing-in-on-suricata-1-4/</link>
      <pubDate>Thu, 29 Nov 2012 16:50:15 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=704</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;I just made &lt;a href=&#34;http://suricata-ids.org/2012/11/29/suricata-1-4rc1-available/&#34;&gt;Suricata 1.4rc1&lt;/a&gt; available with some pretty exciting features: unix socket mode and IP reputation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unix socket&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;First of all, &lt;a href=&#34;https://home.regit.org/2012/09/a-new-unix-command-mode-in-suricata/&#34;&gt;Eric Leblond&amp;rsquo;s work&lt;/a&gt; on the Unix socket was merged. The unix socket work consists of two parts. The unix socket protocol implementation and a new runmode.&lt;/p&gt;
&lt;p&gt;The protocol implementation is based on JSON messages over unix socket. Eric will be fully documenting it soon. Currently the commands are limited to shutting down and getting some basic stats. This part isn&amp;rsquo;t very exciting yet, but the groundwork for many future extensions has been laid.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IP Reputation in Suricata</title>
      <link>https://inliniac.net/blog/2012/11/21/ip-reputation-in-suricata/</link>
      <pubDate>Wed, 21 Nov 2012 19:22:01 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=696</guid> 
      <description>&lt;p&gt;&lt;em&gt;Disclaimer: this work was sponsored by &lt;a href=&#34;http://www.emergingthreatspro.com/&#34;&gt;Emerging Threats Pro&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One thing we&amp;rsquo;ve been talking about for many years at OISF is IP Reputation. The basic idea is that many organizations have information about specific IP-addresses. This information may be that a host is infected, acts as a spam relay or many other things. We&amp;rsquo;ve always thought it might be useful to apply this info to the IDS directly.&lt;/p&gt;
&lt;p&gt;In the last weeks I&amp;rsquo;ve developed code to load IP reputation information into Suricata. This code is now part of the Suricata git master, so it&amp;rsquo;s available to all.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Important Suricata update</title>
      <link>https://inliniac.net/blog/2012/11/01/important-suricata-update/</link>
      <pubDate>Thu, 01 Nov 2012 18:16:51 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=690</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;We just released &lt;a href=&#34;http://suricata-ids.org/2012/11/01/suricata-1-3-3-available/&#34;&gt;Suricata 1.3.3&lt;/a&gt; which contains some important accuracy fixes. Also, it should be much more robust against out of memory conditions.&lt;/p&gt;
&lt;p&gt;For those of you running Suricata in IPS mode, this is important as well. We found that rules that have the drop or reject actions, were not playing well with thresholding.&lt;/p&gt;
&lt;p&gt;So upgrading is highly recommended!&lt;/p&gt;
&lt;p&gt;Code changes are not too big, largest changes are due to some extra unittests:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interview about Suricata on security.nl</title>
      <link>https://inliniac.net/blog/2012/10/29/interview-about-suricata-on-security-nl/</link>
      <pubDate>Mon, 29 Oct 2012 15:34:47 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=685</guid> 
      <description>&lt;p&gt;The Dutch security site &lt;a href=&#34;http://www.security.nl&#34;&gt;security.nl&lt;/a&gt; has interviewed me about the &lt;a href=&#34;http://suricata-ids.org/&#34;&gt;Suricata IDS project&lt;/a&gt;. The two part (Dutch language) article can be found &lt;a href=&#34;http://www.security.nl/artikel/43662/1/Nederlander_bouwt_hacker-detectie_met_hulp_van_VS_%28Interview%29.html&#34;&gt;here&lt;/a&gt; and part two &lt;a href=&#34;http://www.security.nl/artikel/43696/1/Nederlander_wil_IDS-markt_veroveren_%28Interview%29.html&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks to Joran Polak of security.nl for giving me the opportunity to tell something about this project!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up an IPS with Fedora 17, Suricata and Vuurmuur</title>
      <link>https://inliniac.net/blog/2012/10/13/setting-up-an-ips-with-fedora-17-suricata-and-vuurmuur/</link>
      <pubDate>Sat, 13 Oct 2012 11:07:19 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=673</guid> 
      <description>&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/08/vuurmuur-connview-small.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
&lt;p&gt;I recently found out that Fedora includes Vuurmuur in it&amp;rsquo;s repositories. Since Suricata is also included, I figured I would do a quick write up on how to setup a Fedora IPS. While writing it turned more into a real &amp;ldquo;howto&amp;rdquo;, so I decided to submit it to Howtoforge.&lt;/p&gt;
&lt;p&gt;It can be found &lt;a href=&#34;http://www.howtoforge.com/how-to-set-up-an-ips-intrusion-prevention-system-on-fedora-17&#34;&gt;here one HowtoForge&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;Vuurmuur on Fedora is at the 0.7 version, which is still the current stable. It&amp;rsquo;s rather old though, and it reminds me again I need to make sure the 0.8 branch gets to a stable release soon. The Suricata included in Fedora 17 is 1.2.1, with &lt;a href=&#34;http://suricata-ids.org/2012/10/03/suricata-1-3-2-available/&#34;&gt;1.3.2&lt;/a&gt; expected to land any day now.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.4 development update</title>
      <link>https://inliniac.net/blog/2012/10/04/suricata-1-4-development-update/</link>
      <pubDate>Thu, 04 Oct 2012 16:51:40 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=660</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; Today, a day after &lt;a href=&#34;https://inliniac.net/blog/2012/10/03/suricata-1-3-2-is-out/&#34;&gt;1.3.2&lt;/a&gt;, we&amp;rsquo;ve released &lt;a href=&#34;http://suricata-ids.org/2012/10/04/suricata-1-4beta2-available-for-testing/&#34;&gt;1.4beta2&lt;/a&gt;. While 1.3.2 is an important update for those running 1.3.1 or lower, today&amp;rsquo;s release is where things get exciting. A lot of things were improved and added. Let me show some numbers first.&lt;/p&gt;
&lt;p&gt;The 1.4beta2 release is a pretty big update over 1.4beta1 as it touches over 5k lines of code:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;234 files changed, 5033 insertions(+), 3759 deletions(-)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Compared to 1.4beta2 vs yesterday&amp;rsquo;s 1.3.2 it&amp;rsquo;s clear over 11k lines of code are touched:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.3.2 is out</title>
      <link>https://inliniac.net/blog/2012/10/03/suricata-1-3-2-is-out/</link>
      <pubDate>Wed, 03 Oct 2012 15:38:28 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=650</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; Today we released Suricata 1.3.2. Not a big update, but there are some important fixes in the stream engine, fast_pattern:chop handling, HTTP multipart parsing and the flow keyword with &amp;ldquo;nostream&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;As the diff stat output shows, it&amp;rsquo;s a rather light maintenance update over 1.3.1:
[sourcecode]
ChangeLog | 12 ++
libhtp/configure.ac | 2 +-
libhtp/htp.pc.in | 2 +-
libhtp/htp/htp.h | 2 +-
src/app-layer-htp-file.c | 145 ++++++++++++++++++++++++
src/app-layer-htp.c | 192 ++++++++++++++++++++++++++&amp;mdash;&amp;mdash;
src/decode.c | 3 +
src/decode.h | 1 +
src/defrag.c | 4 +-
src/detect-engine-content-inspection.c | 9 &amp;ndash;
src/detect-flow.c | 68 ++++++++++-
src/source-af-packet.c | 9 ++
src/source-ipfw.c | 13 ++-
src/source-pfring.c | 28 ++&amp;mdash;
src/stream-tcp-reassemble.c | 1 +
src/util-cpu.c | 10 +-
16 files changed, 435 insertions(+), 66 deletions(-)
[/sourcecode]&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata luajit update</title>
      <link>https://inliniac.net/blog/2012/09/21/suricata-luajit-update/</link>
      <pubDate>Fri, 21 Sep 2012 14:49:54 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=639</guid> 
      <description>&lt;p&gt;After an exciting week of meeting and working with the team around the RAID conference, time for another lua update.&lt;/p&gt;
&lt;p&gt;The keyword supports an interesting set of buffers now:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;packet
payload&lt;/p&gt;
&lt;p&gt;http.uri
http.uri.raw
http.request_line
http.request_headers
http.request_headers.raw
http.request_cookie
http.request_user_agent
http.request_body&lt;/p&gt;
&lt;p&gt;http.response_headers
http.response_headers.raw
http.response_body
http.response_cookie&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The http keywords are now integrated into their respective inspection engines. This led to one important limitation for now: you can only inspect one such buffer per script.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First impressions of lua(jit) performance in Suricata</title>
      <link>https://inliniac.net/blog/2012/09/08/first-impressions-of-luajit-performance-in-suricata/</link>
      <pubDate>Sat, 08 Sep 2012 09:05:09 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=631</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34; alt=&#34;&#34;&gt;&lt;/a&gt; Today I decided to look into the potential performance of the luajit keyword a bit. It&amp;rsquo;s important to know if this can perform at reasonable speeds so that we can actually use it in real deployments. Even if we can&amp;rsquo;t the feature may still be appealing though, for offline pcap analysis.&lt;/p&gt;
&lt;p&gt;So far, the results are rather encouraging.&lt;/p&gt;
&lt;p&gt;First, I added 2 buffers today: http.uri, which contains the normalized uri (same buffer as the http_uri content modifier inspects) and http.request_line, which is the request line given to us by libhtp. This contains method, separators, uri, HTTP version.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata lua continued</title>
      <link>https://inliniac.net/blog/2012/09/07/suricata-lua-continued/</link>
      <pubDate>Fri, 07 Sep 2012 13:22:33 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=621</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34; alt=&#34;&#34;&gt;&lt;/a&gt; Today I improved the &lt;a href=&#34;https://inliniac.net/blog/2012/09/05/suricata-lua-jit-script-keyword/&#34;&gt;lua jit support&lt;/a&gt; in Suricata further. The scripts will now need to express their &amp;ldquo;needs&amp;rdquo; through an &amp;ldquo;init&amp;rdquo; function in the script that is called only at Suricata startup.&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;init&amp;rdquo; function fills a lua table. This will allow the user to indicate what buffers the script needs to inspect. The script will then only be invoked when these buffers are actually available, so the script won&amp;rsquo;t have to worry about whether or not some data is unavailable or not. Also, only these buffers are passed to the script, so safing the overhead of copying unnecessary buffers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First beta for Suricata 1.4</title>
      <link>https://inliniac.net/blog/2012/09/06/first-beta-for-suricata-1-4/</link>
      <pubDate>Thu, 06 Sep 2012 15:41:05 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=596</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; The first test release for the new Suricata 1.4 branch as just been released. Some really exciting stuff was added. Let me highlight some of it:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AF_PACKET IPS mode:&lt;/strong&gt; Eric Leblond has been working on extending the passive AF_PACKET support to support IPS as well. Eric has documented the new feature on his &lt;a href=&#34;https://home.regit.org/2012/09/new-af_packet-ips-mode-in-suricata/&#34;&gt;blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TLS logging and certificate storage:&lt;/strong&gt; created by contributor Jean-Paul Roliers under guidance of Eric Leblond. As a bonus, a rule keyword to match on certifcate fingerprints.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata development training update</title>
      <link>https://inliniac.net/blog/2012/09/05/suricata-development-training-update/</link>
      <pubDate>Wed, 05 Sep 2012 18:21:42 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=592</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/raid2012small.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/raid2012small.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; The Suricata development training at RAID 2012 next week is going to happen, so please all &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/162-rsvp-now&#34;&gt;RSVP&lt;/a&gt;. It&amp;rsquo;s free!&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re planning to attend, please let me know what topics you are interested in. We have core devs in the room, so we can go hardcore on everything from the threading to packet capture to CUDA to pattern matching&amp;hellip; also more straightforward stuff like extending Suricata with new keywords, log modules, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata lua (jit) script keyword</title>
      <link>https://inliniac.net/blog/2012/09/05/suricata-lua-jit-script-keyword/</link>
      <pubDate>Wed, 05 Sep 2012 16:01:10 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=585</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/lua.gif&#34; alt=&#34;&#34;&gt;&lt;/a&gt; So Will started bugging me (again) on doing scripting from Suricata and I gave in. Just committed extremely immature, incomplete, experimental luajit scripting support.&lt;/p&gt;
&lt;p&gt;What it does is that it adds a new keyword, &amp;ldquo;luajit&amp;rdquo;. There is one argument, a script name. That script is then loaded from your rules directory and ran against a packet. No flow, http or any of that right now, just packets.&lt;/p&gt;
&lt;p&gt;Example rule:
&lt;code&gt;alert tcp any any -&amp;gt; any any (msg:&amp;quot;LUAJIT test&amp;quot;; luajit:test.lua; sid:1;)&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur 0.8beta4 released</title>
      <link>https://inliniac.net/blog/2012/08/31/vuurmuur-0-8beta4-released/</link>
      <pubDate>Fri, 31 Aug 2012 13:20:08 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=581</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/08/vuurmuur-connview-small.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/08/vuurmuur-connview-small.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; I just released a new &lt;a href=&#34;http://www.vuurmuur.org&#34; title=&#34;Vuurmuur Firewall&#34;&gt;Vuurmuur&lt;/a&gt; version. The last release was in 2009, so it has been a while.&lt;/p&gt;
&lt;p&gt;This release adds basic IPv6 support. The state of the IPv6 support is incomplete, but quite functional.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Supported features are:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- rules generation
- log viewing
- setting IPv6 addresses in hosts, networks and interfaces&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unsupported features are:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;- connection viewer
- NAT
- blocklist
- IPv6 address to Vuurmuur name conversion in the log&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.3.1 is out</title>
      <link>https://inliniac.net/blog/2012/08/21/suricata-1-3-1-is-out/</link>
      <pubDate>Tue, 21 Aug 2012 10:48:27 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=578</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; Since this morning Suricata 1.3.1 is available. The main focus of this release was fixing a number of bugs. See the &lt;a href=&#34;https://redmine.openinfosecfoundation.org/versions/32&#34;&gt;list of closed bugs&lt;/a&gt;, the &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/161-suricata-131-available&#34;&gt;release notes&lt;/a&gt; and the &lt;a href=&#34;https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Upgrading_Suricata_13_to_Suricata_131&#34;&gt;upgrade instructions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As a bonus, I applied a set of patches by &lt;a href=&#34;https://home.regit.org/&#34;&gt;Eric Leblond&lt;/a&gt;. Eric has been trying to push AF_PACKET to the limit and has achieved some spectacular results with it. Read all about his quest to get to 10Gbps here on &lt;a href=&#34;https://home.regit.org/2012/07/suricata-to-10gbps-and-beyond/&#34;&gt;Eric&amp;rsquo;s blog&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata development training</title>
      <link>https://inliniac.net/blog/2012/07/13/suricata-development-training/</link>
      <pubDate>Thu, 12 Jul 2012 23:13:18 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=576</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/raid2012small.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/09/raid2012small.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; We&amp;rsquo;re considering to offer a Suricata development training day around the next OISF brainstorm meeting. That would be in Amsterdam around the RAID conference, in early September.&lt;/p&gt;
&lt;p&gt;Topics we could cover:&lt;/p&gt;
&lt;p&gt;- code/development overview
- create/extend detect module
- create/extend output module
- app layer module
- proto detection
- &amp;hellip;&lt;/p&gt;
&lt;p&gt;The training would probably be free as it&amp;rsquo;s an excercise for us as well, so we&amp;rsquo;d just want honest feedback in return :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata on Myricom capture cards</title>
      <link>https://inliniac.net/blog/2012/07/10/suricata-on-myricom-capture-cards/</link>
      <pubDate>Tue, 10 Jul 2012 15:22:02 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=564</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/myricom-sync-adapter-1.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/myricom-sync-adapter-1.png?w=300&#34; alt=&#34;&#34;&gt;&lt;/a&gt; Myricom and OISF just &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/158-myricom-joins-oisf&#34;&gt;announced&lt;/a&gt; that Myricom joined to OISF consortium to support the development of Suricata. The good folks at Myricom already sent me one of their cards earlier. In this post I&amp;rsquo;ll describe how you can use these cards already, even though Suricata doesn&amp;rsquo;t have native Myricom support yet. So in this guide I&amp;rsquo;ll describe using the Myricom libpcap support.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Getting started&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m going to assume you installed the card properly, installed the Sniffer driver and made sure that all works. Make sure that in your &lt;em&gt;dmesg&lt;/em&gt; you see that the card is in sniffer mode:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata http_user_agent vs http_header</title>
      <link>https://inliniac.net/blog/2012/07/09/suricata-http_user_agent-vs-http_header/</link>
      <pubDate>Mon, 09 Jul 2012 18:43:12 +0000</pubDate>
       <guid isPermaLink="false">http://blog.inliniac.net/?p=541</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/ua-ws.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/ua-ws.png?w=300&#34; alt=&#34;&#34;&gt;&lt;/a&gt; One of the new features in Suricata 1.3 is a new content modifier called &lt;em&gt;http_user_agent&lt;/em&gt;. This allows rule writers to match on the User-Agent header in HTTP requests more efficiently. The new keyword is documented in the OISF &lt;a href=&#34;https://redmine.openinfosecfoundation.org/projects/suricata/wiki/HTTP-keywords&#34;&gt;wiki&lt;/a&gt;. In this post, I&amp;rsquo;ll show it&amp;rsquo;s efficiency with two examples.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example 1: rarely matching UA&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Consider a signature where the match if on a part of the UA that is very rare, so not part of regular User Agents. In my example &amp;ldquo;abc&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.3 released</title>
      <link>https://inliniac.net/blog/2012/07/06/suricata-1-3-released/</link>
      <pubDate>Fri, 06 Jul 2012 16:06:52 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=534</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/07/suricata2.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; Today, almost half a year after the last &amp;ldquo;stable&amp;rdquo; release, we released Suricata 1.3. I think this release is a big step forward with regard to maturity of Suricata. Performance and scalability have been much improved, just like accuracy and stability.&lt;/p&gt;
&lt;p&gt;The official announcement can be found on the &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/157-suricata-13-available&#34;&gt;OISF site&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the last 6 months a lot of code has been changed:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;384 files changed, 44332 insertions(+), 18478 deletions(-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata MD5 blacklisting</title>
      <link>https://inliniac.net/blog/2012/06/09/suricata-md5-blacklisting/</link>
      <pubDate>Sat, 09 Jun 2012 08:52:22 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=523</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/06/md5.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/06/md5.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt; For a few months Suricata has been able to calculate the MD5 checksum of files it sees in HTTP streams. Regardless of extraction to disk, the MD5 could be calculated and logged. Martin Holste created a set of very cool scripts to use the logged MD5 to look it up at VirusTotal and some other similar services. This is done outside of Suricata. One thing I have been wanting to try is matching against these MD5&amp;rsquo;s in Suricata itself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata scaling improvements</title>
      <link>https://inliniac.net/blog/2012/05/29/suricata-scaling-improvements/</link>
      <pubDate>Tue, 29 May 2012 15:52:52 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=511</guid> 
      <description>&lt;p&gt;For the Suricata 1.3beta1 release, one of our goals was to improve the scalability of the engine when running on many cores. As the graph below shows, we made a good deal of progress.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/05/suri11vs13.png&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2012/05/suri11vs13.png&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The blue line is an older 1.1 version, the yellow line is 1.3dev. It clearly shows that 1.1 peaked at 4 cores, then started to get serious contention issues. 1.3dev scales nicely beyond that, up to 24 cores in this test (four 6core AMD cpu&amp;rsquo;s). Tilera recently demonstrated Suricata on their many core systems, running a single Suricata process per cpu. Their cpu&amp;rsquo;s have 36 real cores.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata runmode changes</title>
      <link>https://inliniac.net/blog/2012/03/23/suricata-runmode-changes/</link>
      <pubDate>Fri, 23 Mar 2012 07:31:45 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=505</guid> 
      <description>&lt;p&gt;Yesterday I pushed a patch that changes the default runmode from &amp;ldquo;auto&amp;rdquo; to &amp;ldquo;autofp&amp;rdquo;. The autofp name stands for &amp;ldquo;auto flow pinning&amp;rdquo; and it automatically makes sure all packets belonging to a flow are processed by the same stream, detection and output thread. Until now, the assignment was done with a simple hash calculation. The problem with that is that it doesn&amp;rsquo;t take into account how busy a thread may be.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello Planet!</title>
      <link>https://inliniac.net/blog/2012/03/23/hello-planet/</link>
      <pubDate>Fri, 23 Mar 2012 07:27:44 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=501</guid> 
      <description>&lt;p&gt;We recently set up a Planet for Suricata, see the official announcement &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/148-planet-suricata-launched&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All my posts tagged &amp;ldquo;suricata&amp;rdquo; will automatically appear on it. Excited about it!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://planet.suricata-ids.org/&#34;&gt;https://planet.suricata-ids.org/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>F-Secure AV updates and Suricata IPS</title>
      <link>https://inliniac.net/blog/2012/03/07/f-secure-av-updates-and-suricata-ips/</link>
      <pubDate>Wed, 07 Mar 2012 07:28:38 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=496</guid> 
      <description>&lt;p&gt;My ISP recently started providing 3 F-Secure AV copies to each of their customers. I installed it but noticed that updates timed out.&lt;/p&gt;
&lt;p&gt;It turned out that Suricata, which runs in IPS mode, blocked the update. There were 3 Emerging Threats rules that alerted:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[1:2003614:4] ET VIRUS WinUpack Modified PE Header Inbound
[1:2009557:2] ET TROJAN Yoda&amp;rsquo;s Protector Packed Binary
[1:2012086:2] ET SHELLCODE Possible Call with No Offset TCP Shellcode&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It seems that F-Secure uses some form of packed binaries for their updates that is often used by malware.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recovering the email/username in Snorby</title>
      <link>https://inliniac.net/blog/2012/02/22/recovering-the-emailusername-in-snorby/</link>
      <pubDate>Wed, 22 Feb 2012 15:16:46 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=491</guid> 
      <description>&lt;p&gt;I use a Snorby setup that comes with Security Onion. Recently I had changed the username, but I couldn&amp;rsquo;t remember what I had set it to.&lt;/p&gt;
&lt;p&gt;To recover the username, we can look it up in the database, like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mysql -uroot -B -e &#39;use snorby; select email from users;&#39;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Thanks to Doug Burks and Dustin Webber for helping me recover it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HTTP parsing events in Suricata</title>
      <link>https://inliniac.net/blog/2012/01/11/http-parsing-events-in-suricata/</link>
      <pubDate>Wed, 11 Jan 2012 19:09:17 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=487</guid> 
      <description>&lt;p&gt;With the 1.2rc1 release you will notice no more HTTP errors on the screen. Or SMTP errors. This output has been disabled finally. This was a long time annoyance.&lt;/p&gt;
&lt;p&gt;As you may still be interested in the errors they are now available through the rule language. In rules/http-events.rules and rules/smtp-events.rules rules for all possible events/errors can be found.&lt;/p&gt;
&lt;p&gt;Example:
&lt;code&gt;app-layer-event:http.missing_host_header;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This will match on HTTP/1.1 requests without a Host header.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.1.1 released</title>
      <link>https://inliniac.net/blog/2011/12/07/suricata-1-1-1-released/</link>
      <pubDate>Wed, 07 Dec 2011 18:34:50 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=482</guid> 
      <description>&lt;p&gt;A maintenance update for the Suricata 1.1 series was just released. It fixed an important issue. In some cases Suricata could crash on SMTP traffic.&lt;/p&gt;
&lt;p&gt;The full announcement for the 1.1.1 release is &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/140-suricata-111-available&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Naturally, the issue has also been fixed in the 1.2 development branch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>File extraction in Suricata</title>
      <link>https://inliniac.net/blog/2011/11/29/file-extraction-in-suricata/</link>
      <pubDate>Tue, 29 Nov 2011 16:27:27 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=467</guid> 
      <description>&lt;p&gt;Today I pushed out a new feature in Suricata I&amp;rsquo;m very excited about. It has been long in the making and with over 6000 new lines of code it&amp;rsquo;s a significant effort. It&amp;rsquo;s available in the current git master. I&amp;rsquo;d consider it alpha quality, so handle with care.&lt;/p&gt;
&lt;p&gt;So what is this all about? Simply put, we can now extract files from HTTP streams in Suricata. Both uploads and downloads. Fully controlled by the rule language. But thats not all. I&amp;rsquo;ve added a touch of magic. By utilizing libmagic (this powers the &amp;ldquo;file&amp;rdquo; command), we know the file type of files as well. Lots of interesting stuff that can be done there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.1 released, 1.2 on the horizon</title>
      <link>https://inliniac.net/blog/2011/11/10/suricata-1-1-released-1-2-on-the-horizon/</link>
      <pubDate>Thu, 10 Nov 2011 16:51:52 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=463</guid> 
      <description>&lt;p&gt;Today we released &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/139-suricata-11-available&#34;&gt;Suricata 1.1&lt;/a&gt;. This ends a rather long development cycle of more than a year. And it shows. Performance, accuracy and features were all greatly improved. I think it&amp;rsquo;s the best Suricata so far. If you&amp;rsquo;ve been looking at trying Suricata, now might be a good time to jump in.&lt;/p&gt;
&lt;p&gt;The long development cycles should be something of the past. At our last brainstorm session, at RAID 2011, we decided to change our release policy. The aim of this policy is to do time based releases, roughly a &amp;ldquo;stable&amp;rdquo; every 2 months and a beta every other month. This way we&amp;rsquo;ll be making it much easier for users to stay current without have to run our &amp;ldquo;git master&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata and PCRE performance</title>
      <link>https://inliniac.net/blog/2011/10/12/suricata-and-pcre-performance/</link>
      <pubDate>Wed, 12 Oct 2011 18:26:19 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=450</guid> 
      <description>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Will Metcalf &lt;a href=&#34;https://twitter.com/#!/node5/status/124193666377064448&#34;&gt;pointed out&lt;/a&gt; I was missing the &amp;ndash;enable-utf8 &amp;ndash;enable-unicode-properties flags from PCRE, so added these &amp;amp; updated the numbers. Thanks Will.&lt;/p&gt;
&lt;p&gt;In the Emerging Threats community the following if often heard: &amp;ldquo;PCRE is evil&amp;rdquo;. With this people refer to signatures that use &amp;ldquo;pure&amp;rdquo; PCRE matches, meaning without anchoring it to a content pattern match.&lt;/p&gt;
&lt;p&gt;A while ago Will Metcalf initiated work to get Suricata to support a new PCRE feature by Herczeg Zoltán: &lt;a href=&#34;http://sljit.sourceforge.net/pcre.html&#34;&gt;SLJIT&lt;/a&gt;. Since then, support for this has found it&amp;rsquo;s way into the official PCRE release, currently at version &lt;a href=&#34;https://lists.exim.org/lurker/message/20111011.103546.de2e9e31.en.html&#34;&gt;8.20-RC3&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RAID 2011 Thoughts</title>
      <link>https://inliniac.net/blog/2011/09/24/raid-2011-thoughts/</link>
      <pubDate>Sat, 24 Sep 2011 16:09:24 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=443</guid> 
      <description>&lt;p&gt;The last few days I&amp;rsquo;ve been at the Recent Advances in Intrusion Detection (RAID) conference in California. Overall it has been a very pleasant and interesting experience. The nice California weather was certainly helping a lot!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve seen all talks and some were very interesting. However, being a Suricata IDS developer, I was not just interested in research for the hell of it, but I was actively scouting for ideas we could implement into Suricata. In this respect the conference was highly disappointing. Although with some of the talks I thought the idea was applicable in general security, like Erik Bosmans high speed memory tainting detection, I found nothing like that for NIDS.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Upgrading Sguil 0.7.0 to 0.8.0 from CVS</title>
      <link>https://inliniac.net/blog/2011/06/17/upgrading-sguil-0-7-0-to-0-8-0-from-cvs/</link>
      <pubDate>Fri, 17 Jun 2011 07:15:14 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=435</guid> 
      <description>&lt;p&gt;Sguil 0.8.0 was recently released, so it was time for an upgrade. Since I remembered the last major upgrade to be quite a bit of work I wasn&amp;rsquo;t looking forward to the new upgrade. However, to my surprise it was a breeze. Here is what I did.&lt;/p&gt;
&lt;p&gt;On my Sguild server called &amp;ldquo;owl&amp;rdquo; &amp;ndash; I&amp;rsquo;d like to think it&amp;rsquo;s very wise &amp;ndash; I first went to my sguil directory, where the CVS checkout lives. There I did a &amp;ldquo;cvs up&amp;rdquo;. Next it was time to upgrade the database:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur IPv6</title>
      <link>https://inliniac.net/blog/2011/03/31/vuurmuur-ipv6/</link>
      <pubDate>Thu, 31 Mar 2011 21:14:43 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=432</guid> 
      <description>&lt;p&gt;The last few years Vuurmuur development has been very slow, not to say pretty much stagnant. This had a couple of reasons. The first is that my attention was drawn to other projects, mostly Suricata these days. The second reason is that Vuurmuur pretty much does all I want. The third reason is that despite some minor contributions, no other developer has stepped up to take over.&lt;/p&gt;
&lt;p&gt;Meanwhile, people continued using Vuurmuur, it made it&amp;rsquo;s way into Debian, got removed from it again, made it&amp;rsquo;s way into Ubuntu. Lately, every few weeks someone would ask me if Vuurmuur was still being developed. My answer always was &amp;ldquo;yes, but very slowly&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata IPS improvements</title>
      <link>https://inliniac.net/blog/2011/01/31/suricata-ips-improvements/</link>
      <pubDate>Mon, 31 Jan 2011 20:51:25 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=429</guid> 
      <description>&lt;p&gt;January has been a productive month for Suricata, especially for the IPS part of it. I&amp;rsquo;ve quite some time on adding support to the stream engine to operate differently when running inline. This was needed as dropping attacks found in the reassembled stream or the application layer was not reliable. Up until now the stream engine would offer the reassembled stream to the detection engine as soon as it was ACK&amp;rsquo;d. This meant that by definition the packets containing the data had already passed the IPS device. Simply switching to sending un-ACK&amp;rsquo;d data to the detection engine would have it&amp;rsquo;s own set of issues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>One year of (public) Suricata</title>
      <link>https://inliniac.net/blog/2010/12/31/one-year-of-public-suricata/</link>
      <pubDate>Fri, 31 Dec 2010 19:36:42 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=425</guid> 
      <description>&lt;p&gt;Today exactly one year ago we released the first public version of Suricata, tagged 0.8.0. It was the first beta version. Six months later we released Suricata 1.0.0, the first stable release. Since then we&amp;rsquo;ve been doing 3 more releases: 1.0.1, 1.0.2 and 1.1 beta 1.&lt;/p&gt;
&lt;p&gt;It has been an very exciting year, with a lot of press and community interest for our project. Also, a lot of work has been done in the past year. I already wrote that our performance has increased &lt;a href=&#34;http://www.inliniac.net/blog/2010/12/18/suricata-development-update.html&#34;&gt;a lot&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Listening on multiple interfaces with Suricata</title>
      <link>https://inliniac.net/blog/2010/12/24/listening-on-multiple-interfaces-with-suricata/</link>
      <pubDate>Fri, 24 Dec 2010 13:13:24 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=421</guid> 
      <description>&lt;p&gt;A question I see quite often is, can I listen on multiple interfaces with a single Suricata instance? Until now the answer always was &amp;ldquo;no&amp;rdquo;. I&amp;rsquo;d suggest trying the &amp;ldquo;any&amp;rdquo;-pseudo interface (suricata -i any), with an bpf to limit the traffic or using multiple instances of Suricata. That last suggestion was especially painful, as one of the goals of Suricata is to allow a single process to process all packets using all available resources.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.1 beta 1 released</title>
      <link>https://inliniac.net/blog/2010/12/21/suricata-1-1beta1-released/</link>
      <pubDate>Tue, 21 Dec 2010 17:56:32 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=417</guid> 
      <description>&lt;p&gt;Today we&amp;rsquo;ve released Suricata 1.1 beta 1, the first beta of the upcoming Suricata 1.1 release. The official release announcement is &lt;a href=&#34;http://openinfosecfoundation.org/index.php/component/content/article/1-latest-news/108-suricata-11-beta-1-released&#34;&gt;here on the OISF website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The main focus of the new release has been to improve performance and to add support to the features the new ET/ETpro ruleset needs. ET and ETpro have rulesets specially tuned and geared for Suricata. We&amp;rsquo;re still missing some new rule keywords that are used by VRT, so in the 1.1 beta 2 release we&amp;rsquo;ll address that.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata development update</title>
      <link>https://inliniac.net/blog/2010/12/18/suricata-development-update/</link>
      <pubDate>Fri, 17 Dec 2010 22:39:48 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=411</guid> 
      <description>&lt;p&gt;The last months we&amp;rsquo;ve been working hard on improving Suricata. So hard actually, that we&amp;rsquo;ve drifted a bit from our original goal of doing a 1.0.3 &amp;ldquo;maintenance&amp;rdquo; release. Instead, the new release will be 1.1beta1. The change to 1.1 is to indicate the large number of changes, the beta1 is to &amp;hellip; indicate the large number of changes :)&lt;/p&gt;
&lt;p&gt;As you may know, Will Metcalf moved on to join Qualys. A significant loss to our project as Will was one of our founding members and is hard to replace in his role as QA lead. Not having a full time QA person on the team right now is a reason for us to decide we&amp;rsquo;re in need of a beta cycle for the next release.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Speeding up Suricata with tcmalloc</title>
      <link>https://inliniac.net/blog/2010/10/21/speeding-up-suricata-with-tcmalloc/</link>
      <pubDate>Thu, 21 Oct 2010 12:10:33 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=407</guid> 
      <description>&lt;p&gt;&amp;rsquo;tcmalloc&amp;rsquo; is a library Google created as part of the &lt;a href=&#34;http://code.google.com/p/google-perftools/&#34;&gt;google-perftools suite&lt;/a&gt; for speeding up memory handling in a threaded program. It&amp;rsquo;s very simple to use and does work fine with Suricata. Don&amp;rsquo;t expect magic from it, but it should give you a few percent more speed.&lt;/p&gt;
&lt;p&gt;On Ubuntu, install the libtcmalloc-minimal0 package:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;apt-get install libtcmalloc-minimal0&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Then run Suricata as follows (on a single line):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;LD_PRELOAD=&amp;quot;/usr/lib/libtcmalloc_minimal.so.0&amp;quot; ./src/suricata -c suricata.yaml -i eth0&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improving Suricata performance with bitmask based signature prefiltering</title>
      <link>https://inliniac.net/blog/2010/10/01/improving-suricata-performance-with-bitmask-based-signature-prefiltering/</link>
      <pubDate>Fri, 01 Oct 2010 09:49:26 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=399</guid> 
      <description>&lt;p&gt;The last weeks I&amp;rsquo;ve been spending quite a bit of time improving Suricata&amp;rsquo;s performance, making good progress. I did a lot of optimizations all over the code, but the most significant is a new way of prefiltering signatures for inspection. I&amp;rsquo;ll briefly explain the concept here.&lt;/p&gt;
&lt;p&gt;But first a quick explanation of how Suricata selects signatures for inspection. When Suricata starts, it organizes signatures into groups, called SigGroupHead in the code. To reduce the number of signatures that need inspection for each packet, the grouping is done on quite a few properties: flow direction, protocol, src ip, dst ip, src port, dst port. Even though this grouping is quite aggressive, a single SigGroupHead can still contain many thousands of signatures. For example Emerging Threats web-client sigs will almost all end up in the same SigGroupHead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.0.2 released</title>
      <link>https://inliniac.net/blog/2010/09/02/suricata-1-0-2-released/</link>
      <pubDate>Thu, 02 Sep 2010 17:36:38 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=391</guid> 
      <description>&lt;p&gt;After some well deserved vacation I&amp;rsquo;m getting back up to speed in Suricata development. Luckily most of our dev team continued to work in my absence, making today&amp;rsquo;s 1.0.2 release possible.&lt;/p&gt;
&lt;p&gt;The main focus of this release was fixing the TCP stream engine. &lt;a href=&#34;http://twitter.com/judy_novak&#34;&gt;Judy Novak&lt;/a&gt; found a number of ways to evade detection. See her &lt;a href=&#34;http://www.packetstan.com/2010/09/suricata-tcp-evasions.html&#34;&gt;blog post&lt;/a&gt; describing the issues.&lt;/p&gt;
&lt;p&gt;The biggest other change is the addition of a new application layer module. The SSH parser parses SSH sessions and stops detection/inspection of the stream after the encrypted part of the session has started. So this is mainly a module focused on reducing the number of packets that need inspection, just like the SSL and TLS modules.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.0.1 released</title>
      <link>https://inliniac.net/blog/2010/07/29/suricata-1-0-1-released/</link>
      <pubDate>Thu, 29 Jul 2010 19:38:06 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=388</guid> 
      <description>&lt;p&gt;After a 1.0 release that certainly didn&amp;rsquo;t go unnoticed, it&amp;rsquo;s now time for the first maintenance release. The main focus of this release was improving detection accuracy. A large number of false positives and false negatives were fixed. Read the full announcement &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/102-suricata-101-released&#34;&gt;here&lt;/a&gt;, the list of fixed issues &lt;a href=&#34;https://redmine.openinfosecfoundation.org/versions/show/10&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are still a number of open issues with regard to accuracy. Those will be addressed in 1.0.2, scheduled for late August, early September. We&amp;rsquo;re working on improving CUDA, stream engine improvements and inline mode as well. Keep an eye on &lt;a href=&#34;https://redmine.openinfosecfoundation.org/versions/show/12&#34;&gt;redmine&lt;/a&gt; for the open and fixed issues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On Suricata performance</title>
      <link>https://inliniac.net/blog/2010/07/22/on-suricata-performance/</link>
      <pubDate>Thu, 22 Jul 2010 08:26:54 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=384</guid> 
      <description>&lt;p&gt;Lots of fuzz in the media about Suricata&amp;rsquo;s performance versus Snort yesterday. Some claiming Suricata is much faster, others claiming Snort is much faster.&lt;/p&gt;
&lt;p&gt;At this point I really don&amp;rsquo;t care much. What the Suricata development by the OISF has shown in my opinion is that we&amp;rsquo;ve managed to create a very promising new Open Source project out here. In little over a year, funded for about $600k by the US government and with heavy (and growing) industry support, we&amp;rsquo;ve produced a new IDS/IPS engine mostly compatible with Snort but build on a all new code base an incorporating some very interesting fresh ideas. We&amp;rsquo;re already seeing a community form around our project with a lot of support from that new community.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 1.0.0 released</title>
      <link>https://inliniac.net/blog/2010/07/01/suricata-1-0-0-released/</link>
      <pubDate>Thu, 01 Jul 2010 16:21:11 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=379</guid> 
      <description>&lt;p&gt;After many months of hard work by the development team of the OISF, we have just released the first stable release of Suricata: &lt;a href=&#34;http://openinfosecfoundation.org/index.php/component/content/article/1-latest-news/98-suricata-100-released&#34;&gt;1.0.0&lt;/a&gt;. I&amp;rsquo;m really proud we pulled it off to create this stable release and to do it on time.&lt;/p&gt;
&lt;p&gt;I think it&amp;rsquo;s a good release too. Is it perfect? No, we have a list &lt;a href=&#34;https://redmine.openinfosecfoundation.org/projects/suricata/wiki/Known_issues&#34;&gt;known issues&lt;/a&gt; that we will continue to work on. So expect a &lt;a href=&#34;http://redmine.openinfosecfoundation.org/versions/show/10&#34;&gt;1.0.1&lt;/a&gt; and maybe more maintenance releases in the following weeks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Ohloh</title>
      <link>https://inliniac.net/blog/2010/06/30/ohloh/</link>
      <pubDate>Wed, 30 Jun 2010 08:47:54 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=374</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;https://www.ohloh.net/&#34;&gt;Ohloh&lt;/a&gt; is a pretty cool site for keeping track of projects and programmers. It&amp;rsquo;s an easy way to keep track of the development in a project and gives a nice indication of how actively it&amp;rsquo;s being developed. It has some social networkish features too, such as individual developers giving each other &amp;ldquo;kudos&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The code analysis is pretty nice: it gives statistics on code base size, growth, comment ratio, languages used, etc. Per developer it tracks quite a few stats as well.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Suricata 0.9.0 for initial use on Ubuntu Lucid 10.04</title>
      <link>https://inliniac.net/blog/2010/05/10/setting-up-suricata-0-9-0-for-initial-use-on-ubuntu-lucid-10-04/</link>
      <pubDate>Mon, 10 May 2010 14:27:25 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=366</guid> 
      <description>&lt;p&gt;The last few days I blogged about compiling Suricata in &lt;a href=&#34;http://www.inliniac.net/blog/2010/05/07/compiling-suricata-0-9-0-in-ubuntu-lucid-10-04-in-ids-mode.html&#34;&gt;IDS&lt;/a&gt; and &lt;a href=&#34;http://www.inliniac.net/blog/2010/05/07/compiling-suricata-0-9-0-in-ubuntu-lucid-10-04-in-ips-inline-mode.html&#34;&gt;IPS&lt;/a&gt; mode. Today I&amp;rsquo;ll write about how to set it up for first use.&lt;/p&gt;
&lt;p&gt;Starting with Suricata 0.9.0 the engine can run as an unprivileged user. For this create a new user called &amp;ldquo;suricata&amp;rdquo;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;useradd &amp;ndash;no-create-home &amp;ndash;shell /bin/false &amp;ndash;user-group &amp;ndash;comment &amp;ldquo;Suricata IDP account&amp;rdquo; suricata&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This command will create a user and group called &amp;ldquo;suricata&amp;rdquo;. It will be unable to login as the shell is set to /bin/false.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compiling Suricata 0.9.0 in Ubuntu Lucid 10.04 in IPS (inline) mode</title>
      <link>https://inliniac.net/blog/2010/05/07/compiling-suricata-0-9-0-in-ubuntu-lucid-10-04-in-ips-inline-mode/</link>
      <pubDate>Fri, 07 May 2010 08:30:30 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=360</guid> 
      <description>&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; the difference with the &lt;a href=&#34;http://www.inliniac.net/blog/2010/05/01/compiling-suricata-0-8-2-in-ubuntu-lucid-10-04-in-ips-inline-mode.html&#34;&gt;0.8.2 post&lt;/a&gt; is that addition of libcap-ng-dev. This allows Suricata to run as an unprivileged user.&lt;/p&gt;
&lt;p&gt;Here is how to compile Suricata 0.9.0 in &lt;em&gt;inline mode&lt;/em&gt; on Ubuntu Lucid 10.04.&lt;/p&gt;
&lt;p&gt;First, make sure you have the &amp;ldquo;universe&amp;rdquo; repository enabled. Go to the System menu, Administration, Software Sources. There enable &amp;ldquo;Community-maintained Open Source Software (universe)&amp;rdquo;. If you&amp;rsquo;re not running a gui, edit /etc/apt/sources.list and enable the universe repository there. Don&amp;rsquo;t forget doing an &amp;ldquo;apt-get update&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compiling Suricata 0.9.0 in Ubuntu Lucid 10.04 in IDS mode</title>
      <link>https://inliniac.net/blog/2010/05/07/compiling-suricata-0-9-0-in-ubuntu-lucid-10-04-in-ids-mode/</link>
      <pubDate>Fri, 07 May 2010 08:16:53 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=356</guid> 
      <description>&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; the difference with the &lt;a href=&#34;http://www.inliniac.net/blog/2010/04/30/compiling-suricata-0-8-2-in-ubuntu-lucid-10-04-in-ids-mode.html&#34;&gt;0.8.2 post&lt;/a&gt; is that addition of libcap-ng-dev. This allows Suricata to run as an unprivileged user.&lt;/p&gt;
&lt;p&gt;Ubuntu Lucid 10.04 LTS looks like a good platform for running an IDS on. It&amp;rsquo;s up to date and has long term support. Here is how to compile and install Suricata 0.9.0 on it.&lt;/p&gt;
&lt;p&gt;Install the following packages needed to build Suricata: libpcre3-dev libpcap-dev libyaml-dev zlib1g-dev libcap-ng-dev.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;apt-get install libpcre3-dev libpcap-dev libyaml-dev zlib1g-dev libcap-ng-dev&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 0.9.0 released</title>
      <link>https://inliniac.net/blog/2010/05/07/suricata-0-9-0-released/</link>
      <pubDate>Fri, 07 May 2010 08:08:45 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=351</guid> 
      <description>&lt;p&gt;Yesterday we released we first release candidate for our upcoming 1.0 release of Suricata. See the announcement on the OISF site &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/93-suricata-rc1-released&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Most notable changes are the following new features:&lt;/p&gt;
&lt;p&gt;- Support for the http_headers keyword was added&lt;/p&gt;
&lt;p&gt;- libhtp was updated to version 0.2.3&lt;/p&gt;
&lt;p&gt;- Privilege dropping using libcap-ng is now supported&lt;/p&gt;
&lt;p&gt;- Proper support for &amp;ldquo;pass&amp;rdquo; rules was added&lt;/p&gt;
&lt;p&gt;- Inline mode for Windows was added&lt;/p&gt;
&lt;p&gt;Go get the release here: &lt;a href=&#34;http://www.openinfosecfoundation.org/download/suricata-0.9.0.tar.gz&#34;&gt;http://www.openinfosecfoundation.org/download/suricata-0.9.0.tar.gz&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compiling Suricata 0.8.2 in Ubuntu Lucid 10.04 in IPS (inline) mode</title>
      <link>https://inliniac.net/blog/2010/05/01/compiling-suricata-0-8-2-in-ubuntu-lucid-10-04-in-ips-inline-mode/</link>
      <pubDate>Sat, 01 May 2010 19:45:12 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=347</guid> 
      <description>&lt;p&gt;Yesterday I &lt;a href=&#34;http://www.inliniac.net/blog/2010/04/30/compiling-suricata-0-8-2-in-ubuntu-lucid-10-04-in-ids-mode.html&#34;&gt;wrote&lt;/a&gt; about how to compile and install Suricata 0.8.2 as an IDS on Ubuntu Lucid 10.04, today I&amp;rsquo;ll explain the steps to compile and install it as an IPS. In IPS mode the engine runs in &lt;em&gt;inline&lt;/em&gt; mode. This means that it gets it&amp;rsquo;s packets from &lt;a href=&#34;http://www.netfilter.org/&#34;&gt;netfilter&lt;/a&gt; and sets a verdict on them after inspecting them. This way we can drop packets that trigger the rules.&lt;/p&gt;
&lt;p&gt;First, make sure you have the &amp;ldquo;universe&amp;rdquo; repository enabled. Go to the System menu, Administration, Software Sources. There enable &amp;ldquo;Community-maintained Open Source Software (universe)&amp;rdquo;. If you&amp;rsquo;re not running a gui, edit /etc/apt/sources.list and enable the universe repository there. Don&amp;rsquo;t forget doing an &amp;ldquo;apt-get update&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compiling Suricata 0.8.2 in Ubuntu Lucid 10.04 in IDS mode</title>
      <link>https://inliniac.net/blog/2010/04/30/compiling-suricata-0-8-2-in-ubuntu-lucid-10-04-in-ids-mode/</link>
      <pubDate>Fri, 30 Apr 2010 18:35:51 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=343</guid> 
      <description>&lt;p&gt;The newly released Ubuntu Lucid 10.04 LTS looks like a good platform for running an IDS on. It&amp;rsquo;s up to date and has long term support. Here is how to compile and install Suricata 0.8.2 on it.&lt;/p&gt;
&lt;p&gt;Install the following packages needed to build Suricata: libpcre3-dev libpcap-dev libyaml-dev zlib1g-dev.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;apt-get install libpcre3-dev libpcap-dev libyaml-dev zlib1g-dev&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Download Suricata 0.8.2 &lt;a href=&#34;http://www.openinfosecfoundation.org/download/suricata-0.8.2.tar.gz&#34;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Extract the suricata-0.8.2.tar.gz file as follows:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;tar xzvf suricata-0.8.2.tar.gz&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Enter the extracted directory suricata-0.8.2.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Removing Trac ticket comment spam in Debian Lenny</title>
      <link>https://inliniac.net/blog/2010/04/23/removing-trac-ticket-comment-spam-in-debian-lenny/</link>
      <pubDate>Fri, 23 Apr 2010 10:23:20 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=340</guid> 
      <description>&lt;p&gt;The Vuurmuur website runs Trac and overall I&amp;rsquo;m pretty happy with it. The only thing that Trac doesn&amp;rsquo;t do well, is dealing with spammers. Spammers target Trac a lot, so that&amp;rsquo;s a real problem.&lt;/p&gt;
&lt;p&gt;To prevent spammers from making it through, I run &lt;a href=&#34;http://projects.otaku42.de/wiki/ScallyWhack&#34;&gt;Scallywhack&lt;/a&gt; and a number of custom ModSecurity rules. So far, spams only made it through as new tickets in the ticket tracker, so I installed the &lt;a href=&#34;http://trac-hacks.org/wiki/TicketDeletePlugin&#34;&gt;TicketDeletePlugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Yesterday, I saw the first spam as a comment to an existing and valid ticket. Like tickets themselves, ticket comments can not be removed by Trac by default. Luckily, upstream Trac seems to have fixed this. I&amp;rsquo;m running Debian&amp;rsquo;s version of Trac 0.11.1 however, so I decided to patch that. The patches in the Trac ticket &lt;a href=&#34;http://trac.edgewall.org/ticket/454&#34;&gt;#454&lt;/a&gt; didn&amp;rsquo;t apply cleanly, so I had to patch it manually. To save others the work, it&amp;rsquo;s available here: &lt;a href=&#34;http://www.inliniac.net/files/trac_0.11.1-debian-comment_edit.patch&#34;&gt;http://www.inliniac.net/files/trac_0.11.1-debian-comment_edit.patch&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 0.8.2 released</title>
      <link>https://inliniac.net/blog/2010/04/19/suricata-0-8-2-released/</link>
      <pubDate>Mon, 19 Apr 2010 20:38:28 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=337</guid> 
      <description>&lt;p&gt;Today the OISF development team released 0.8.2 of the Suricata IDS/IPS engine. I feel this is definitely the best release so far. Read the announcement &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/92-suricata-0-8-2-released&#34;&gt;here&lt;/a&gt;. In short, stability was improved, memory footprint reduced, performance improved and new features were added.&lt;/p&gt;
&lt;p&gt;One of the tools we used to help improve the engine is a fuzzer created by Will Metcalf, our QA lead. In short, the script takes a pcap file, runs it through editcap (part of wireshark) altering a number of random bytes, then feeds the altered pcap file to Suricata. This resulted in many interesting corner cases. Naturally the script makes sure you don&amp;rsquo;t forget to enable &amp;ldquo;ulimit -c unlimited&amp;rdquo; and such :) More on that script can be found on Will&amp;rsquo;s blog &lt;a href=&#34;http://node5.blogspot.com/2010/04/help-us-make-our-meerkat-fuzzier.html&#34;&gt;node5&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Book review: Magnus Mischel - ModSecurity 2.5</title>
      <link>https://inliniac.net/blog/2010/03/31/book-review-magnus-mischel-modsecurity-2-5/</link>
      <pubDate>Wed, 31 Mar 2010 13:15:38 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=330</guid> 
      <description>&lt;p&gt;It&amp;rsquo;s been quite a while since I received my review copy of Magnus Mischel&amp;rsquo;s ModSecurity book titled &amp;ldquo;ModSecurity 2.5&amp;rdquo; but I finally found the time to read it and write up my review. As the title suggest it&amp;rsquo;s a book about the ModSecurity Web Application Firewall (WAF) module for Apache and about version 2.5 of it specifically. There are some books about the 1.x series of ModSecurity. It&amp;rsquo;s great that there is a book about the 2.x ModSecurity series now as ModSecurity 2.x is very different from the 1.x series.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata has experimental CUDA support</title>
      <link>https://inliniac.net/blog/2010/02/20/suricata-has-experimental-cuda-support/</link>
      <pubDate>Sat, 20 Feb 2010 16:49:55 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=324</guid> 
      <description>&lt;p&gt;One area of interest in the development of Suricata is hardware acceleration. Using the GPU is particularly interesting, as they are cheap and widely available. We&amp;rsquo;ve been looking at using the GPU to speed up pattern matching as a first step. Since OpenCL promises to be a cross platform multi vendor API for doing this we first looked at OpenCL. But we were never able to get something stable out of it, not on the NVIDIA drivers in Linux anyway. As that didn&amp;rsquo;t go anywhere we decided to use CUDA for the time being. CUDA obviously is NVIDIA only. Once we have CUDA fully running we may revisit OpenCL or look at other implementations like AMD/ATI&amp;rsquo;s stream API.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata 0.8.1 released</title>
      <link>https://inliniac.net/blog/2010/02/20/suricata-0-8-1-released/</link>
      <pubDate>Sat, 20 Feb 2010 16:14:41 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=318</guid> 
      <description>&lt;p&gt;Yesterday the OISF development team released &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/86-suricata-081-released&#34;&gt;Suricata 0.8.1&lt;/a&gt;. This release is much improved from our December 31st release. It is way more stable, performs better and has more features. Thanks to the now included HTP library we have much better HTTP handling. The stream engine has seen massive improvements. Initial experimental CUDA code has been added. Initial Win32 support has been added. We&amp;rsquo;ve added number of missing rule keywords. Many &lt;a href=&#34;https://redmine.openinfosecfoundation.org/projects/suricata/issues?fixed_version_id=3&amp;amp;set_filter=1&amp;amp;status_id=c&#34;&gt;bugs&lt;/a&gt; were fixed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata debugging</title>
      <link>https://inliniac.net/blog/2010/01/04/suricata-debugging/</link>
      <pubDate>Mon, 04 Jan 2010 14:51:54 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=314</guid> 
      <description>&lt;p&gt;If you&amp;rsquo;re running into issues with Suricata, it may be worth spending some time looking at the debugging options.&lt;/p&gt;
&lt;p&gt;To enable the debugging code, pass &amp;ldquo;&amp;ndash;enable-debug&amp;rdquo; to configure.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;./configure &amp;ndash;enable-debug&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;And make &amp;amp; make install again. Make sure that during compilation you see -DDEBUG in the gcc commands.&lt;/p&gt;
&lt;p&gt;Then to really enable it at runtime, pass the SC_LOG_LEVEL&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SC_LOG_LEVEL=Debug&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Depending on how you run the engine, this will output massive amounts of debugging info. Thats why we added a pcre regex filter option.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suricata released!</title>
      <link>https://inliniac.net/blog/2009/12/31/suricata-released/</link>
      <pubDate>Thu, 31 Dec 2009 21:12:18 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=308</guid> 
      <description>&lt;p&gt;Today we&amp;rsquo;ve finally released the first public version of Suricata, the Open Source IDS/IPS developed by the Open Information Security Foundation. With a team of great people we&amp;rsquo;ve been working really hard to get this ready. Please see the full announcement &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/82-suricata-beta-available&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As it&amp;rsquo;s lead developer I&amp;rsquo;m very much interested in getting feedback, bug reports and such. We run our ticket system in a redmine install at &lt;a href=&#34;https://redmine.openinfosecfoundation.org/&#34;&gt;https://redmine.openinfosecfoundation.org/&lt;/a&gt; If you have any feedback, please register an account and let us know what you think.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Suricata release tomorrow</title>
      <link>https://inliniac.net/blog/2009/12/30/first-suricata-release-tomorrow/</link>
      <pubDate>Wed, 30 Dec 2009 20:25:30 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=305</guid> 
      <description>&lt;p&gt;Things here at OISF are crazy busy since we&amp;rsquo;re wrapping up our first version of the engine. Tomorrow there will be a first &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/80-first-release-of-suricata-available-tomorrow&#34;&gt;release&lt;/a&gt;! Stay tuned!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur rpms</title>
      <link>https://inliniac.net/blog/2009/11/03/vuurmuur-rpms/</link>
      <pubDate>Tue, 03 Nov 2009 15:44:49 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=301</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;http://projectdaenney.org/&#34;&gt;Daniele Sluijters&lt;/a&gt; has spend quite an effort at creating Vuurmuur rpms for Fedora 11 and CentOS 5, both 32 bit and 64 bit. The packages are available at the Vuurmuur ftp-server here: &lt;a href=&#34;ftp://ftp.vuurmuur.org/releases/0.7/contrib/&#34;&gt;ftp://ftp.vuurmuur.org/releases/0.7/contrib/&lt;/a&gt; Currently we have packages for 0.7, hopefully 0.8beta2 will follow later. Thanks Daniele!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur development</title>
      <link>https://inliniac.net/blog/2009/11/01/vuurmuur-development/</link>
      <pubDate>Sun, 01 Nov 2009 17:46:07 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=298</guid> 
      <description>&lt;p&gt;Ever since I&amp;rsquo;ve been working on the OISF engine I&amp;rsquo;ve been unable to spend much time on my Vuurmuur project. Luckily it seems development is picking up some speed again because there are some (new) people working on some improvements. Two development branches have been started in svn. The first is &amp;ldquo;nflog&amp;rdquo; which is meant for the development of support for libnetfilter_log to replace the current syslog based vuurmuur_log.&lt;/p&gt;
&lt;p&gt;The second is called &amp;ldquo;ipv6&amp;rdquo; and is meant for adding IPv6 support to Vuurmuur as a frontend to ip6tables. This is going to be quite an effort, but I&amp;rsquo;m excited that it got started!&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF engine on ARM</title>
      <link>https://inliniac.net/blog/2009/10/31/oisf-engine-on-arm/</link>
      <pubDate>Sat, 31 Oct 2009 21:40:22 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=295</guid> 
      <description>&lt;p&gt;Today I installed a Qemu virtual machine with the ARM architecture. I think ARM is becoming an interesting architecture as smartphones and many home routers use it. I was interested in seeing if our OISF engine would compile and run properly on it. So far it seems really well. Compilation was without issue, all our current 800+ unittests ran successfully and it seems to run just fine so far. Too bad the virtual machine is so slow though&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF engine development update(2)</title>
      <link>https://inliniac.net/blog/2009/09/30/oisf-engine-development-update2/</link>
      <pubDate>Wed, 30 Sep 2009 18:30:37 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=289</guid> 
      <description>&lt;p&gt;Another quick update on the development of the OISF engine. Overall development is going great. Basics like signature keywords, stream reassembly, ip defragmentation are nearing completion. Unified1 + barnyard was already working for quite some time, but now we also have unified2 compatible output. I&amp;rsquo;ve tested this to work with barnyard2 and Sguil which works nicely.&lt;/p&gt;
&lt;p&gt;We have the first versions of our new YAML based configuration format checked in, a brand new logging API, midstream pickup support in our Stream engine, native PFRING support and many other additions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF engine development update</title>
      <link>https://inliniac.net/blog/2009/08/16/oisf-engine-development-update/</link>
      <pubDate>Sun, 16 Aug 2009 14:17:32 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=282</guid> 
      <description>&lt;p&gt;The last month has been crazy busy. Development of the engine is progressing nicely. My own role has been assigning tasks to our coders, guiding them, reviewing their work, integrating it and of course write code. We currently have nine people coding, not all full time though, and are still looking for more coders.&lt;/p&gt;
&lt;p&gt;Progress has been made on a number of things: we have many more decoders, threading updates, a stats subsystem, stream tracking and reassembly, a L7 protocol parser framework and many more unittests. We&amp;rsquo;re working on OpenCL hardware accelaration, although we&amp;rsquo;re running into driver issues, so that may take some time before it&amp;rsquo;s usable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>DC meeting</title>
      <link>https://inliniac.net/blog/2009/07/21/dc-meeting/</link>
      <pubDate>Tue, 21 Jul 2009 16:33:27 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=275</guid> 
      <description>&lt;p&gt;So I just got back from Washington D.C. where we had our first public meeting for the &lt;a href=&#34;http://www.openinfosecfoundation.org/&#34;&gt;OISF&lt;/a&gt;. I think it went very well as there were more people than expected. The attendees came from all parts from the industry &amp;amp; government. Overall reception was very positive and we&amp;rsquo;ve gotten many offers for help in development &amp;amp; testing.&lt;/p&gt;
&lt;p&gt;Around the public meetings we had private meetings with a number of companies and I&amp;rsquo;m very happy that three of them commited to the project already:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Twitter</title>
      <link>https://inliniac.net/blog/2009/07/03/twitter/</link>
      <pubDate>Fri, 03 Jul 2009 07:34:36 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=271</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve finally given in to the hype and got an account on Twitter. I must say that so far I&amp;rsquo;m liking it more than I expected. It seems almost everyone from the infosec community is active on the service. I am updating it nearly daily about (among other things) the OISF development I&amp;rsquo;m doing.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re interested follow me here: &lt;a href=&#34;http://twitter.com/inliniac&#34;&gt;http://twitter.com/inliniac&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF meeting in DC next July</title>
      <link>https://inliniac.net/blog/2009/06/30/oisf-meeting-in-dc-next-july/</link>
      <pubDate>Tue, 30 Jun 2009 08:26:56 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=266</guid> 
      <description>&lt;p&gt;We&amp;rsquo;re doing a public OISF meeting in DC next July. Everyone thats interested, please show up! Here is the original announcement:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;We&amp;#39;ll be having a public forum and brainstorming session in Washington
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;DC on July 16th, 2009! This session will be a mix of technical and
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;political issues.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;We encourage our current and potential consortium members, potential
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;users and resellers, as well as future end users to attend. We very much
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;want to hear from all in a discussion format what is most important to
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;you, and what you need to have in the next iteration of IDS. The
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;discussion on the lists has been great, but most often even better
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;things come to life when a lot of smart folks are in the same room at
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;the same time, as we&amp;#39;ve seen at our prior brainstorming sessions.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;We&amp;#39;ll be getting quite technical, but we&amp;#39;ll also answer any and every
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;question about the politics, goals, and funding sources of the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;foundation. We know this is a very strange situation we have, being
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;funded by DHS to create open source security software.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;So please plan to attend, July 16th in Washington DC, at the SRI
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Building in Rosslyn:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http://www.sri.com/contact/wdc.html
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;If you plan to or are rather sure you&amp;#39;ll be there please drop an email
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;to Matt Jonkman, we need an approximate headcount for the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;catering, provided courtesy of SRI.
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;If you can&amp;#39;t make this one don&amp;#39;t worry, we are planning similar meetings
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;through the development cycle on the west coast and in Europe. We want
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;to hear every idea we can get!
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I&amp;rsquo;ll be there personally, as will (most of) the rest of the team be. Look forward to meeting everyone there!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quickdraw beta release</title>
      <link>https://inliniac.net/blog/2009/06/30/quickdraw-beta-release/</link>
      <pubDate>Tue, 30 Jun 2009 08:16:18 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=263</guid> 
      <description>&lt;p&gt;Next to creating a new IDS with the OISF project I&amp;rsquo;ve been busy lately assisting &lt;a href=&#34;http://www.digitalbond.com&#34;&gt;Digital Bond&lt;/a&gt; with their Quickdraw project. The purpose of the project is to create a passive network based event logger for SCADA networks. Digital Bond has now released a first beta of the project &lt;a href=&#34;http://www.digitalbond.com/index.php/2009/06/25/beta-release-scada-ids-preprocessors/&#34;&gt;here&lt;/a&gt;. Check it out!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Chicago</title>
      <link>https://inliniac.net/blog/2009/05/28/chicago/</link>
      <pubDate>Thu, 28 May 2009 14:12:12 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=259</guid> 
      <description>&lt;p&gt;Next week I&amp;rsquo;ll be in Chicago, IL for a OISF team meeting. We&amp;rsquo;ll be discussing features, work flow, job applications, contractors, etc. I&amp;rsquo;ll probably update my blog from there on the progress. If you&amp;rsquo;re interested in OISF and/or you&amp;rsquo;re around there, please let me know. Maybe we can try to meet up!&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF bylaws draft up for comments</title>
      <link>https://inliniac.net/blog/2009/05/13/oisf-bylaws-draft-up-for-comments/</link>
      <pubDate>Wed, 13 May 2009 06:34:44 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=257</guid> 
      <description>&lt;p&gt;The OISF is a non profit foundation and we&amp;rsquo;ve created a bylaws document to govern it that is now up for comments. See the announcement &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/60-consortium-bylaws-draft-available&#34;&gt;here&lt;/a&gt;. It&amp;rsquo;s a draft so if you have comments about it, please speak up soon so we can see if it needs to be adjusted!&lt;/p&gt;
&lt;p&gt;One thing that excites me a lot is that it also specifies the OSS license we&amp;rsquo;re going to use: the GPLv3.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF is hiring</title>
      <link>https://inliniac.net/blog/2009/05/13/oisf-is-hiring/</link>
      <pubDate>Wed, 13 May 2009 06:31:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=255</guid> 
      <description>&lt;p&gt;Funny how things go: not long ago I posted here that I was looking for (contract) work, today I&amp;rsquo;m posting that we&amp;rsquo;re looking for people to work for us at the OISF project :)&lt;/p&gt;
&lt;p&gt;Anyway, have a look at Matt Jonkman&amp;rsquo;s announcement &lt;a href=&#34;http://www.openinfosecfoundation.org/index.php/component/content/article/1-latest-news/59-now-hiring?e6504ae48c99f09df7f58996aacbb6b0=ee6387607d6524415ebf94a941ed5ddb&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re interested or know someone that is, please contact us!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur 0.7 is out</title>
      <link>https://inliniac.net/blog/2009/04/04/vuurmuur-07-is-out/</link>
      <pubDate>Sat, 04 Apr 2009 08:04:25 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=249</guid> 
      <description>&lt;p&gt;A new version of Vuurmuur is out: 0.7. This release mainly fixes bugs and build issues. Translations are generated and installed again, lots of traffic shaping fixes were made.&lt;/p&gt;
&lt;p&gt;Support for pmtu MSS clamping was added, as was support for NAT source port randomization.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&#34;http://www.vuurmuur.org/trac/wiki/Changelog&#34;&gt;http://www.vuurmuur.org/trac/wiki/Changelog&lt;/a&gt; for all changes.&lt;/p&gt;
&lt;p&gt;Debs for Debian and Ubuntu are available, see
&lt;a href=&#34;http://www.vuurmuur.org/trac/wiki/InstallationDebian&#34;&gt;http://www.vuurmuur.org/trac/wiki/InstallationDebian&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The source installer and Autopackage are on the ftp server:
&lt;a href=&#34;ftp://ftp.vuurmuur.org/releases/0.7/&#34;&gt;ftp://ftp.vuurmuur.org/releases/0.7/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Looking forward, I&amp;rsquo;m planning on improving the services handling in 0.8. Especially supporting all protocols from /etc/protocols, instead of just a small list of hardcodes ones. Check &lt;a href=&#34;http://www.vuurmuur.org/trac/milestone/0.8&#34;&gt;http://www.vuurmuur.org/trac/milestone/0.8&lt;/a&gt; to monitor the plans and progress on the 0.8 release. Suggestions &amp;amp; help are welcome!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur 0.7 getting close</title>
      <link>https://inliniac.net/blog/2009/03/31/vuurmuur-07-getting-close/</link>
      <pubDate>Tue, 31 Mar 2009 15:42:35 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=245</guid> 
      <description>&lt;p&gt;The next stable version of &lt;a href=&#34;http://www.vuurmuur.org&#34;&gt;Vuurmuur&lt;/a&gt;, &lt;a href=&#34;http://www.vuurmuur.org/trac/milestone/0.7&#34;&gt;0.7&lt;/a&gt;, is getting close. Last week I released release candidate 3. If you&amp;rsquo;re a Vuurmuur user, please try 0.7rc3 and report back to me on how it works! For a list of changes, please see &lt;a href=&#34;http://www.vuurmuur.org/trac/query?status=closed&amp;amp;milestone=0.7&#34;&gt;the closed tickets&lt;/a&gt;. Thanks!&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF engine prototype: streams handling</title>
      <link>https://inliniac.net/blog/2009/03/31/oisf-engine-prototype-streams-handling/</link>
      <pubDate>Tue, 31 Mar 2009 15:36:27 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=242</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve been thinking about how to deal with streams in the OISF engine. We need to do stream reassembly to be able to handle spliced sessions, otherwise it would be very easy to evade detection. Snort traditionally used an approach of inspecting the packets individually and reassembling (part of) the stream in a pseudo packet, that was inspected mostly like a normal packet. Recent Snort versions, especially when Stream5 was introduced, have a so called stream api. This enables detection modules to control the reassembly better.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF engine prototype: threading</title>
      <link>https://inliniac.net/blog/2009/02/28/oisf-engine-prototype-threading/</link>
      <pubDate>Sat, 28 Feb 2009 20:38:28 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=236</guid> 
      <description>&lt;p&gt;In Januari I first wrote about my prototype code for the OISF engine. The first thing I started with when creating the code was the threading. The current code can run as a single thread or with many threads. In my normal testing I run with about 11 threads, 10 of which handle packets, 1 is a management thread.&lt;/p&gt;
&lt;p&gt;The basic principle in the threading is that a packet is always handled by one thread at a time only. The reason for this is that it saves a lot of locking issues. If there is more than one thread, the engine can handle multiple packete simultaniously.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Extracting bad url&#39;s from ModSecurity events in Sguil</title>
      <link>https://inliniac.net/blog/2009/01/15/extracting-bad-urls-from-modsecurity-events-in-sguil/</link>
      <pubDate>Wed, 14 Jan 2009 23:53:08 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=220</guid> 
      <description>&lt;p&gt;Running a PHP based blog, I see a lot of attempts to include code hosted elsewhere in requests. A long time ago I added a simple rule to block one type of the these attempts. A typical attempt looks like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;GET /blog/category/index.php?page=http://www.djrady.ru/includes/conf.txt?? HTTP/1.1&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Notice the trailing questionmarks? Turns out these are always present, so very easy to block on. I&amp;rsquo;m doing that for a long time now, never seen a single false positive. The rule looks like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>OISF IDS/IPS engine prototype intro</title>
      <link>https://inliniac.net/blog/2009/01/07/oisf-ids-ips-engine-prototype-intro/</link>
      <pubDate>Wed, 07 Jan 2009 11:24:07 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=211</guid> 
      <description>&lt;p&gt;For over a year I&amp;rsquo;ve been working on a prototype implementation of a new IDS/IPS engine for the &lt;a href=&#34;http://www.openinfosecfoundation.org/&#34;&gt;Open Infosec Foundation&lt;/a&gt;. This is not necessarily going to be the engine we&amp;rsquo;ll be using in OISF, although it&amp;rsquo;s likely that at least some of the code will be used. Discussions about features for the engine are still ongoing ( &lt;a href=&#34;http://doc.emergingthreats.net/bin/view/Main/EngineFeatures&#34;&gt;wiki&lt;/a&gt;, &lt;a href=&#34;http://lists.openinfosecfoundation.org/mailman/listinfo/discussion&#34;&gt;list&lt;/a&gt;), once that settles down we&amp;rsquo;ll see whats usable and whats not. In the worst case I still think many parts like hashing functions, pattern matcher implementations, protocol decoders, etc can be used.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Checking out SourceForge&#39;s Marketplace</title>
      <link>https://inliniac.net/blog/2009/01/06/checking-out-sourceforges-marketplace/</link>
      <pubDate>Tue, 06 Jan 2009 14:26:31 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=203</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve registered myself as a seller of services on SourceForge&amp;rsquo;s Open Source &lt;a href=&#34;http://sourceforge.net/services/buy/index.php&#34;&gt;Marketplace&lt;/a&gt;. I&amp;rsquo;ve done so offering software development services for the &lt;a href=&#34;http://www.snort.org/&#34;&gt;Snort&lt;/a&gt;, &lt;a href=&#34;http://snort-inline.sf.net/&#34;&gt;Snort_inline&lt;/a&gt; and &lt;a href=&#34;http://www.vuurmuur.org&#34;&gt;Vuurmuur&lt;/a&gt; projects. I was wondering if anyone has any experience (good or bad) with the Marketplace system, either as a buyer or seller of services. Let me know!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Available for contract work</title>
      <link>https://inliniac.net/blog/2009/01/05/available-for-contract-work/</link>
      <pubDate>Mon, 05 Jan 2009 13:26:06 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=196</guid> 
      <description>&lt;p&gt;This year there will be a lot of work that needs to be done for the &lt;a href=&#34;http://www.openinfosecfoundation.org/&#34;&gt;Open Infosec Foundation&lt;/a&gt;. And like I wrote a few days ago, a lot of work is already being done. However, most of it is unpaid at this time as it will be some months before our funding comes in. So at least until then I&amp;rsquo;m available and looking for contract work.&lt;/p&gt;
&lt;p&gt;For the last two years I&amp;rsquo;ve been doing work as a contractor in the (open source) security field. My experience is mostly in coding in C and Perl, primarily on &lt;a href=&#34;http://www.snort.org/&#34;&gt;Snort&lt;/a&gt; and &lt;a href=&#34;http://snort-inline.sf.net/&#34;&gt;Snort_inline&lt;/a&gt;. Recently I created the (Perl language) &lt;a href=&#34;http://doc.emergingthreats.net/bin/view/Main/SidReporter&#34;&gt;SidReporter&lt;/a&gt; program for &lt;a href=&#34;http://www.emergingthreats.net/&#34;&gt;Emerging Threats&lt;/a&gt;. Areas I worked in: IPv6 IDS/IPS coding, signature writing, Web Application Firewalls, threading, bandwidth accounting, and more&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Looking forward to 2009: Open Infosec Foundation</title>
      <link>https://inliniac.net/blog/2008/12/29/looking-forward-to-2009-open-infosec-foundation/</link>
      <pubDate>Mon, 29 Dec 2008 12:15:20 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=188</guid> 
      <description>&lt;p&gt;The year 2008 was an exciting year to me. The biggest thing going on the infosec side was the formation of the Open Infosec Foundation. We&amp;rsquo;ve been working on it behind the scenes for more than a year now, and it&amp;rsquo;s cool that we&amp;rsquo;ve finally announced our plans. Of course, the work is just getting started. Next year, we expect to finalize our foundation setup. We&amp;rsquo;re working with the Software Freedom Law Center for setting up the foundation charter and consortium rules. While the US government is funding us initially, we hope the consortium will guarantee our long term funding. We are talking to some interesting companies already, both big and small.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur makes it into Debian (Sid)</title>
      <link>https://inliniac.net/blog/2008/12/09/vuurmuur-makes-it-into-debian-sid/</link>
      <pubDate>Tue, 09 Dec 2008 14:08:57 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=184</guid> 
      <description>&lt;p&gt;Thanks to the hard work of Debian&amp;rsquo;s Daniel Baumann Vuurmuur has been included in Debian unstable/Sid. This hopefully means that Vuurmuur will be getting a lot more users. Eventually it should get into testing and even stable, although the next release &amp;ldquo;lenny&amp;rdquo; will come too soon for that. The &amp;ldquo;lenny&amp;rdquo; feature freeze was already in place before Vuurmuur got included in Sid. Anyway, for me this is big news!&lt;/p&gt;
&lt;p&gt;See here for the packages:
&lt;a href=&#34;http://packages.debian.org/sid/libvuurmuur0&#34;&gt;http://packages.debian.org/sid/libvuurmuur0&lt;/a&gt; &lt;a href=&#34;http://packages.debian.org/sid/vuurmuur&#34;&gt;http://packages.debian.org/sid/vuurmuur&lt;/a&gt; &lt;a href=&#34;http://packages.debian.org/sid/vuurmuur-conf&#34;&gt;http://packages.debian.org/sid/vuurmuur-conf&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>DeepSec</title>
      <link>https://inliniac.net/blog/2008/11/30/deepsec/</link>
      <pubDate>Sun, 30 Nov 2008 09:57:42 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=180</guid> 
      <description>&lt;p&gt;Last month I attended the DeepSec conference in Vienna. I enjoyed it a great deal. It was good to be back in Vienna. Had a few good meetings with my friend Adi with who I work on the Vuurmuur project.&lt;/p&gt;
&lt;p&gt;I assisted Matt Jonkman in his Snort Signature writing class. We had a nice group of people and using the Emerging Threats SandNet we could deal with pretty interesting samples to write signatures for. Even though my expertise is more on the code level of Snort I felt I could still contribute something to the sessions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First SidReporter statistics available</title>
      <link>https://inliniac.net/blog/2008/10/30/first-sidreporter-statistics-available/</link>
      <pubDate>Thu, 30 Oct 2008 15:11:37 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=175</guid> 
      <description>&lt;p&gt;Matt Jonkman just &lt;a href=&#34;http://www.emergingthreats.net/index.php/component/content/article/1-latest/127-initial-sidreporter-statistics-online.html&#34;&gt;announced&lt;/a&gt; that the first stats of SidReporter are available &lt;a href=&#34;http://www.emergingthreats.net/index.php/sidreporter-statistics.html&#34;&gt;here&lt;/a&gt;. Matt writes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;These will become more interesting the more sites we have reporting, so please consider running  the client. It&amp;rsquo;s painless, anonymous, and will contribute to us greatly improving the signature base we all use.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;It will be interesting to see what data this can bring us. Congrats Matt!&lt;/p&gt;</description>
    </item>
    <item>
      <title>First OISF brainstorming session on Deepsec</title>
      <link>https://inliniac.net/blog/2008/10/23/first-oisf-brainstorming-session-on-deepsec/</link>
      <pubDate>Thu, 23 Oct 2008 09:02:21 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=172</guid> 
      <description>&lt;p&gt;Next November I will be attending &lt;a href=&#34;http://deepsec.net&#34;&gt;Deepsec&lt;/a&gt; in Vienna. Matt Jonkman is giving a workshop there and I will be helping/assisting him with it, it&amp;rsquo;s called &amp;lsquo;Protocol Analysis for Writing Snort Signatures&amp;rsquo;. If you&amp;rsquo;re interested, sign up for it! While we are there we will also host the first brainstorming session for &lt;a href=&#34;http://www.openinfosecfoundation.org/&#34;&gt;OISF&lt;/a&gt;. The idea is to get together with everyone thats interested and talk about how our next generation IDS/IPS should look like. But it&amp;rsquo;s not just about the technology, we also seek input about how to organize the project, about licensing, etc. So if you&amp;rsquo;re at Deepsec and got some time to spare, be sure to join us in the brainstorming session!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open Infosec Foundation founded!</title>
      <link>https://inliniac.net/blog/2008/10/18/open-infosec-foundation-founded/</link>
      <pubDate>Fri, 17 Oct 2008 22:07:59 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=169</guid> 
      <description>&lt;p&gt;Last week Matt Jonkman announced the formation of the &lt;a href=&#34;http://www.openinfosecfoundation.org/&#34;&gt;Open Infosec Foundation&lt;/a&gt;. This foundation has been grant funded to create a new open source IDS/IPS engine. Together with Will Metcalf and of course Matt himself, I will be working on this. We want this to be a real community effort where there is a role for everyone in the infosec community. Developers, admins, vendors, goverments, research, education, everyone. There is a lot of work ahead, but that should be great fun and very inspiring. So far things are interesting already. The &lt;a href=&#34;http://lists.openinfosecfoundation.org/mailman/listinfo/discussion&#34;&gt;discussion mailinglist&lt;/a&gt; is growing rapidly with many ppl from the community and industry. A #oisf IRC channel was created today on freenode. Join us there to participate in discussion about this project!&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Vuurmuur version numbering scheme</title>
      <link>https://inliniac.net/blog/2008/09/22/new-vuurmuur-version-numbering-scheme/</link>
      <pubDate>Mon, 22 Sep 2008 15:15:12 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=166</guid> 
      <description>&lt;p&gt;Today I&amp;rsquo;ve changed the versioning scheme for &lt;a href=&#34;http://www.vuurmuur.org&#34;&gt;Vuurmuur&lt;/a&gt;. I was unhappy with the scheme for quite some time already. Versions like 0.5.73 are not making much sense in my view. Originally, my intention was to have a scheme like the linux kernel at the time had. Even versions for stable releases, odd versions for unstable/development releases. The idea was that the 0.5.x development series would some day become a 0.6 stable, after which the 0.7 development series would begin. Of course, that never happened. Instead, I added the alpha releases that became the real development releases and the 0.5.x effectively became the stable releases. So we ended up with releases like 0.5.74 alpha 6. In my opinion quite confusing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline load balancing</title>
      <link>https://inliniac.net/blog/2008/09/18/snort_inline-load-balancing/</link>
      <pubDate>Thu, 18 Sep 2008 11:32:40 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=158</guid> 
      <description>&lt;p&gt;Dave Remien of &lt;a href=&#34;http://www.nitrosecurity.com/&#34;&gt;NitroSecurity&lt;/a&gt; created a patch that &amp;ldquo;implements a relatively simple form of (IPV4) load balancing&amp;rdquo; between multiple Snort_inline processes using Nfqueue. Here is what it does:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;1. Load balancing. The bottom half of the source and dest addresses are added together, and mod&amp;rsquo;d with the number of &amp;ldquo;load-balancing&amp;rdquo; snorts you desire to run. This means that traffic stays with a particular snort, so that state is maintained.&lt;/p&gt;
&lt;p&gt;2. Because you can run many snorts (presumably on many CPUs), you can now take advantage of that super-hooty 16way box and those 10 gig NICs you just got your hands on&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline updated to 2.8.3 in SVN</title>
      <link>https://inliniac.net/blog/2008/09/16/snort_inline-updated-to-283-in-svn/</link>
      <pubDate>Tue, 16 Sep 2008 21:08:26 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=154</guid> 
      <description>&lt;p&gt;Snort_inline was just updated to Snort 2.8.3 in SVN. Please give it a try. It hasn&amp;rsquo;t seen much testing so far, so be careful when putting it on production servers.&lt;/p&gt;
&lt;p&gt;Get the code from SVN like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;svn co &lt;a href=&#34;https://snort-inline.svn.sourceforge.net/svnroot/snort-inline/trunk&#34;&gt;https://snort-inline.svn.sourceforge.net/svnroot/snort-inline/trunk&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Check it out!&lt;/p&gt;</description>
    </item>
    <item>
      <title>SidReporter beta2 released</title>
      <link>https://inliniac.net/blog/2008/08/21/sidreporter-beta2-released/</link>
      <pubDate>Thu, 21 Aug 2008 15:08:42 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=147</guid> 
      <description>&lt;p&gt;A little over a week ago the second beta of the SidReporter from &lt;a href=&#34;http://www.emergingthreats.net/&#34;&gt;Emerging Threats&lt;/a&gt; was released (see &lt;a href=&#34;http://www.emergingthreats.net/content/view/95/1/&#34;&gt;http://www.emergingthreats.net/content/view/95/1/&lt;/a&gt;). I&amp;rsquo;ve been working with Matt Jonkman to setup this new project at Emerging Threats, mostly in writing the reporter scripts. I think it&amp;rsquo;s an exciting new project that could provide the community with great information. As Matt &lt;a href=&#34;http://www.emergingthreats.net/content/view/93/1/&#34;&gt;wrote&lt;/a&gt; on the initial announcement:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;As mentioned a few weeks ago, we&amp;rsquo;ve been working to bring out tool to anonymously report IDS/IPS hits. Similar to DShield&amp;rsquo;s firewall log reporting, we believe we can make some incredible data inferences with this information, as well as help improve the quality of our signatures while giving us all feedback to tune our rulesets.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Support for source port randomization in Vuurmuur</title>
      <link>https://inliniac.net/blog/2008/07/25/support-for-source-port-randomization-in-vuurmuur/</link>
      <pubDate>Fri, 25 Jul 2008 21:50:59 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=142</guid> 
      <description>&lt;p&gt;One of the workarounds for the current DNS problems is that servers introduce source port randomization.  So it&amp;rsquo;s time for you to patch your DNS server so it uses random source ports. If for some reason you are unable to do that, iptables can help. Michael Rash has a good write up of how that works &lt;a href=&#34;http://cipherdyne.org/blog/2008/07/mitigating-dns-cache-poisoning-attacks-with-iptables.html&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In Vuurmuur there is now a per rule option, that can be enabled for the SNAT, MASQ, PORTFW, DNAT and BOUNCE actions, called &amp;lsquo;random&amp;rsquo;. This passes the &amp;lsquo;&amp;ndash;random&amp;rsquo; option to the iptables rules Vuurmuur creates. Note that you need a recent distro for this. Debian Etch is too old, Ubuntu Hardy is fine. The new functionality is just released in Vuurmuur 0.5.74 alpha 6. Check it out!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing noise on Ubuntu Hardy 8.04, aka setting max_cstate</title>
      <link>https://inliniac.net/blog/2008/07/25/fixing-noise-on-ubuntu-hardy-804-aka-setting-max_cstate/</link>
      <pubDate>Thu, 24 Jul 2008 22:46:30 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=137</guid> 
      <description>&lt;p&gt;Not security related at all, but it took me so much time to figure this out, I want to share this with the world!&lt;/p&gt;
&lt;p&gt;I own a Lenovo Thinkpad T60 that I like very much. There is one annoyance, and that is that when on battery, the laptop produces a high pitched noise when idle. It turns out that this has something to do with the ACPI state. States of C3 and higher made my laptop produce the noise. In Ubuntu Gutsy 7.10 there was a simple solution. I could force the laptop to never use anything higher that C2. That was done like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wordpress version 2.6 &amp;amp; ModSecurity</title>
      <link>https://inliniac.net/blog/2008/07/16/wordpress-version-26-modsecurity/</link>
      <pubDate>Wed, 16 Jul 2008 16:29:25 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=127</guid> 
      <description>&lt;p&gt;Today I updated my Wordpress installation to version 2.6. The upgrade went smooth as usual. However afterwards I couldn&amp;rsquo;t login anymore because one of my ModSecurity rules was triggered at the login. Turns out the Wordpress developers changed the use of the &amp;lsquo;redirect_to&amp;rsquo; argument in wp-login.php. Wordpress uses it to redirect the browser to some part of the weblog software after a successful login. Some time ago there used to be a vulnerability in Wordpress as described here: &lt;a href=&#34;http://www.securityfocus.com/archive/1/463291&#34;&gt;http://www.securityfocus.com/archive/1/463291&lt;/a&gt;. To prevent exploitation on my box at the time I created the following rule:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline updated to 2.8.2.1 in SVN</title>
      <link>https://inliniac.net/blog/2008/06/18/snort_inline-updated-to-2821-in-svn/</link>
      <pubDate>Wed, 18 Jun 2008 07:41:48 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=126</guid> 
      <description>&lt;p&gt;This morning I updated our Snort_inline codebase with SourceFire&amp;rsquo;s just released 2.8.2.1 version. See the original changelogs here: &lt;a href=&#34;http://www.snort.org/docs/release_notes/release_notes_281.txt&#34;&gt;2.8.1&lt;/a&gt;, &lt;a href=&#34;http://www.snort.org/docs/release_notes/release_notes_282.txt&#34;&gt;2.8.2&lt;/a&gt;, &lt;a href=&#34;http://www.snort.org/docs/release_notes/release_notes_2821.txt&#34;&gt;2.8.2.1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Also Richard Bejtlich and Nr have good posts about the improvements of the last versions. See Richards post about a fixed frag3 vulnerability &lt;a href=&#34;http://taosecurity.blogspot.com/2008/05/snort-evasion-vulnerability-in-frag3.html&#34;&gt;here&lt;/a&gt; and see Nr&amp;rsquo;s post &lt;a href=&#34;http://eatingsecurity.blogspot.com/2008/05/snort-281-changes-and-upgrading.html&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Please note that our SVN code has seen limited testing so far, so be careful! Please report any issues!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline 2.8.2.rc1 in SVN</title>
      <link>https://inliniac.net/blog/2008/05/10/snort_inline-282rc1-in-svn/</link>
      <pubDate>Sat, 10 May 2008 18:24:06 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/05/10/snort_inline-282rc1-in-svn.html</guid> 
      <description>&lt;p&gt;Today I&amp;rsquo;ve spent some time on updating the Snort_inline source to the latest 2.8.2.rc1. The updating went quite smooth, so I hope no big issues pop up. Like before, trying out this code can be done by checking out SVN like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;svn co &lt;a href=&#34;https://snort-inline.svn.sourceforge.net/svnroot/snort-inline/trunk&#34;&gt;https://snort-inline.svn.sourceforge.net/svnroot/snort-inline/trunk&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This will save the source to the directory &amp;rsquo;trunk&amp;rsquo;. In the directory &amp;rsquo;trunk&amp;rsquo;, run &amp;lsquo;sh autojunk.sh&amp;rsquo; and then configure, make, make install&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update to Modsec2sguil</title>
      <link>https://inliniac.net/blog/2008/03/26/update-to-modsec2sguil/</link>
      <pubDate>Wed, 26 Mar 2008 12:57:13 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/03/26/update-to-modsec2sguil.html</guid> 
      <description>&lt;p&gt;Yesterday the much anticipated Sguil 0.7.0 final was released, as was announced &lt;a href=&#34;http://sguil.sourceforge.net/news.html&#34;&gt;here&lt;/a&gt;. I&amp;rsquo;ve updated Modsec2sguil to support it. Next to this Ryan Cummings sent me a patch for supporting ModSecurity 2.5. So that is included as well. I haven&amp;rsquo;t given it much testing yet, but works on my boxes.&lt;/p&gt;
&lt;p&gt;Get the new release here: &lt;a href=&#34;http://www.inliniac.net/modsec2sguil/&#34;&gt;http://www.inliniac.net/modsec2sguil/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thank you Ryan for your contribution!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline 2.8 status</title>
      <link>https://inliniac.net/blog/2008/02/26/snort_inline-28-status/</link>
      <pubDate>Tue, 26 Feb 2008 17:12:15 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/02/26/snort_inline-28-status.html</guid> 
      <description>&lt;p&gt;A while ago I wrote about porting Snort_inline to 2.8.0.1. That worked well, however we are still trying to resolve some issues. Especially in stickydrop, that is just broken right now. Also, SourceFire released 2.8.0.2 last week, so we need to update to that too.&lt;/p&gt;
&lt;p&gt;First however, I will be traveling to California this week. I will be meeting Will there, so I&amp;rsquo;ll try to get him to fix that damn code ;-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Improving Snort_inline&#39;s NFQ performance</title>
      <link>https://inliniac.net/blog/2008/01/23/improving-snort_inlines-nfq-performance/</link>
      <pubDate>Wed, 23 Jan 2008 15:27:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/01/23/improving-snort_inlines-nfq-performance.html</guid> 
      <description>&lt;p&gt;When using Snort_inline with NFQ support, it&amp;rsquo;s likely that at some point you&amp;rsquo;ve seen messages like these on the console: &lt;em&gt;packet recv contents failure: No buffer space available&lt;/em&gt;. When the messages are appearing Snort_inline slows down significantly. I&amp;rsquo;ve been trying to find out why.&lt;/p&gt;
&lt;p&gt;There are a number of setting that influence NFQ performance. One of them is the NFQ queue maximum length. This is a value in packets. Snort_inline takes an argument to modify the buffer length: &amp;ndash;queue-maxlen 5000 (note: there are two dashes before queue-maxlen).&lt;/p&gt;</description>
    </item>
    <item>
      <title>New security weblog by Ivan Ristic</title>
      <link>https://inliniac.net/blog/2008/01/22/new-security-weblog-by-ivan-ristic/</link>
      <pubDate>Tue, 22 Jan 2008 11:40:04 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/01/22/new-security-weblog-by-ivan-ristic.html</guid> 
      <description>&lt;p&gt;I just noticed that ModSecurity developer Ivan Ristic has started a new blog on computer security and open source. Check it out here: &lt;a href=&#34;http://blog.ivanristic.com/&#34;&gt;http://blog.ivanristic.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Great idea Ivan! :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tunnel unwrapping for Snort_inline 2.8.0.1</title>
      <link>https://inliniac.net/blog/2008/01/11/tunnel-unwrapping-for-snort_inline-2801/</link>
      <pubDate>Fri, 11 Jan 2008 16:24:37 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/01/11/tunnel-unwrapping-for-snort_inline-2801.html</guid> 
      <description>&lt;p&gt;Not many people have native IPv6 connectivity and use some form of tunneling. For this reason Nitro Security asked me to develop a Snort preprocessor to unwrap various tunnels. This resulted in the preprocessor &amp;lsquo;ip6tunnel&amp;rsquo;, which I uploaded to Snort_inline&amp;rsquo;s SVN yesterday. The preprocessor is capable of unwrapping IPv6-in-IPv4, IPv6-in-IPv6, IPv4-in-IPv6, IPv4-in-IPv4 and finally IPv6-over-UDP. The latter is used by Freenet6.&lt;/p&gt;
&lt;p&gt;I chose to develop it as a preprocessor because this allows Snort to inspect both the original packet and the tunnel packet(s). The preprocessor supports recursive unwrapping. The recursion depth is limited to 3 by default, but can be configured differently. Get the preprocessor from Snort_inline&amp;rsquo;s SVN by checking out the latest trunk:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline updated to 2.8.0.1 in SVN</title>
      <link>https://inliniac.net/blog/2008/01/09/snort_inline-updated-to-2801-in-svn/</link>
      <pubDate>Wed, 09 Jan 2008 15:41:19 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/01/09/snort_inline-updated-to-2801-in-svn.html</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve just committed an update to Snort_inline&amp;rsquo;s SVN. It brings it to the Snort 2.8.0.1 level. It supports both IPv4 and IPv6 on IPQ and NFQ. I have not been able to test IPFW on IPv6, so I don&amp;rsquo;t think that will work currently.&lt;/p&gt;
&lt;p&gt;This update removes the libdnet dependency and replaces it with libnet 1.1. To be able to send ICMPv6 unreachable packets you will need the libnet 1.1 patch I wrote a while ago. You can find that &lt;a href=&#34;http://www.inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions.html&#34;&gt;here&lt;/a&gt;. Get the latest Snort_inline by checking out SVN:&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Snortsam patch for Snort 2.8.0.1</title>
      <link>https://inliniac.net/blog/2008/01/08/new-snortsam-patch-for-snort-2801/</link>
      <pubDate>Tue, 08 Jan 2008 12:30:53 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2008/01/08/new-snortsam-patch-for-snort-2801.html</guid> 
      <description>&lt;p&gt;Matt Jonkman of &lt;a href=&#34;http://www.emergingthreats.net/&#34;&gt;Emerging Threats&lt;/a&gt; asked me to have a look at the existing Snortsam 2.8.0.1 patch as people were continuing to report problems with it. I updated it to compile without compiler warnings, build cleanly with debugging enabled, build cleanly with Snort&amp;rsquo;s IPv6 support enabled and added a check so it won&amp;rsquo;t act on alerts in IPv6 packets since the Snortsam framework does not support IPv6. Finally I removed the patch script so it&amp;rsquo;s provided as a &amp;rsquo;normal&amp;rsquo; diff. Here is the patch: &lt;a href=&#34;http://www.inliniac.net/files/snortsam-2.8.0.1.diff&#34;&gt;http://www.inliniac.net/files/snortsam-2.8.0.1.diff&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working on Snort_inline 2.8.0.1</title>
      <link>https://inliniac.net/blog/2007/12/22/working-on-snort_inline-2801/</link>
      <pubDate>Sat, 22 Dec 2007 12:49:20 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/12/22/working-on-snort_inline-2801.html</guid> 
      <description>&lt;p&gt;The last week I&amp;rsquo;ve been working on bringing Snort_inline to the Snort 2.8.0.1 level, including it&amp;rsquo;s IPv6 support. I&amp;rsquo;m almost ready to commit it to SVN, there are just some issues I need to fix in the inline specific code. The code will get rid of libdnet and use libnet 1.1 for sending reset/reject packets for both IPv4 and IPv6. After committing I will start working on getting the IPv6 features I wrote for NitroSecurity into this tree. This includes more matches, tunnel decoding (including for example the freenet6 tunnel, etc). So stay tuned!&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Snort_inline TCP window normalization code in SVN</title>
      <link>https://inliniac.net/blog/2007/11/17/new-snort_inline-tcp-window-normalization-code-in-svn/</link>
      <pubDate>Sat, 17 Nov 2007 13:55:38 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/17/new-snort_inline-tcp-window-normalization-code-in-svn.html</guid> 
      <description>&lt;p&gt;A while ago I &lt;a href=&#34;http://www.inliniac.net/blog/2007/09/04/window-scaling-normalization-in-snort_inline-broken-by-design.html&#34;&gt;wrote&lt;/a&gt; about why the TCP window scaling normalization in Snort_inline was broken by design. I also wrote about a new solution I was working on and testing that would be uploaded to SVN soon. I just committed the patch to SVN. What it does is add two new options to stream4:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;norm_window&lt;/strong&gt;: normalize the TCP window (disabled by default). This is to protect Snort_inline from being forced to queue too many packets.
&lt;strong&gt;max_win_size&lt;/strong&gt;: maximum size of the scaled TCP window. Packets increasing the window beyond the limit are modified.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Matt Jonkman leaves Bleeding Edge</title>
      <link>https://inliniac.net/blog/2007/11/17/matt-jonkman-leaves-bleeding-edge/</link>
      <pubDate>Sat, 17 Nov 2007 12:05:56 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/17/matt-jonkman-leaves-bleeding-edge.html</guid> 
      <description>&lt;p&gt;Matt Jonkman is stepping out of the &lt;a href=&#34;http://www.bleedingthreats.net/&#34;&gt;Bleeding Edge project&lt;/a&gt;. He announced this &lt;a href=&#34;http://www.bleedingthreats.net/index.php/2007/11/17/im-leaving-bleeding-threats/&#34;&gt;here&lt;/a&gt;. Apparently &lt;a href=&#34;http://sensorynetworks.com/&#34;&gt;Sensory Networks&lt;/a&gt;, one of the sponsors of the project, now owns it. It will be interesting to see if they will continue it, and if so, how. Honestly, I&amp;rsquo;m a bit skeptical, since to my knowledge not many Sensory people are directly involved at this moment. Still I believe Sensory consists of good people. I did a contract job for them about a year ago, and enjoyed working with them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deactivating a group of sensors in Sguil 0.7.0-CVS</title>
      <link>https://inliniac.net/blog/2007/11/14/deactivating-a-group-of-sensors-in-sguil-070-cvs/</link>
      <pubDate>Wed, 14 Nov 2007 20:25:20 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/14/deactivating-a-group-of-sensors-in-sguil-070-cvs.html</guid> 
      <description>&lt;p&gt;Recently a site I was using for my Vuurmuur project became unavailable to me. I had two sensors in that site, one Modsec2sguil sensor and a Snort sensor. Since it became unavailable to me, the sensors were all offline and will stay that way. So I wanted to hide them in Sguil, including the net_name group they belonged to, called &amp;lsquo;utrecht&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Doing this turned out to be quite simple. The sensors have their own table in the database and one of the fields for a sensor is called &amp;lsquo;active&amp;rsquo;. I figured deactivating the sensors would do it. Deactivating all sensors from the net_name group &amp;lsquo;utrecht&amp;rsquo; is done like this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multiple Snort_inline processes with Vuurmuur</title>
      <link>https://inliniac.net/blog/2007/11/12/multiple-snort_inline-processes-with-vuurmuur/</link>
      <pubDate>Mon, 12 Nov 2007 21:29:58 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/12/multiple-snort_inline-processes-with-vuurmuur.html</guid> 
      <description>&lt;p&gt;One of the cool things of the &lt;a href=&#34;http://snort-inline.sf.net/&#34;&gt;Snort_inline&lt;/a&gt; project is the support for NFQUEUE. NFQUEUE is the new queuing mechanism to push packets from the kernel to userspace so a userspace program can issue a verdict on it. What makes NFQUEUE cooler than it&amp;rsquo;s predecessor ip_queue is that it supports multiple queue&amp;rsquo;s. This means that there can be more than one Snort_inline process inspecting and judging traffic. The challenge is to make sure that each Snort_inline instance sees all traffic belonging to a certain connection so Snort_inline can do stateful inspection on it. Luckily, &lt;a href=&#34;http://www.vuurmuur.org/&#34;&gt;Vuurmuur&lt;/a&gt; makes it very easy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GUI part of Vuurmuur traffic shaping done</title>
      <link>https://inliniac.net/blog/2007/11/02/gui-part-of-vuurmuur-traffic-shaping-done/</link>
      <pubDate>Thu, 01 Nov 2007 23:03:18 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/02/gui-part-of-vuurmuur-traffic-shaping-done.html</guid> 
      <description>&lt;p&gt;The GUI part of Vuurmuur&amp;rsquo;s traffic shaping is done. That means it&amp;rsquo;s in a usable state. It&amp;rsquo;s probably rough around the edges, but anyone is invited to give it a try. Below two screens.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2007/11/vuurmuur-shape-rule.png&#34; title=&#34;Vuurmuur shape rule settings.&#34;&gt;Vuurmuur shape rule settings.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2007/11/vuurmuur-shape-rule.png&#34; title=&#34;Vuurmuur shape rule settings.&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2007/11/vuurmuur-shape-rule.png&#34; alt=&#34;Vuurmuur shape rule settings.&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The per rule shaping settings.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2007/11/vuurmuur-shape-iface.png&#34; title=&#34;Vuurmuur shape interface settings.&#34;&gt;Vuurmuur shape interface settings.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2007/11/vuurmuur-shape-iface.png&#34; title=&#34;Vuurmuur shape interface settings.&#34;&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2007/11/vuurmuur-shape-iface.png&#34; alt=&#34;Vuurmuur shape interface settings.&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The per interface settings for the shaping.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil 0.7.0 CVS client on HeX 1.0.1</title>
      <link>https://inliniac.net/blog/2007/11/01/sguil-070-cvs-client-on-hex-101/</link>
      <pubDate>Thu, 01 Nov 2007 10:25:43 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/01/sguil-070-cvs-client-on-hex-101.html</guid> 
      <description>&lt;p&gt;The last few days I&amp;rsquo;ve been playing with the &lt;a href=&#34;http://www.rawpacket.org/projects/hex-livecd&#34;&gt;HeX live-cd&lt;/a&gt;. It boots fine on my Lenovo T60 laptop. So after about a minute a nice graphical interface awaits me. I really love the artwork of this project.&lt;/p&gt;
&lt;p&gt;There are many security tools installed, including the Sguil client. This is the 0.6.1 version however. As I have written before, I&amp;rsquo;m running 0.7.0 CVS here, so I needed the 0.7.0 CVS client. Luckily, it&amp;rsquo;s easy to install.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil 0.7-CVS client on Ubuntu Gutsy</title>
      <link>https://inliniac.net/blog/2007/10/30/sguil-07-cvs-client-on-ubuntu-gutsy/</link>
      <pubDate>Tue, 30 Oct 2007 16:11:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/30/sguil-07-cvs-client-on-ubuntu-gutsy.html</guid> 
      <description>&lt;p&gt;Last week I installed Ubuntu Gutsy on my laptop. I did a clean install, which went fine. Of course, I needed the Sguil client on it as well. Gutsy has all the required libraries in it&amp;rsquo;s repositories. Install the following packages:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;tcl8.4
tclx8.4
tcllib
tk8.4
iwidgets4&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Checking out the Sguil client is easy (make sure you have &amp;lsquo;cvs&amp;rsquo; installed):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cvs -d:pserver:anonymous@sguil.cvs.sourceforge.net:/cvsroot/sguil login
cvs -d:pserver:anonymous@sguil.cvs.sourceforge.net:/cvsroot/sguil co sguil&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;After this the client runs fine on my system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Libnet 1.1 IPv6 fixes and additions</title>
      <link>https://inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions/</link>
      <pubDate>Tue, 16 Oct 2007 21:35:11 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions.html</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;http://www.packetfactory.net/libnet/&#34;&gt;Libnet&lt;/a&gt; is a cool packet crafting tool, used by &lt;a href=&#34;http://www.snort.org/&#34;&gt;Snort&lt;/a&gt; to send TCP reset packets and ICMP unreachable packets as part of active responses. Libnet 1.1 supports IPv6 which is what I needed for my work. After some reading and testing there were a few problems. First, while possible to send TCP reset packets, the packets didn&amp;rsquo;t have a correct checksum and debugging this with valgrind showed lots of memory errors. Second, ICMPv6 was only partly implemented. The libnet_build_* functions for it are missing. This is, by the way, quite a common picture. Many libraries and projects have some support for IPv6, but generally incomplete and less well tested.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity rules for Tikiwiki 1.x tiki-graph_formula.php Function Injection Vulnerability</title>
      <link>https://inliniac.net/blog/2007/10/11/modsecurity-rule-for-tikiwiki-tiki-graph_formulaphp-function-injection-vulnerability/</link>
      <pubDate>Thu, 11 Oct 2007 11:13:44 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/11/modsecurity-rule-for-tikiwiki-tiki-graph_formulaphp-function-injection-vulnerability.html</guid> 
      <description>&lt;p&gt;A new vulnerability has been found in Tikiwiki. Read more about it &lt;a href=&#34;http://secunia.com/advisories/27190/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve created the following ModSecurity rule to block it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SecDefaultAction &amp;ldquo;log,deny,phase:2,status:403,t:urlDecodeUni,t:lowercase&amp;rdquo;&lt;/p&gt;
&lt;p&gt;SecRule REQUEST_FILENAME &amp;ldquo;tiki-graph_formula.php&amp;rdquo; &amp;ldquo;chain,msg:&amp;lsquo;TIKIWIKI tiki-graph_formula.php link inclusion attempt&amp;rsquo;,severity:2&amp;rdquo;
SecRule ARGS:/^s*[a-z]+$/ &amp;ldquo;^(ht|f)tps?://&amp;rdquo;&lt;/p&gt;
&lt;p&gt;SecRule REQUEST_FILENAME &amp;ldquo;tiki-graph_formula.php&amp;rdquo; &amp;ldquo;chain,msg:&amp;lsquo;TIKIWIKI tiki-graph_formula.php f parameter Function Injection Vulnerability&amp;rsquo;,severity:2&amp;rdquo;
SecRule ARGS_NAMES &amp;ldquo;^s*f[.*]$&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ivan, I hope these rules survive your scrutiny ;-)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Updated at 13:50&lt;/strong&gt;: The first rule only covered the file inclusion in the title parameter which was what I was seeing in my logs. These rules should cover both the inclusion and the injection.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Friendly pcap parsing</title>
      <link>https://inliniac.net/blog/2007/10/09/friendly-pcap-parsing/</link>
      <pubDate>Mon, 08 Oct 2007 22:47:28 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/09/friendly-pcap-parsing.html</guid> 
      <description>&lt;p&gt;Over at his weblog &lt;a href=&#34;http://node5.blogspot.com/&#34;&gt;node5&lt;/a&gt;, William Metcalf has written about a nice script he created for automagically extracting full content data for certain ip&amp;rsquo;s and ip ranges from large amounts of pcap data. It will also create some nice output for the data. Check out his &lt;a href=&#34;http://node5.blogspot.com/2007/08/parsep-extend-rangepl-your-friendly.html&#34;&gt;post at node5&lt;/a&gt; and the &lt;a href=&#34;http://doc.bleedingthreats.net/bin/view/Main/PcapParser&#34;&gt;script here at bleedingthreats&lt;/a&gt;. Great to see you blogging Will! :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur gets traffic shaping</title>
      <link>https://inliniac.net/blog/2007/10/02/vuurmuur-gets-traffic-shaping/</link>
      <pubDate>Tue, 02 Oct 2007 19:11:12 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/02/vuurmuur-gets-traffic-shaping.html</guid> 
      <description>&lt;p&gt;The last weeks I&amp;rsquo;ve been working on adding traffic shaping support to Vuurmuur. The work is largely done, only the GUI part is still missing. But using vuurmuur_script it is already usable in the current SVN trunk. I&amp;rsquo;ve written before about my shaping ideas &lt;a href=&#34;http://www.inliniac.net/blog/2006/08/16/vuurmuur-first-baby-steps-in-traffic-shaping.html&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The support currently focuses on three different options:&lt;/p&gt;
&lt;p&gt;1. Limiting bandwidth usage by rules.&lt;/p&gt;
&lt;p&gt;Per rule a limit can be set for the maximum amount of bandwidth all traffic from this rule uses. Both directions of a connection have different limits. The in_max and out_max options can be added to existing rules for this. The syntax of the in_max and out_max is simple: out_max=15kbps means that traffic in the source to destination direction of a rule can at max use 15 kb/s.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Interview about Vuurmuur on security.nl</title>
      <link>https://inliniac.net/blog/2007/10/02/interview-about-vuurmuur-on-securitynl/</link>
      <pubDate>Tue, 02 Oct 2007 11:10:44 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/02/interview-about-vuurmuur-on-securitynl.html</guid> 
      <description>&lt;p&gt;The Dutch security site &lt;a href=&#34;http://www.security.nl&#34;&gt;security.nl&lt;/a&gt; has interviewed me about the &lt;a href=&#34;http://www.vuurmuur.org/&#34;&gt;Vuurmuur&lt;/a&gt; project. The (Dutch language) article can be found &lt;a href=&#34;http://www.security.nl/article/17064/1/Hollandse_Vuurmuur_weerstaat_commerci%EBle_beveiliging_%28Interview%29.html&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks to Joran Polak of security.nl for giving me the opportunity to tell something about this project!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur developments</title>
      <link>https://inliniac.net/blog/2007/09/17/vuurmuur-developments-2/</link>
      <pubDate>Mon, 17 Sep 2007 15:34:49 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/09/17/vuurmuur-developments-2.html</guid> 
      <description>&lt;p&gt;Last weeks I&amp;rsquo;ve spend many hours on my &lt;a href=&#34;http://www.vuurmuur.org/&#34;&gt;Vuurmuur Firewall project&lt;/a&gt;. First I&amp;rsquo;ve been improving the code to prepare for a new release. I&amp;rsquo;ve added NFQUEUE support to Vuurmuur, so I could use it with nfnetlink enabled Snort_inline. Also the connection killing has been improved. The rules limit options were extended, to allow more flexibility.&lt;/p&gt;
&lt;p&gt;Second, with the great help of Adi Kriegisch, I&amp;rsquo;ve been working on setting up a new build server for Debian and Ubuntu packages. Credits mostly go to Adi, who did most of the work &lt;strong&gt;and&lt;/strong&gt; hosts the server. So many thanks to Adi! The new build server supports all version of Debian from Sarge up and of Ubuntu from Dapper and up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Window scaling normalization in Snort_inline broken by design</title>
      <link>https://inliniac.net/blog/2007/09/04/window-scaling-normalization-in-snort_inline-broken-by-design/</link>
      <pubDate>Tue, 04 Sep 2007 15:51:25 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/09/04/window-scaling-normalization-in-snort_inline-broken-by-design.html</guid> 
      <description>&lt;p&gt;After debugging some connection problems I found that the wscale normalization concept is flawed. I&amp;rsquo;ll describe here what is wrong with it and then move on to suggest a different solution I&amp;rsquo;m currently testing. The problem I was seeing is that some connections to some webservers stalled without an apparent reason.&lt;/p&gt;
&lt;p&gt;First a quick reminder of why I originally came up with the wscale normalization. Stream4 originally doesn&amp;rsquo;t look at the window scaling value when determining the TCP window. This causes it to be wrong about the TCP window in about every connection, which is one of the reasons out of window packets are not dropped (this is actually a gaping evasion hole since these packets are not used in stream reassembly). This is why I decided to add window scaling support to the stream4inline extension. This works great and allows the admin to drop out of window packets. There is a problem associated with it though. The maximal window that is possible with wscaling is 1GB. This would mean that Snort_inline would in the worst case have to queue almost 1GB of data in it&amp;rsquo;s buffers for a single stream. To prevent this being used by an attacker to attack Snort_inline, I wanted give the admin the option to set a maximal wscale size.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity rule for Tikiwiki XSS</title>
      <link>https://inliniac.net/blog/2007/08/27/modsecurity-rule-for-tikiwiki-xss/</link>
      <pubDate>Mon, 27 Aug 2007 15:06:22 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/27/modsecurity-rule-for-tikiwiki-xss.html</guid> 
      <description>&lt;p&gt;I just read about a Tikiwiki XSS here. Since the Vuurmuur wiki runs Tikiwiki I created a ModSecurity rule for it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SecDefaultAction &amp;ldquo;log,deny,phase:2,status:403,t:urlDecodeUni,t:lowercase&amp;rdquo;&lt;/p&gt;
&lt;p&gt;# XSS in remind password field
SecRule REQUEST_METHOD &amp;ldquo;^post$&amp;rdquo; &amp;ldquo;chain,msg:&amp;lsquo;TIKIWIKI lost password XSS&amp;rsquo;&amp;rdquo;
SecRule REQUEST_FILENAME &amp;ldquo;tiki-remind_password.php&amp;rdquo; &amp;ldquo;chain&amp;rdquo;
SecRule ARGS:/s*username/ &amp;ldquo;!^(:?[a-z0-9-_]{1,37})$&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This allows only valid usernames to be entered.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Ivan Ristic privately pointed me at some possible problems with the rule:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;the escaping of the - and _ chars is not needed, although it seems to be harmless.&lt;/li&gt;
&lt;li&gt;the $ at the end of the filename is dangerous, because Apache treats tiki-remind_password.php/xxx as tiki-remind_password.php. In this case the rule is evaded.&lt;/li&gt;
&lt;li&gt;PHP (which Tikiwiki uses) ignores leading spaces in request arguments. So it treats &amp;rsquo; username&amp;rsquo; the same as &amp;lsquo;username&amp;rsquo;. The rule needs to deal with that.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks for your feedback Ivan!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Follow up on Sguil securtiy</title>
      <link>https://inliniac.net/blog/2007/08/24/follow-up-on-sguil-securtiy/</link>
      <pubDate>Fri, 24 Aug 2007 16:26:47 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/24/follow-up-on-sguil-securtiy.html</guid> 
      <description>&lt;p&gt;In the discussion about my post about Sguil security there have been a number of ideas and general thoughts. I&amp;rsquo;d like to write about them here to we can further discuss them. There seems to be consensus on that when a sensors is rooted, there is nothing we can do to prevent injection of bogus data as long as it isn&amp;rsquo;t malformed.&lt;/p&gt;
&lt;p&gt;Having the agent authenticate itself is a solution, but it relies on the agent credentials to remain secret. So when a webserver is rooted the attacker will have access to the credentials as they will be stored on the webserver itself. So this approach does provide an extra layer of defense but local roots aren&amp;rsquo;t uncommon, so it remains risky. It may still be worth the effort though.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thoughts on Sguil security</title>
      <link>https://inliniac.net/blog/2007/08/24/thoughts-on-sguil-security/</link>
      <pubDate>Thu, 23 Aug 2007 22:25:26 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/24/thoughts-on-sguil-security.html</guid> 
      <description>&lt;p&gt;Sguil is build using a server and sensors. Traditionally the sensors are passive monitoring agents running Snort and a few other tools. Best practice was (and still is) to separate the management network of these sensors and server from the monitored network(s). This way it would be fairly hard for an attacker to get a shot at the Sguil server.&lt;/p&gt;
&lt;p&gt;Sguil of course, would be a extremely interesting target for hackers. It contains so much info about the monitored network. Also, it has realtime access to all network traffic. A hacker may also be interested in shutting Sguil down to avoid detection.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Modsec2sguil for HTTP transaction logging revisited</title>
      <link>https://inliniac.net/blog/2007/08/22/using-modsec2sguil-for-http-transaction-logging-revisited/</link>
      <pubDate>Wed, 22 Aug 2007 20:05:34 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/22/using-modsec2sguil-for-http-transaction-logging-revisited.html</guid> 
      <description>&lt;p&gt;Recently I wrote about the idea to log all HTTP transactions into Sguil using my Modsec2sguil agent. I&amp;rsquo;ve implemented this in the current &lt;a href=&#34;http://www.inliniac.net/modsec2sguil/&#34;&gt;0.8-dev5&lt;/a&gt; release and it works very well. All events go into Sguil smoothly and I&amp;rsquo;ve not experienced slowdowns on the webserver. I&amp;rsquo;ve been running it for almost a week now, like to share the first experiences here.&lt;/p&gt;
&lt;p&gt;I find it to be quite useful. When receiving an alert, it is perhaps more interesting to see what else was done from that ipaddress than to see what was blocked (unless you are suspecting a false positive of course). One area I find to be useful is when I&amp;rsquo;m creating rules against comment spam on this blog. By seeing all properties of a spam message I can create better rules. For example on broken user-agents or weird codes inserted into the comment field of Wordpress.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using Modsec2sguil for HTTP transaction logging</title>
      <link>https://inliniac.net/blog/2007/08/15/using-modsec2sguil-for-http-transaction-logging/</link>
      <pubDate>Wed, 15 Aug 2007 13:05:08 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/15/using-modsec2sguil-for-http-transaction-logging.html</guid> 
      <description>&lt;p&gt;Modsec2sguil is currently configured to send alerts to Sguil. ModSecurity can be configured to log any event or transaction, including 200 OK, 302 Redirect, etc. Modsec2sguil distinguishes between alerts and other events by only processing HTTP codes of 400 and higher. Since 0.8-dev2 there is a configuration directive to prevent certain codes, such as 404, from being treated as an alert.&lt;/p&gt;
&lt;p&gt;Now I have the following idea. Since ModSecurity can log all events with details of request headers, response headers and POST message body, it may be interesting to just send all these events to Sguil. They should not be appearing as alerts, but having them in the database can perhaps be interesting. I know using flow data and full packet captures the same data can be accessed, but having it in the database makes querying it a lot easier and longer available.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Modsec2sguil release for Sguil 0.7-CVS</title>
      <link>https://inliniac.net/blog/2007/08/14/first-modsec2sguil-release-for-sguil-07-cvs/</link>
      <pubDate>Mon, 13 Aug 2007 22:00:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/14/first-modsec2sguil-release-for-sguil-07-cvs.html</guid> 
      <description>&lt;p&gt;I just uploaded a new version of Modsec2sguil. I&amp;rsquo;ve been working on it the last weeks to get it updated to Sguil 0.7. The scripts are changed all over the place. This is because in the 0.7 framework, my scripts would no longer be a replacement for Barnyard only talking to the sensor_agent on the localhost, instead now it would become a full agent talking to the Sguil server directly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline and out of order packets</title>
      <link>https://inliniac.net/blog/2007/07/30/snort_inline-and-out-of-order-packets/</link>
      <pubDate>Mon, 30 Jul 2007 21:22:56 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/07/30/snort_inline-and-out-of-order-packets.html</guid> 
      <description>&lt;p&gt;In Snort_inline&amp;rsquo;s stream4 modifications, one of the changes is that out of order TCP packets are treated differently from unmodified stream4. This can cause some new alerts to appear and some unexpected behaviour. So I&amp;rsquo;ll try to explain what happens here.&lt;/p&gt;
&lt;p&gt;First of all let me explain quickly what out of order packets are. To put it simple, TCP packets are send out by the source host in a specific order but can arrive in a different order at the destination. Packetloss, link saturation, routing issues are among many things that can cause this. A Snort_inline specific issue is that when Snort_inline can&amp;rsquo;t keep up with the packets it needs to process, it will drop packets which causes packetloss. These packets will then have to be resent by the sending host.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort license changes revisited</title>
      <link>https://inliniac.net/blog/2007/07/16/snort-license-changes-revisited/</link>
      <pubDate>Mon, 16 Jul 2007 21:40:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/2007/07/16/snort-license-changes-revisited.html</guid> 
      <description>&lt;p&gt;Today I noticed that Snort 2.7.0 was quietly released on July 12th. I have a problem with this release, a licensing problem. I have written about my issues with Sourcefires Snort licensing before &lt;a href=&#34;http://www.inliniac.net/blog/2007/06/29/snort-and-the-gpl-version-3.html&#34;&gt;here&lt;/a&gt; and on the mailinglist as well, &lt;a href=&#34;http://article.gmane.org/gmane.comp.security.ids.snort.general/26768/&#34;&gt;here&lt;/a&gt;. They seem to have listened a little bit, since they are no longer claiming copyright of Todd C. Millers BSD licensed strlcpy and strlcat implementation. Sadly, our other complaints are completely ignored.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating a Sguil server from 0.6.1 to 0.7.0 (CVS)</title>
      <link>https://inliniac.net/blog/2007/07/04/migrating-a-sguil-server-from-061-to-070-cvs/</link>
      <pubDate>Wed, 04 Jul 2007 21:10:36 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=92</guid> 
      <description>&lt;p&gt;Today I finally restored my server that used to host my blog, mail server and sguil server. The sguil server was still at 0.6.1 so this was a good time to see how a migration procedure would work (the earlier 0.7.0 test were done with a newly setup server). I haven&amp;rsquo;t been able to find documentation about this procedure, but it looks very straightforward, so I think I did it all right.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update on Sguil 0.7-CVS client on Ubuntu Feisty</title>
      <link>https://inliniac.net/blog/2007/07/04/update-on-sguil-07-cvs-client-on-ubuntu-feisty/</link>
      <pubDate>Wed, 04 Jul 2007 17:10:56 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=91</guid> 
      <description>&lt;p&gt;A short time ago I wrote about how the Sguil 0.7-CVS client can be installed on Ubuntu Feisty. Since then there has been a change to Sguil that changes the requirements a bit. Because of this the standard tcllib package in Feisty is no longer usable. It provides tcllib 1.8 while Sguil now needs 1.9. Luckily, we can use the tcllib package from the upcoming Ubuntu release called &amp;lsquo;Gutsy&amp;rsquo;. It can be found here: &lt;a href=&#34;http://packages.ubuntu.com/gutsy/interpreters/tcllib&#34;&gt;http://packages.ubuntu.com/gutsy/interpreters/tcllib&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort and the GPL version 3</title>
      <link>https://inliniac.net/blog/2007/06/29/snort-and-the-gpl-version-3/</link>
      <pubDate>Fri, 29 Jun 2007 20:21:24 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=90</guid> 
      <description>&lt;p&gt;Today the final version of the &lt;a href=&#34;http://www.gnu.org/licenses/gpl.html&#34;&gt;GPL version 3&lt;/a&gt; was released. This is interesting from many perspectives, and one of them is Snort licensing. Much has been written about Snort and the GPL lately, but that was all about new license language introduced with Snort 3.0 alpha and not about the currently maintained and developed 2.6 and 2.7 branches. When I&amp;rsquo;m talking about Snort here and now, I mean those versions prior to 3.0.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Compiling Snort_inline with NFQUEUE support on Ubuntu</title>
      <link>https://inliniac.net/blog/2007/06/26/compiling-snort_inline-with-nfqueue-support-on-ubuntu/</link>
      <pubDate>Tue, 26 Jun 2007 15:59:21 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=89</guid> 
      <description>&lt;p&gt;I needed to setup the right libraries for Snort_inline development on my fresh Ubuntu Feisty installation, so I decided to write down the procedure for those who think compiling Snort_inline from source is hard. :)&lt;/p&gt;
&lt;p&gt;Make sure you have build-essential package installed. This makes sure you have a compiler and development packages for glibc and other important libraries. I&amp;rsquo;m installing the libraries from source to get the latest versions because the latest versions are more stable and perform better than the versions included in Feisty. I&amp;rsquo;m installing them into /usr because some programs like them there best.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil 0.7-CVS client on Ubuntu Feisty</title>
      <link>https://inliniac.net/blog/2007/06/19/sguil-07-cvs-client-on-ubuntu-feisty/</link>
      <pubDate>Tue, 19 Jun 2007 09:49:08 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=88</guid> 
      <description>&lt;p&gt;I just got a new workstation that I&amp;rsquo;m setting up today with Ubuntu Feisty 7.04. When setting up the Sguil client from CVS I needed to install the following packages (including dependencies, but apt-get takes care of that):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;tcl8.4
tclx8.4
tcllib
tk8.4
iwidgets4&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;After this it ran but looked horrible because of some ugly font that was used. I found that for my use the following fonts look good:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Debian should update their Snort package</title>
      <link>https://inliniac.net/blog/2007/06/16/debian-should-update-their-snort-package/</link>
      <pubDate>Sat, 16 Jun 2007 12:37:13 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=87</guid> 
      <description>&lt;p&gt;Last week there was some discussion in the #snort IRC channel about why Debian distributes such an ancient version of Snort, namely version 2.3.3. This release is more than 2 years old and no longer supported by &lt;a href=&#34;http://www.sourcefire.com&#34;&gt;SourceFire&lt;/a&gt;. The snort.org website says about the old versions:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You should not use these unless you &lt;strong&gt;really&lt;/strong&gt; know what you are doing. Many bugs may have been fixed, including remote vulnerabilities&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Even though Debian is able to fix any security bugs themselves, and they don&amp;rsquo;t need to rely on SourceFire for this, Snort 2.3.3 is still going to be inferior to the recent 2.6.1.5. Why? Well recent Snort versions have many more and improved detection options, such as a better pattern matcher, defragmentation preprocessor, improved stream preprocessor, smtp plugin, etc, etc.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TCP Window scaling in Snort_inline</title>
      <link>https://inliniac.net/blog/2007/06/16/tcp-window-scaling-in-snort_inline/</link>
      <pubDate>Fri, 15 Jun 2007 22:04:57 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=85</guid> 
      <description>&lt;p&gt;The TCP window field in the TCP header is only 16 bits, so the maximum window size it can handle is only 64kb. A long time ago this was enough, but nowadays it isn&amp;rsquo;t, by far. Luckily, this is something the window scaling option fixes. Window scaling is very common these days. Your pc or laptop probably uses it by default. Snort&amp;rsquo;s stream4 however, does not support it. This means that when tracking and reassembling streams, Snort for most connections has no idea about what data is in window and which is out of window. To make matters worse, the packets that are in window when using wscaling, but appear out of window when the wscaling is not accounted for, are never used in the reassembly process. This makes Snort evadable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil 0.7 CVS installation on Debian Etch</title>
      <link>https://inliniac.net/blog/2007/06/12/sguil-07-cvs-installation-on-debian-etch/</link>
      <pubDate>Tue, 12 Jun 2007 21:58:51 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=86</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;http://sguil.sourceforge.net/&#34;&gt;Sguil&lt;/a&gt; 0.7 is getting shape quite nicely. One of the most interesting new features is the splitting up of different types of agents and the option to create &amp;rsquo;net groups&amp;rsquo;. This are groups of agents that Sguil considers part of the same network. You can use this to spread the agents over multiple servers, but still use it from Sguil as if it was one single sensor. For example, this way you can easily create a Snort sensor and a separate full content logging capture server. When you request the full content for a Snort event in Sguil, it will know that it needs to request the packet data from the capture server. This way you can also have multiple Snort agents without the need for capturing the same sancp and full content data over and over again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline 2.6.1.5 released</title>
      <link>https://inliniac.net/blog/2007/06/08/snort_inline-2615-released/</link>
      <pubDate>Fri, 08 Jun 2007 12:55:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=84</guid> 
      <description>&lt;p&gt;Finally, after many months of development and testing, Snort_inline 2.6.1.5 has been released. It&amp;rsquo;s the first stable release in almost a year and also the first stable release based on &lt;a href=&#34;http://www.snort.org&#34;&gt;Snort&lt;/a&gt; 2.6. William sent the announcement:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;snort_inline-2.6.1.5 released&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;List,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;I know it has been a long time since we have had a non&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;beta release,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;but what can I say&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;?&lt;/span&gt; Victor &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; I have both been busy &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; our personal
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; professional lives&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; If you have been running the version of code
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; SVN, there are no major updates with this release other than a
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;memleak fix &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; stream4inline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt; I don&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;t think this gets said often&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;enough, so I would like to thank Sourcefire &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; all the hard work they
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;put into snort &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; the snort rule sets &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; which I &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; the rest of the
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;community greatly benefit&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Regards,
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Will
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;snort_inline&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;2.6&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;1.5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;snort&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;inline&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;sourceforge&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;net&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;download&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;html
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Differences between snort &lt;span style=&#34;color:#f92672&#34;&gt;in&lt;/span&gt; inline mode &lt;span style=&#34;color:#f92672&#34;&gt;and&lt;/span&gt; snort_inline
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;http:&lt;span style=&#34;color:#f92672&#34;&gt;//&lt;/span&gt;www&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;inliniac&lt;span style=&#34;color:#f92672&#34;&gt;.&lt;/span&gt;net&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;blog&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;?&lt;/span&gt;p&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;74&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;p&gt;Go and get it! :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing and creating Autopackages in a chroot</title>
      <link>https://inliniac.net/blog/2007/05/31/installing-and-creating-autopackages-in-a-chroot/</link>
      <pubDate>Thu, 31 May 2007 20:50:54 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=83</guid> 
      <description>&lt;p&gt;This may be a little off-topic for this weblog, but since I spend quite some time researching this, I&amp;rsquo;ve decided to write about it anyway. When preparing a new release for Vuurmuur, I wanted to create an &lt;a href=&#34;http://www.autopackage.org&#34;&gt;Autopackage&lt;/a&gt; as well. For those that are unaware of it Autopackage is a distribution independent installer for Linux binaries. Because creating packages for every distro including flavor and versions is way out of my reach, a general installer can save the day.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Memory leak fixed in stream4inline</title>
      <link>https://inliniac.net/blog/2007/05/22/memory-leak-fixed-in-stream4inline/</link>
      <pubDate>Tue, 22 May 2007 21:54:17 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=82</guid> 
      <description>&lt;p&gt;A few days ago William told me that if he enabled stream4inline on a busy gateway, Snort_inline would consume all memory within hours. The problem went away when disabling stream4inline, so it made sense that the problem would be in there somewhere.&lt;/p&gt;
&lt;p&gt;The first suspect was the reassembly cache. The reassembly cache is used to keep a per stream copy of the reassembled packet in memory. While being memory expensive, it greatly speeds up the &lt;em&gt;sliding window&lt;/em&gt; stream reassembly process, especially with small packets. The reason for this being the first and primary suspect is that this is the only place where stream4inline code allocates memory. Reviewing the code however, showed no leaks and adding a debug counter to monitor the memory usage also showed that the leak was not in that code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur NFQUEUE support</title>
      <link>https://inliniac.net/blog/2007/05/22/vuurmuur-nfqueue-support/</link>
      <pubDate>Tue, 22 May 2007 13:21:23 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=81</guid> 
      <description>&lt;p&gt;Vuurmuur supported the QUEUE target for a while already, even though it needed a little bit of a hack to handle the &lt;em&gt;state&lt;/em&gt;. This is because the iptables ruleset Vuurmuur creates is quite simple: after a few general protection rules it starts by accepting traffic with the state &lt;em&gt;established&lt;/em&gt;. Since there is no way to say &amp;lsquo;queue established traffic that was queued before&amp;rsquo; in iptables I decided to use traffic marking to distinguish between traffic to be queued or accepted. But there was a problem with this approach. I didn&amp;rsquo;t want to cripple the marking of traffic for other purposes, such as traffic shaping and routing, so I decided to use mark-ranges to either queue or accept:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity IRC channel</title>
      <link>https://inliniac.net/blog/2007/05/16/modsecurity-irc-channel/</link>
      <pubDate>Wed, 16 May 2007 09:29:44 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=80</guid> 
      <description>&lt;p&gt;Since a few weeks there is an active IRC channel for ModSecurity. It&amp;rsquo;s hosted on the Freenode network. The channelname is #modsecurity.&lt;/p&gt;
&lt;p&gt;Join us there! :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline updated to 2.6.1.5 in SVN</title>
      <link>https://inliniac.net/blog/2007/05/14/snort_inline-updated-to-2615-in-svn/</link>
      <pubDate>Mon, 14 May 2007 20:02:12 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=79</guid> 
      <description>&lt;p&gt;SourceFire just released Snort 2.6.1.5 so I have updated our patch to that. You can get it by checking out SVN with the following command:&lt;/p&gt;
&lt;p&gt;svn co &lt;a href=&#34;https://snort-inline.svn.sourceforge.net/svnroot/snort-inline/trunk&#34;&gt;https://snort-inline.svn.sourceforge.net/svnroot/snort-inline/trunk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Check it out! :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Differences between Snort and Snort_inline</title>
      <link>https://inliniac.net/blog/2007/05/14/differences-between-snort-and-snort_inline/</link>
      <pubDate>Mon, 14 May 2007 17:05:41 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=74</guid> 
      <description>&lt;p&gt;Every few weeks the same question comes up: what is the difference between Snort in inline mode and Snort_inline. This makes sense, because the Snort_inline documentation and website fail to explain it. In this post I will try to highlight the main differences. In general I can say that we try to develop Snort_inline as a patchset on top of Snort. Snort_inline is focused at improving the &lt;em&gt;inline&lt;/em&gt; part of Snort. Originally of course, Snort&amp;rsquo;s &lt;em&gt;inline&lt;/em&gt; capabilities were developed in the Snort_inline project. With Snort 2.3.0RC1 they were merged into mainline Snort.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur SVN now open</title>
      <link>https://inliniac.net/blog/2007/05/14/vuurmuur-svn-now-open/</link>
      <pubDate>Mon, 14 May 2007 16:57:09 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=78</guid> 
      <description>&lt;p&gt;For version control for Vuurmuur development I have been using Bazaar and Bazaar-NG. I&amp;rsquo;ve never really gotten used to Bazaar-NG. I admit that this is mostly due to lack of trying. For the Snort_inline project I have gotten used to Subversion, for which I even bought a book (Practical Subversion by Garrett Rooney, great book!). So recently I decided to move Vuurmuur also to SVN, for these three reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;this way I need to work with only one tool&lt;/li&gt;
&lt;li&gt;people in the OSS community are more used to SVN so it&amp;rsquo;s easier for users and people interested in contributing&lt;/li&gt;
&lt;li&gt;Bazaar-NG doesn&amp;rsquo;t support SVN-style tags, except (I think) for the latest version which is not in my distro&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So the SVN repository is now open. It is hosted at SourceForge at:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline updated to 2.6.1.4 in SVN</title>
      <link>https://inliniac.net/blog/2007/04/20/snort_inline-updated-to-2614-in-svn/</link>
      <pubDate>Fri, 20 Apr 2007 16:47:33 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=75</guid> 
      <description>&lt;p&gt;After moving, which went fine, I now finally have some real coding time again. The last week I have been updating and fixing various parts of Snort_inline. The most important change was the update to Snort version 2.6.1.4, which contains security fixes. William also found an issue with the Stream4inline code. The issue was that the memcap that the admin sets to limit the amount of memory used by stream4 wasn&amp;rsquo;t properly enforced.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline and TCP Segmentation Offloading</title>
      <link>https://inliniac.net/blog/2007/04/20/snort_inline-and-tcp-segmentation-offloading/</link>
      <pubDate>Fri, 20 Apr 2007 16:36:55 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=76</guid> 
      <description>&lt;p&gt;Since a short while I have a gigabit setup at home. My laptop has a e1000 Intel NIC, my desktop a Broadcom NIC.While playing with Snort_inline and netpipe-tcp, I noticed something odd. I got tcp packets that had the &amp;lsquo;Don&amp;rsquo;t Fragment&amp;rsquo; option set, but were still bigger than the mtu size of the link. Snort_inline read packets of up to 26kb from the queue, and wireshark and tcpdump were seeing the packets as well. This was only for outgoing packets on the e1000 NIC. The receiving pc saw the packets split up in multiple packets that were honoring the mtu size. This got me thinking that some form of offloading must be taking place and indeed this was the case:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Site moved</title>
      <link>https://inliniac.net/blog/2007/04/05/site-moved/</link>
      <pubDate>Thu, 05 Apr 2007 08:05:56 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=73</guid> 
      <description>&lt;p&gt;This site is hosted at a server at my home and is connected using my DSL connection. Next weekend I&amp;rsquo;m moving and the DSL has to be moved as well. Since that usually takes a few weeks here, I had to move the blog (and my mailserver) elsewhere for a while. Luckily Adi Kriegisch provided me with access to a server, so yesterday both my mailserver and weblog were moved. I have no native IPv6 connection there so I&amp;rsquo;ve disabled IPv6 access for now. Maybe I&amp;rsquo;ll try to restore it later. As far as I can see everything works, but if you see any problems please let me know! Big thanks to Adi for hosting my site!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running IPv6 with Freenet6 when on the road</title>
      <link>https://inliniac.net/blog/2007/03/27/running-ipv6-with-freenet6-when-on-the-road/</link>
      <pubDate>Tue, 27 Mar 2007 18:25:33 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=72</guid> 
      <description>&lt;p&gt;I wrote about my experiments with IPv6 before. These were done for my home network where I have an ISP that offers an IPv6 tunnel broker. The last two months I have not been in my home, but instead using internet &amp;lsquo;on the road&amp;rsquo; mostly through wireless LANs. There are a number of techniques for using IPv6 if your provider doesn&amp;rsquo;t offer it, and today I stumbled on one in &lt;a href=&#34;http://www.networkworld.com/news/2007/032607-hexago-ipv6.html&#34;&gt;this NetworkWorld article&lt;/a&gt;, so I decided to give it a try.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New WordPress issue &#43; Snort and ModSecurity rules</title>
      <link>https://inliniac.net/blog/2007/03/20/new-wordpress-issue-modsecurity-rule/</link>
      <pubDate>Tue, 20 Mar 2007 18:03:21 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=71</guid> 
      <description>&lt;p&gt;I just read about a new issue with &lt;a href=&#34;http://www.wordpress.org/&#34;&gt;WordPress&lt;/a&gt; &lt;a href=&#34;http://www.securityfocus.com/archive/1/463291&#34;&gt;here&lt;/a&gt; at SecurityFocus. It&amp;rsquo;s a potential credential stealing vulnerability, so I quickly created these &lt;a href=&#34;http://www.modsecurity.org&#34;&gt;ModSecurity&lt;/a&gt; 2 rules:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SecDefaultAction &amp;ldquo;log,deny,status:403,phase:2,t:lowercase,t:escapeSeqDecode&amp;rdquo;&lt;/strong&gt;
&lt;strong&gt;SecRule REQUEST_FILENAME &amp;ldquo;/wp-login.php$&amp;rdquo; &amp;ldquo;chain,msg:&amp;lsquo;WORDPRESS wp-login.php redirect_to credentials stealing attempt&amp;rsquo;,severity:2,t:normalisePath&amp;rdquo;&lt;/strong&gt;
&lt;strong&gt;SecRule ARGS_NAMES &amp;ldquo;^redirect_to$&amp;rdquo; &amp;ldquo;chain&amp;rdquo;&lt;/strong&gt;
&lt;strong&gt;SecRule ARGS:redirect_to &amp;ldquo;(ht|f)tps?://&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I can still login to my WordPress install, so it seems that the rule does no harm. Use at your own risk!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: I&amp;rsquo;ve created a Snort rule as well:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modsec2sguil 0.7 released</title>
      <link>https://inliniac.net/blog/2007/03/18/modsec2sguil-07-released/</link>
      <pubDate>Sun, 18 Mar 2007 10:41:28 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=70</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve just released version 0.7 of Modsec2sguil, the set of perl scripts to feed ModSecurity alerts to the Sguil NSM system. The main change of this release is that it adds support for alerts produced by ModSecurity 2.x, while 1.9.x remains to be supported. Next to this the conversion between ModSecurity&amp;rsquo;s severity and Snort&amp;rsquo;s priority was fixed, so alerts should show up in the right pane in Sguil again.&lt;/p&gt;
&lt;p&gt;Please give this release a try and let me know how it works for you!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaking information by using IPv6</title>
      <link>https://inliniac.net/blog/2007/03/15/leaking-information-using-ipv6/</link>
      <pubDate>Thu, 15 Mar 2007 19:56:16 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=69</guid> 
      <description>&lt;p&gt;As I wrote before, I&amp;rsquo;m experimenting with IPv6. I have a tunnel to my ISP from my router. The router is running Linux and uses radvd to advertise my IPv6 prefix to my networks. My dmz, in which this blog is hosted, get the 2001:888:13c5:cafe::/64 prefix. The IPaddresses are then created by taking the MACaddress of a network interface and placing that behind the prefix. It&amp;rsquo;s a nice and simple autoconfiguration system. So the IPv6 address of the blog is 2001:888:13c5:cafe:20c:29ff:fe13:2b42.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Experimenting with IPv6</title>
      <link>https://inliniac.net/blog/2007/03/13/experimenting-with-ipv6/</link>
      <pubDate>Tue, 13 Mar 2007 19:04:51 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=68</guid> 
      <description>&lt;p&gt;My &lt;a href=&#34;http://www.xs4all.nl/&#34;&gt;ISP&lt;/a&gt; is one of the few here in the Netherlands that provides a IPv6 tunnel broker. I have played with it some during the last year or so, but now decided to get a little more serious with it. So I&amp;rsquo;ve decided to enable it for my blog. When opening up my site to IPv6 one thing that is important is security. I will describe the status of IPv6 support of my current setup:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity evasion vulnerability</title>
      <link>https://inliniac.net/blog/2007/03/06/modsecurity-evasion-vulnerability/</link>
      <pubDate>Tue, 06 Mar 2007 17:35:09 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=67</guid> 
      <description>&lt;p&gt;ModSecurity author Ivan Ristic just reported that a ModSecurity evasion vulnerability has been published without him being notified in advance, so there is no update available yet. Check &lt;a href=&#34;http://permalink.gmane.org/gmane.comp.apache.mod-security.user/2697&#34;&gt;here&lt;/a&gt; for his announcement. And &lt;a href=&#34;http://www.php-security.org/MOPB/BONUS-12-2007.html&#34;&gt;here&lt;/a&gt; for the advisory. Ivan Ristic suggests everyone to use this workaround until an updated version of ModSecurity is released (put on a single line):&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SecRule REQUEST_BODY &amp;ldquo;@validateByteRange 1-255&amp;rdquo; &amp;ldquo;log,deny,phase:2,t:none,msg:&amp;lsquo;ModSecurity ASCIIZ Evasion Attempt&amp;rsquo;&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been using that rule for an hour or so, and have seen no false positives so far.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update on using realtime blacklists with ModSecurity</title>
      <link>https://inliniac.net/blog/2007/03/01/update-on-using-realtime-blacklists-with-modsecurity/</link>
      <pubDate>Thu, 01 Mar 2007 08:04:55 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=66</guid> 
      <description>&lt;p&gt;A few days ago I posted a blog article about stopping comment spam with ModSecurity using realtime blacklists (rbl). While the approach was working, I noted having problems with rules when I tried to match on POST methods in HTTP requests.&lt;/p&gt;
&lt;p&gt;Luckily, ModSecurity creator Ivan Ristic was quick to point out where the problem is. I&amp;rsquo;m using the Core Ruleset for ModSecurity, and one thing that ruleset does is use the &amp;rsquo;lowercase&amp;rsquo; transformation. This converts all text from arguments to lowercase, so my ^POST$ match would never be able to match. So like Ivan suggested, using ^post$ solved this part.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blocking comment spam using ModSecurity and realtime blacklists</title>
      <link>https://inliniac.net/blog/2007/02/23/blocking-comment-spam-using-modsecurity-and-realtime-blacklists/</link>
      <pubDate>Thu, 22 Feb 2007 22:25:45 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=64</guid> 
      <description>Spammers are known to use compromised hosts from all over the world to send their messages. Many people are blocking or scoring email spam based on realtime blacklist (rbl), which contain ipaddresses of these known bad hosts. In my experience this works fairly well for email. A while ago I noticed in the ModSecurity documentation for version 2.0 that ModSecurity features an operator called &lt;a href=&#34;http://modsecurity.org/documentation/modsecurity-apache/2.1.0-rc6/html-multipage/08-operators.html#N11490&#34;&gt;rbl&lt;/a&gt;, that can be used to check the ipaddress of a visitor with a rbl. So I decided to see if I could use the realtime blacklists to prevent comment spam on my blog. Turns out this works great! In this post I&amp;rsquo;ll show how to get it working.</description>
    </item>
    <item>
      <title>Snort_inline in svn updated to 2.6.1.3</title>
      <link>https://inliniac.net/blog/2007/02/22/snort_inline-in-svn-updated-to-2613/</link>
      <pubDate>Thu, 22 Feb 2007 07:59:05 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=65</guid> 
      <description>&lt;p&gt;This week &lt;a href=&#34;http://www.sourcefire.com/&#34;&gt;SourceFire&lt;/a&gt; published a &lt;a href=&#34;http://www.snort.org/docs/advisory-2007-02-19.html&#34;&gt;security advisory&lt;/a&gt; for (among others) &lt;a href=&#34;http://www.snort.org&#34;&gt;Snort&lt;/a&gt; version 2.6.1.2, on which Snort_inline is based. So I took some time to update Snort_inline. Normally this would have taken Will and me quite some time, but since we switched to using svn those days are gone. I was able to update it in under a hour. I was very happy I blogged about the procedure to follow, since I had already forgotten about it ;-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline 2.6.1.2 BETA 1 released!</title>
      <link>https://inliniac.net/blog/2007/01/23/snort_inline-2612-beta-1-released/</link>
      <pubDate>Tue, 23 Jan 2007 15:52:00 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=63</guid> 
      <description>&lt;p&gt;William Metcalf has finally released the new Snort_inline version we have been working on so hard, the first release of our code against Snort 2.6. The last release was in June 2006.&lt;/p&gt;
&lt;p&gt;Of course, we continue to lag behind SourceFire, as they just released 2.7.0 BETA 1, but I have good hope that we will be able to keep up a little bit better the following time!&lt;/p&gt;
&lt;p&gt;Anyway, get the release from the SourceForge &lt;a href=&#34;http://sourceforge.net/project/showfiles.php?group_id=78497&amp;amp;package_id=219144&amp;amp;release_id=480637&#34;&gt;download section&lt;/a&gt;!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating from ModSecurity 1.9.4 to 2.0.4</title>
      <link>https://inliniac.net/blog/2007/01/20/migrating-from-modsecurity-194-to-204/</link>
      <pubDate>Sat, 20 Jan 2007 10:34:05 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=62</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;http://www.modsecurity.org/&#34;&gt;ModSecurity&lt;/a&gt; 2 has been out for a while now, and although I have played with it some, I never found some time to upgrade my own servers. The upgrading generally went quite smooth, even though ModSecurity 2 changed quite a bit.&lt;/p&gt;
&lt;p&gt;First of all there are now 5 phases where you can filter. Actually, one of them only applies to the logging, so you can filter in 4 phases. The phases are headers and body for both request and response traffic. Filtering on specific URIs can be done in phase 1 (request headers), while inspecting a POST payload requires phase 2 (request body).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline patch updated to 2.6.1.2</title>
      <link>https://inliniac.net/blog/2007/01/17/snort_inline-patch-updated-to-2612/</link>
      <pubDate>Wed, 17 Jan 2007 11:55:34 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=61</guid> 
      <description>&lt;p&gt;With the recent Snort vulnerabilities we had to make a choice if we would backport the fixes to our Snort_inline 2.6.0.2 patch or that we would upgrade to 2.6.1.2. Upgrading makes most sense since &lt;a href=&#34;http://www.sourcefire.com/&#34;&gt;SourceFire&lt;/a&gt; improves Snort with every release, but since the upgrade process has been very painful the last couple of releases, we weren&amp;rsquo;t really looking forward to it.&lt;/p&gt;
&lt;p&gt;Earlier I wrote about my testing with &lt;a href=&#34;http://www.inliniac.net/blog/?p=60&#34;&gt;Subversion for Snort_inline&lt;/a&gt;, and I found out that using Subversion made the upgrade procedure much easier and much less time consuming. So upgrading it was. Generally there were little changes to the Snort_inline patch required.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up Subversion for Snort_inline</title>
      <link>https://inliniac.net/blog/2007/01/17/setting-up-subversion-for-snort_inline/</link>
      <pubDate>Wed, 17 Jan 2007 11:02:31 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=60</guid> 
      <description>&lt;p&gt;A reason for the slow development of Snort_inline is that we still weren&amp;rsquo;t using a version control system. Being sick of this, I decided to setup a private Subversion server to see how we could best use it. One thing that complicates the use of such a system is the fact that we maintain a patch on top of source code not maintained by ourselves. So the system must be able to deal with upstream sourcecode updates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur developments</title>
      <link>https://inliniac.net/blog/2007/01/12/vuurmuur-developments/</link>
      <pubDate>Fri, 12 Jan 2007 21:47:01 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=59</guid> 
      <description>&lt;p&gt;This is my first blog post in 2007, so let me start by wishing everyone a good and healthy new year. In the new year I finally released a new version of Vuurmuur. It was the longest period between two releases, the last one was in April 06. The last year has been pretty hectic, with my graduation, looking for work, and now working&amp;hellip; Also I&amp;rsquo;ve been stepping up work on &lt;a href=&#34;http://snort-inline.sourceforge.net/&#34;&gt;Snort_inline&lt;/a&gt; and &lt;a href=&#34;http://www.inliniac.net/modsec2sguil/&#34;&gt;Modsec2sguil&lt;/a&gt;, which all took away coding time from Vuurmuur.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline 2.6 development update</title>
      <link>https://inliniac.net/blog/2006/12/23/snort_inline-26-development-update/</link>
      <pubDate>Sat, 23 Dec 2006 00:35:58 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=58</guid> 
      <description>&lt;p&gt;Development of Snort_inline 2.6 experienced a bit of a setback when William and I discovered that the new Stream4inline had some issues with detecting certain attacks. Since we are scanning the reassembled stream certain detection plugins didn&amp;rsquo;t work as expected. Basically every detection plugin that uses absolute offsets from the packet start is messed up when we scan the reassembled stream only.&lt;/p&gt;
&lt;p&gt;This is because the start of the reassembled stream doesn&amp;rsquo;t match with the start of the last packet added to this stream. Most TCP sigs are using offsets match against the start of the stream, or relative matches. For example a rule like:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline: good article in hackin9 magazine</title>
      <link>https://inliniac.net/blog/2006/12/05/snort_inline-good-article-in-hackin9-magazine/</link>
      <pubDate>Tue, 05 Dec 2006 21:50:28 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=57</guid> 
      <description>&lt;p&gt;William pointed me at a nice introductionary article in &lt;a href=&#34;http://en.hakin9.org/content/display/77&#34;&gt;Hackin9 magazine&lt;/a&gt; about setting up and running Snort_inline in various scenarios. Written by Pierpaolo Palazzoli and Matteo Valenza. Worth a read!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://en.hakin9.org/attachments/hakin9_6-2006_str22-33_snort_EN.pdf&#34;&gt;http://en.hakin9.org/attachments/hakin9_6-2006_str22-33_snort_EN.pdf&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up networking in Qemu for using OpenNSM</title>
      <link>https://inliniac.net/blog/2006/11/13/setting-up-networking-in-qemu-for-using-opennsm/</link>
      <pubDate>Mon, 13 Nov 2006 09:22:13 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=56</guid> 
      <description>&lt;p&gt;Geek00L has created a OpenBSD 4.0 based QEMU image called &lt;a href=&#34;http://geek00l.blogspot.com/2006/11/opennsm-released.html&#34;&gt;OpenNSM&lt;/a&gt; which I decided to give a try. Getting the networking part to work with my Linux host was a bit of a puzzle, so i&amp;rsquo;m writing it down here. Most of the steps were taken from the unofficial qemu wiki page &lt;a href=&#34;http://kidsquid.com/cgi-bin/moin.cgi/bridge&#34;&gt;here&lt;/a&gt;, but not all of them were necesarry.&lt;/p&gt;
&lt;p&gt;First of all, I had to use the QEMU version 0.8.2 from the &lt;a href=&#34;http://fabrice.bellard.free.fr/qemu/&#34;&gt;QEMU website&lt;/a&gt;, because the 0.8.0 version from my Ubuntu Dapper workstation didn&amp;rsquo;t work. With the latter version the OpenBSD bootup would just hang at the message &amp;lsquo;clock: Unknown CMOS layout&amp;rsquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Detecting and blocking Phishing with Snort and ClamAV</title>
      <link>https://inliniac.net/blog/2006/11/12/detecting-and-blocking-phishing-with-snort-and-clamav/</link>
      <pubDate>Sun, 12 Nov 2006 18:12:31 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=55</guid> 
      <description>&lt;p&gt;&lt;a href=&#34;http://www.clamav.net/&#34;&gt;ClamAV&lt;/a&gt; is a great Open Source virusscanner that can be used for detecting virusses from &lt;a href=&#34;http://www.snort.org/&#34;&gt;Snort&lt;/a&gt; or &lt;a href=&#34;http://snort-inline.sf.net/&#34;&gt;Snort_inline&lt;/a&gt; using the &lt;a href=&#34;http://www.bleedingthreats.net/staticpages/index.php?page=snort-clamav&#34;&gt;ClamAV preprocessor&lt;/a&gt;. However, by using the anti-phishing and anti-scam signatures by &lt;a href=&#34;http://www.sanesecurity.com/clamav/&#34;&gt;SaneSecurity&lt;/a&gt;, this combination can also be used to detect and block phishing and scam attempts. Here is how to set it up.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve decided to run this on my gateway, which is a slow machine. Because I don&amp;rsquo;t want all my traffic to slow down to much, I&amp;rsquo;m not going to run the ClamAV defs, only the anti-phishing ones. The default location of the defs on my Debian Sarge system is /var/lib/clamav, so I&amp;rsquo;ve created a new directory called &amp;lsquo;/var/lib/clamav-phish&amp;rsquo;. Next I&amp;rsquo;ve downloaded the defs from &lt;a href=&#34;http://www.sanesecurity.com/clamav/downloads.htm&#34;&gt;SaneSecurity&lt;/a&gt;. After unzipping them and the defs were ready.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Update on Snort_inline 2.6.0.2 development</title>
      <link>https://inliniac.net/blog/2006/11/10/update-on-snort_inline-2602-development/</link>
      <pubDate>Fri, 10 Nov 2006 11:54:11 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=54</guid> 
      <description>&lt;p&gt;I have spend the last week trying to find a very annoying bug that caused Snort_inline to go into 100% CPU on certain traffic. It kept working, only my P3 500Mhz home gateway slowed down to between 2kb/s and 25kb/s, while normally it handles the full 325kb/s for my DSL line at around 25% CPU.&lt;/p&gt;
&lt;p&gt;Snort comes with a number of performance measurement options. In 2.6 &amp;ndash;enable-perfprofiling was introduced. Also, &amp;ndash;enable-profile builds Snort for use with gprof. Next to those you can use strace and ltrace with the -c option to see the ammount of time spend in the several functions.&lt;/p&gt;
&lt;p&gt;I already knew the problem was related to my new Stream4 code, since running Snort_inline without the &amp;lsquo;stream4inline&amp;rsquo; option made the problem go away. So my performance debugging and code reviews were focussed on that code. However, the performance statistics showed no functions that took large ammounts of time in Stream4.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>New ClamAV patch for Snort 2.6.0.2</title>
      <link>https://inliniac.net/blog/2006/11/06/new-clamav-patch-for-snort-2602/</link>
      <pubDate>Mon, 06 Nov 2006 08:11:50 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=53</guid> 
      <description>&lt;p&gt;Okay, so i&amp;rsquo;m &lt;a href=&#34;http://marc.theaimsgroup.com/?l=snort-users&amp;amp;m=116278345729435&amp;amp;w=2&#34;&gt;fired at patch making&lt;/a&gt; because I screwed up the last patch. I never bothered to test it with Snort in inline-mode. This didn&amp;rsquo;t work because we included all kinds of specific features for Snort_inline into the preprocessor. I have updated the patch.&lt;/p&gt;
&lt;p&gt;Get it here: &lt;a href=&#34;http://www.inliniac.net/files/061106-snort-2.6.0.2-clamav.diff.gz&#34;&gt;http://www.inliniac.net/files/061106-snort-2.6.0.2-clamav.diff.gz&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Will, am I re-hired now? Pretty please??? ;-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rules for reported Tikiwiki vulnerabilities</title>
      <link>https://inliniac.net/blog/2006/11/02/rules-for-reported-tikiwiki-vulnerabilities/</link>
      <pubDate>Thu, 02 Nov 2006 11:02:52 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=51</guid> 
      <description>&lt;p&gt;Yesterday there was a mail to the bugtraq mailinglist about two types of vulnerabilties in Tikiwiki 1.9.5. The most serious is a claimed MySQL password disclosure through a special URI. The second is an XSS, also through an special URI. The message can be found &lt;a href=&#34;http://www.securityfocus.com/archive/1/450268/30/0&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I wrote &amp;lsquo;claimed password disclosure&amp;rsquo;, because on the Tikiwiki server I run, I could not reproduce it. With that I mean the password disclosure, since I do see that Tikiwiki gives an error that reveals other information, most notably the location of the website on the local filesystem.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline: getting closer to 2.6.0.2</title>
      <link>https://inliniac.net/blog/2006/10/30/snort_inline-getting-closer-to-2602/</link>
      <pubDate>Sun, 29 Oct 2006 22:40:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=49</guid> 
      <description>&lt;p&gt;I&amp;rsquo;m back from my vacation which was very nice. Hardly did any geek stuff, other than meeting up with Philippe, who lives in Paris. It was the first time I met someone I got to know through the Vuurmuur project :)&lt;/p&gt;
&lt;p&gt;So with Snort_inline things aren&amp;rsquo;t moving as fast as I hoped, but there is certainly progress. I&amp;rsquo;m currently hunting for a few bugs. First of all I&amp;rsquo;ve seen it segfault on me once. Sadly I had forgotten to enable coredumps, so no clue as of why. Second, William and I have been ironing out some issues where the new stream4 mode was getting mixed up with the old. I think these are pretty much taken care of now. Third, there is a bug where an unified alert fired by http_inspect doesn&amp;rsquo;t contain a payload. Finally, i&amp;rsquo;m hunting what appears to be a heisenbug in the new stream reassembly, because I&amp;rsquo;ve never encountered it since I&amp;rsquo;m actually looking for it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vacation!</title>
      <link>https://inliniac.net/blog/2006/10/21/vacation/</link>
      <pubDate>Sat, 21 Oct 2006 20:10:09 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=50</guid> 
      <description>&lt;p&gt;Since I was very busy this summer with finishing my Master thesis I still owed my girlfriend a vacation. Tomorrow we are leaving for a week of vacation in Paris&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>A word about my current employment situation</title>
      <link>https://inliniac.net/blog/2006/10/13/a-word-about-my-current-employment-situation/</link>
      <pubDate>Fri, 13 Oct 2006 08:19:59 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=48</guid> 
      <description>&lt;p&gt;Yesterday the talks between me and my employer of the last five years broke down in disagreement. The company where I have been working as a part-time Sytem Admin for the last five years next to my study, offered me a job in their webdevelopment team. It wasn&amp;rsquo;t security related, but it sounded interesting enough since I would mostly work on the backend where connections with databases and third parties would be handled. Anyway, the talks broke down so I&amp;rsquo;m now looking for work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ClamAV preprocessor patch for Snort 2.6.0.2</title>
      <link>https://inliniac.net/blog/2006/10/07/clamav-preprocessor-patch-for-snort-2602/</link>
      <pubDate>Sat, 07 Oct 2006 19:21:21 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=47</guid> 
      <description>&lt;p&gt;Since William and I are working on Snort Inline 2.6.0.2 this weekend we also have a working ClamAV for 2.6.0.2. So I took a few minutes to patch it against Snort 2.6.0.2 as well. Nothing changed in it, it is just a port to 2.6.0.2.&lt;/p&gt;
&lt;p&gt;Get it here: &lt;a href=&#34;http://www.inliniac.net/files/061007-snort-2.6.0.2-clamav.diff.gz&#34;&gt;http://www.inliniac.net/files/061007-snort-2.6.0.2-clamav.diff.gz&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Modsec2sguil 0.6 released</title>
      <link>https://inliniac.net/blog/2006/10/07/modsec2sguil-06-released/</link>
      <pubDate>Fri, 06 Oct 2006 22:01:16 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=46</guid> 
      <description>&lt;p&gt;I&amp;rsquo;ve just release a new version of modsec2sguil, the set of Perl scripts that feeds ModSecurity alerts to Sguil. No new features, but many changes &amp;lsquo;under the hood&amp;rsquo;. I&amp;rsquo;ve created two modules, ModsecAlert and SguilBarnyardComms. These can be used in a Object Oriented way to parse ModSecurity events and communitcate a Sguil sensor agent.&lt;/p&gt;
&lt;p&gt;It would be interesting to see if the SguilBarnyardComms module could be connected with the work of Jason Brevnik of SourceFire, who wrote a &lt;a href=&#34;http://cerberus.sourcefire.com/~jbrvenik/unified_perl/&#34;&gt;Barnyard replacement&lt;/a&gt; in Perl. If I have some spare time, I will have a look at this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline: running Snort_inline 2.6.0.2</title>
      <link>https://inliniac.net/blog/2006/10/05/snort_inline-running-snort_inline-2602/</link>
      <pubDate>Thu, 05 Oct 2006 08:13:29 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=45</guid> 
      <description>&lt;p&gt;No, it&amp;rsquo;s not released. But it wil be soon&amp;hellip; really!&lt;/p&gt;
&lt;p&gt;William has done most of the hard work of porting our Snort_inline patch from 2.4.5 to 2.6. I have mostly been working on improving the stream4inline modification. I have written about this &lt;a href=&#34;http://www.inliniac.net/blog/?p=3&#34;&gt;before&lt;/a&gt;. Like the stream4inline modification in Snort_inline 2.4.5 it scans the stream in a sliding window, making it possible to drop an attack detected in the reassembled stream. The new code does the same but is much faster, at the cost of higher memory usage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur: extending the connection options to the logviewer</title>
      <link>https://inliniac.net/blog/2006/10/01/vuurmuur-extending-the-connection-options-to-the-logviewer/</link>
      <pubDate>Sun, 01 Oct 2006 11:41:40 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=44</guid> 
      <description>&lt;p&gt;In Vuurmuur 0.5.72 alpha 1, I introduced a connection management interface to the connection viewer, allowing the administrator to kill connections and add ipaddresses to the blocklist. Next, I&amp;rsquo;m working on doing about the same for the logviewer. The idea is to have a menu with options for each individual logline. I can think of a large number of interesting options, but I think the best would be an option like &amp;lsquo;create a rule based on this logline&amp;rsquo;. This would then open a prefilled rule window based on the values in the log. This option would make it very easy to get going with a new Vuurmuur setup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First (beta) release of modsec2sguil 0.5</title>
      <link>https://inliniac.net/blog/2006/09/20/first-beta-release-of-modsec2sguil-05/</link>
      <pubDate>Wed, 20 Sep 2006 20:26:03 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=43</guid> 
      <description>&lt;p&gt;I have been writing about getting ModSecurity alerts into Sguil before. Today I can finally release a first public version. It&amp;rsquo;s pretty crude, but it WorksForMe(tm).&lt;/p&gt;
&lt;p&gt;The release can be found &lt;a href=&#34;http://www.inliniac.net/files/modsec2sguil-0.5.tar.gz&#34;&gt;here&lt;/a&gt;. If you are interested, please try it. There is some documentation in the archive.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: renaming a sensor</title>
      <link>https://inliniac.net/blog/2006/09/09/sguil-renaming-a-sensor/</link>
      <pubDate>Fri, 08 Sep 2006 23:09:17 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=41</guid> 
      <description>&lt;p&gt;This might be a no-brainer for some, but today I wanted to rename a sensor in Sguil, and decided to write the steps down.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Preparation&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;backup the db&lt;/li&gt;
&lt;li&gt;stop sancp on the sensor&lt;/li&gt;
&lt;li&gt;stop barnyard on the sensor&lt;/li&gt;
&lt;li&gt;stop sensor_agent on the sensor&lt;/li&gt;
&lt;li&gt;stop snort on the sensor&lt;/li&gt;
&lt;li&gt;stop log_packets on the sensor&lt;/li&gt;
&lt;li&gt;stop sguild on the server&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Steps on the Sguil server&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Update the sensor name in the database.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: adding support for ModSecurity alerts, continued</title>
      <link>https://inliniac.net/blog/2006/09/08/sguil-adding-support-for-mod_security-alerts-continued/</link>
      <pubDate>Thu, 07 Sep 2006 22:19:34 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=38</guid> 
      <description>&lt;p&gt;After the successful test with the Perl script to add ModSecurity alerts to Sguil, I have been working on a more robust implementation, also in Perl. Let me first describe the basic setup. The setup works with two scripts. The first places links to event files into a special queue directory. The second reads the links from that directory, parses them and sends the alerts among these events to Sguil. After that, the links are removed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity: rule for latest Tikiwiki vulnerability</title>
      <link>https://inliniac.net/blog/2006/09/06/mod_security-rule-for-latest-tikiwiki-vulnerability/</link>
      <pubDate>Wed, 06 Sep 2006 13:02:57 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=37</guid> 
      <description>&lt;p&gt;A few days ago a new vulnerability was &lt;a href=&#34;http://isc.sans.org/diary.php?storyid=1672&#34;&gt;reported&lt;/a&gt; in &lt;a href=&#34;http://tikiwiki.org/tiki-index.php&#34;&gt;Tikiwiki&lt;/a&gt; 1.9.x, the software I use for the Vuurmuur Wiki. Luckily, the Snort.org Community rules quickly had &lt;a href=&#34;http://www.snort.org/pub-bin/snortnews.cgi#506&#34;&gt;a rule for detecting&lt;/a&gt; the attack. Because I also run ModSecurity on the webserver, i wanted to have protection there as well. This rule should block the attack:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;SecFilterSelective POST_PAYLOAD &amp;ldquo;jhot.php&amp;rdquo; &amp;ldquo;log,deny,status:403,msg:&amp;lsquo;LOCAL tikiwiki jhot.php attempt&amp;rsquo;&amp;rdquo;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s see if I ever get a hit on it. An update for Tikiwiki as been released, so that should fix the issue completely.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur: connection killing getting shape</title>
      <link>https://inliniac.net/blog/2006/09/02/vuurmuur-connection-killing-getting-shape/</link>
      <pubDate>Sat, 02 Sep 2006 13:26:28 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=35</guid> 
      <description>&lt;p&gt;The main new feature of the 0.5.72 release of Vuurmuur will be the ability to kill existing connections from vuurmuur_conf. It will use the &lt;a href=&#34;http://www.netfilter.org/projects/conntrack/&#34;&gt;conntrack&lt;/a&gt; tool for this. Below is a screenshot of how it works.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://inliniac.net/blog/blog/wp-content/uploads/2006/09/vuurmuur-kill-connection.png&#34; alt=&#34;Vuurmuur-conf killing a group of connections.&#34;&gt;&lt;/p&gt;
&lt;p&gt;Currently it works only for TCP connections and UDP pseudo connections. From the connection manager IPAdresses can also be added to the blocklist. All existing connections for this IP will be killed on that action. I have yet to extend this to hosts blocked manually.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Contact</title>
      <link>https://inliniac.net/blog/contact/</link>
      <pubDate>Fri, 01 Sep 2006 14:32:54 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?page_id=34</guid> 
      <description>&lt;p&gt;If you want to contact me, you can send me an email on my first name at the domain you are visiting.&lt;/p&gt;
&lt;p&gt;Socials:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://mastodon.social/@inliniac&#34;&gt;Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/victorjulien&#34;&gt;Github - Suricata related&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/inliniac&#34;&gt;Github - Vuurmuur &amp;amp; misc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.linkedin.com/in/victorjulien/&#34;&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Sguil: adding support for ModSecurity alerts</title>
      <link>https://inliniac.net/blog/2006/08/30/sguil-adding-support-for-mod_security-alerts/</link>
      <pubDate>Wed, 30 Aug 2006 20:14:45 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=31</guid> 
      <description>&lt;p&gt;I&amp;rsquo;m a huge fan of both Sguil and ModSecurity, but sadly the alerts generated by ModSecurity can&amp;rsquo;t show up in Sguil&amp;hellip; or&amp;hellip; can they? Well, if it all works out, soon they can!&lt;/p&gt;
&lt;p&gt;Today I have hacked together a perl script that emulates barnyard for ModSecurity. It very much in a proof-of-concept phase, but it somewhat works already, at least good enough so i can show this screenshot.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://www.inliniac.net/blog/blog/wp-content/uploads/2006/08/modsec_sguil_excerpt.png&#34; alt=&#34;Sguil screenshot showing experimental Mod_Security support&#34;&gt;
Nice huh? It is not ready for release yet, but when it is i&amp;rsquo;ll announce it here. I plan to release it under the GPL. Sguil author Bamm Visscher told me that the next release of Sguil will have support for having barnyard and PADS on the same sensor. By then, i hope that ModSecurity can be added to that list! :-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: detecting ICMP tunnels, continued</title>
      <link>https://inliniac.net/blog/2006/08/29/sguil-detecting-icmp-tunnels-continued/</link>
      <pubDate>Tue, 29 Aug 2006 12:29:45 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=27</guid> 
      <description>&lt;p&gt;A few days ago i &lt;a href=&#34;http://www.inliniac.net/blog/?p=24&#34;&gt;wrote&lt;/a&gt; about detecting ICMP tunnels. I came to the conclusion that for the two tunnels i tried the properties to detect on were:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Non-standard average packet size. E.g. 81.81 bytes for the first connection is non-standard.&lt;/li&gt;
&lt;li&gt;Number of bytes in both directions are unequal.&lt;/li&gt;
&lt;li&gt;Average packet size in both directions is unequal.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I believe the third is the most important, because it must mean that 1 is also true and 2 is very likely to be true. If the average packet size is unequal in both directions, one of them should be non-standard. So far i have only seen echo-request and echo-reply being equal in size for pings. Unequal average packet sizes with exactly the same amount of data transfered is very unlikely, so i have ignored that for now.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: using advanced queries to get more info on Snort events</title>
      <link>https://inliniac.net/blog/2006/08/28/sguil-using-advanced-queries-to-get-more-info-on-snort-events/</link>
      <pubDate>Mon, 28 Aug 2006 21:21:54 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=28</guid> 
      <description>&lt;p&gt;Today, &lt;a href=&#34;http://infosecpotpourri.blogspot.com/&#34;&gt;David Bianco&lt;/a&gt; showed me a way of creating SQL queries that I didn&amp;rsquo;t even know was possible. This is a technique with which it is possible to query the payload of Snort events in the Sguil database. These payloads are stored by Snort when it alerts and is the payload the actual rule triggered on. David showed a nice example of retrieving url&amp;rsquo;s for PHP url inclusion attacks.&lt;/p&gt;
&lt;p&gt;I have written before about my usage of Mod_Security. I let Mod_Security respond with a 403 Forbidden message. Sadly, the alert generated by Mod_Security can not be displayed in Sguil. As somewhat of a replacement for that, I let Snort alert on the 403 Forbidden messages, so i can see in Sguil that Mod_Security blocked something. The disadvantage of this is that the 403 alert in itself does not contain much info. The sheer number of 403&amp;rsquo;s makes inspecting every single one with requesting a transcript a bit to much work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: detecting ICMP tunnels</title>
      <link>https://inliniac.net/blog/2006/08/25/sguil-detecting-icmp-tunnels/</link>
      <pubDate>Fri, 25 Aug 2006 18:25:14 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=24</guid> 
      <description>&lt;p&gt;My earlier &lt;a href=&#34;http://www.inliniac.net/blog/?p=21&#34;&gt;post&lt;/a&gt; about detecting ICMP anomolies was based on dry theory combined with experimenting with the ping command. The last couple of days I have been playing with real ICMP tunnels, to see how detection of those would work. This was easier said than done. Sure, running &lt;a href=&#34;http://www.cs.uit.no/~daniels/PingTunnel/index.html&#34;&gt;PingTunnel&lt;/a&gt; or &lt;a href=&#34;http://sourceforge.net/projects/itun/&#34;&gt;itun&lt;/a&gt; between two hosts in my LAN worked fine. However, being an inline guy, i have Sancp looking at traffic passing my firewall only. And getting the ICMP tunnels to pass the firewall was the real trick. I won&amp;rsquo;t bore you with that now, because i intend to look at counter measures later, so i&amp;rsquo;ll handle that then. For now I will just assume that these ping tunnels will not be blocked by the firewall.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity: rules against comment spam</title>
      <link>https://inliniac.net/blog/2006/08/23/mod_security-rules-against-comment-spam/</link>
      <pubDate>Wed, 23 Aug 2006 08:07:40 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=23</guid> 
      <description>&lt;p&gt;Lately the &lt;a href=&#34;http://wiki.vuurmuur.org/&#34;&gt;wiki&lt;/a&gt; of my &lt;a href=&#34;http://www.vuurmuur.org/&#34;&gt;Vuurmuur project&lt;/a&gt; has been receiving quite a lot of comment spam. Although removing the spam manually is boring work, i still don&amp;rsquo;t really mind the spam, because it enables me to practice with ModSecurity rules to fight it off. So far, the spam seems to be following a pattern, in which the spam is posted by bots, and has the same general layout for longer periods of time. That makes it worthwhile to spend time on creating rules against it. Yesterday a new type of spam emerged on the wiki. The following audit_log is for one of them. I had to slightly edit it for layout reasons.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: detecting ICMP anomolies</title>
      <link>https://inliniac.net/blog/2006/08/18/sguil-detecting-icmp-anonolies/</link>
      <pubDate>Fri, 18 Aug 2006 21:40:14 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=21</guid> 
      <description>&lt;p&gt;Recently Websense &lt;a href=&#34;http://www.websense.com/securitylabs/alerts/alert.php?AlertID=570&#34;&gt;discovered&lt;/a&gt; malware that caused quite a lot of media attention, because it used ICMP to send personal data out of the victims pc or network. In many networks, outgoing ICMP is unrestricted because it can aid in solving connectivity and routing problems. While (partially) blocking outgoing ICMP would certainly solve this problem, not everone will be willing to do so. Note however that the idea of using ICMP as a covert channel is &lt;a href=&#34;http://www.phrack.org/phrack/49/P49-06&#34;&gt;hardly new&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.inliniac.net/blog/?p=18&#34;&gt;Yesterday&lt;/a&gt; I wrote about creating custom Sancp queries and adding them to Sguil as canned reports. Today i tried to create a query that can be used to detect anomolies in ICMP traffic leaving your network. Like yesterday, i did this in the form of a &amp;lsquo;canned report&amp;rsquo;. One limitation is that there seems to be no way to get any information on exact ICMP codes and types.&lt;/p&gt;
&lt;p&gt;I tried to create a query that would do the following. I assumed that there are at least two ways the traffic can stand out. Either by it&amp;rsquo;s volume, or by non-default packet sizes. Normally ping uses a fixed packet size of 64 bytes on my Linux system, Windows 2000 defaults to 32 bytes. If the packet size is not what you would expect, something fishy might be going on. So the query tries to find the execptional cases in this respect.&lt;/p&gt;
&lt;p&gt;Volume is another factor. To tranfser substantial amounts of data through ICMP, the volume of the packets will need to be quite high as well. Note however that Linux&amp;rsquo; ping utility for example pings until you tell it to stop, and it happened to me before that i accidently left it running an entire night, so a large volume doesn&amp;rsquo;t have to mean there is something wrong. The target IP is also very interesting. If it is IP belonging to Google there is a big chance that it is just a test. In the example below most volume is to 194.109.21.51 which is the server in my ISP&amp;rsquo;s network that can be reached under &amp;lsquo;ping.xs4all.nl&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://www.inliniac.net/blog/blog/wp-content/uploads/2006/08/icmp_sensor_summary_report.png&#34; alt=&#34;Sguil Sensor Report Showing an ICMP Report&#34;&gt;&lt;/p&gt;
&lt;p&gt;In this report you can see that 192.168.1.2 pinged 145.97.193.148 with an average packet size of 1480 bytes, which is certainly not normal. It transfered 0.08MB to this IP. Another amount of 2.24MB was transfered to the IP 194.109.21.51, with a average packet size of 64.33 bytes. This is weird because it is not exactly 64 bytes, what I would expect. This can be explained by me running a default ping for a long time and after that doing a few tests with larger sizes.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Sguil: creating custom reports</title>
      <link>https://inliniac.net/blog/2006/08/17/sguil-creating-custom-reports/</link>
      <pubDate>Thu, 17 Aug 2006 18:52:07 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=18</guid> 
      <description>&lt;p&gt;In the Sguil NSM system, Sancp plays a vital role. Sancp records session data, in which all connections are recorded. For all connections (and pseudo connections, think udp, icmp), Sancp records the number of bytes transfered, number of packets, start and end time, etc. This is very much useful information, of which Sguil only makes a subset accessable. Because the information is stored in a MySQL database, nothing prevents you from querying the database manually, which is what i did. However, &lt;a href=&#34;http://infosecpotpourri.blogspot.com/&#34;&gt;David Bianco&lt;/a&gt; suggested that i could also add them as &amp;lsquo;canned reports&amp;rsquo; to Sguil, which i did.&lt;/p&gt;
&lt;p&gt;At this stage i am mostly interested in the information from Sancp about the traffic volume. Which host(s) use the most bandwidth? Questions like this. Below i explain one of the &amp;lsquo;canned reports&amp;rsquo; i created.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;http://www.inliniac.net/blog/blog/wp-content/uploads/2006/08/sensor_summary_report.png&#34; alt=&#34;Report View&#34;&gt;&lt;/p&gt;
&lt;p&gt;This is the output of the query below. What it shows is that 192.168.1.2 in my lan downloaded 367MB from 145.97.193.148, and that it did this via http (protocol 6 is tcp, port is 80). Let&amp;rsquo;s have a look at the query.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TOPTENWAN2LAN_SRC_DST_SER||Top b/w per serv. from WAN to LAN (downloads), flow from WAN-IPs to LAN-IPs, volume in MB||query||select sum(dst_bytes)/1048576 as my_dst_bytes, INET_NTOA(dst_ip), INET_NTOA(src_ip), ip_proto, dst_port from sancp INNER JOIN sensor ON sancp.sid=sensor.sid WHERE start_time &amp;gt; %%STARTTIME%% AND end_time 0 AND %%SENSORS%% and ((src_ip between INET_ATON(&amp;ldquo;192.168.0.0&amp;rdquo;) and INET_ATON(&amp;ldquo;192.168.255.255&amp;rdquo;)) or (src_ip between INET_ATON(&amp;ldquo;10.0.0.0&amp;rdquo;) and INET_ATON(&amp;ldquo;10.255.255.255&amp;rdquo;)) or (src_ip between INET_ATON(&amp;ldquo;172.16.0.0&amp;rdquo;) and INET_ATON(&amp;ldquo;172.31.255.255&amp;rdquo;))) and ((dst_ip not between INET_ATON(&amp;ldquo;192.168.0.0&amp;rdquo;) and INET_ATON(&amp;ldquo;192.168.255.255&amp;rdquo;)) and (dst_ip not between INET_ATON(&amp;ldquo;10.0.0.0&amp;rdquo;) and INET_ATON(&amp;ldquo;10.255.255.255&amp;rdquo;)) and (dst_ip not between INET_ATON(&amp;ldquo;172.16.0.0&amp;rdquo;) and INET_ATON(&amp;ldquo;172.31.255.255&amp;rdquo;))) GROUP BY src_ip,dst_ip,ip_proto,dst_port ORDER BY my_dst_bytes DESC LIMIT 10||5||&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Copy-paste this into your /etc/sguild/sguild.reports and restart sguild. It should be available in the Sensor Reports window. The parts between percent signs are Sguil variables. The double pipes are separators between different sections of the line. The line starts with a sort of internal name for Sguil. What follows is the description as it will be show in the report selection screen and in the report itself. Next it is indicated that his is a query. After that the query itself. After the query in the last field it is indicated how many columns of data Sguil can expect from MySQL.&lt;/p&gt;
&lt;p&gt;Now the query. First, i select dst_bytes, dst_ip and src_ip, ip_proto and dst_port. The dst_bytes field contains the number of bytes flowing from dst_ip to src_ip. Because we use group later, we SUM dst_bytes. And because it is in bytes, we divide it by 1024*1024(=1048576) so the result will be megabytes. The result is stored in my_dst_bytes. We then make sure that the src_ip is in a private ip range and that dst_ip is not in a private ip-range. Then the grouping is done, followed by the ordering by my_dst_bytes. Easy huh!&lt;/p&gt;
&lt;p&gt;Naturally, this only works for networks that actually use private ip-ranges, but it should be easy to adapt if you use something else. Below, i have added another seven of these reports.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>ModSecurity: more security by obscurity</title>
      <link>https://inliniac.net/blog/2006/08/17/mod_security-more-security-by-obscurity/</link>
      <pubDate>Thu, 17 Aug 2006 07:27:13 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=17</guid> 
      <description>&lt;p&gt;Yesterday, Philippe Baumgart showed me that my obscurity setup is not yet perfect. In fact, he could very easily enter an URL that didn&amp;rsquo;t exist and caused the webserver behind my proxy to respond with a 404. In this 404 the name and the version of the webserver were exposed.&lt;/p&gt;
&lt;p&gt;After some testing i found that adding the following to my config worked very well.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;# enable output scanning in Mod Security.
SecFilterScanOutput On&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur: first baby steps in traffic shaping</title>
      <link>https://inliniac.net/blog/2006/08/16/vuurmuur-first-baby-steps-in-traffic-shaping/</link>
      <pubDate>Wed, 16 Aug 2006 15:51:01 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=16</guid> 
      <description>&lt;p&gt;Quite a while ago a placed a &lt;a href=&#34;http://wiki.vuurmuur.org/tiki/tiki-poll_results.php?pollId=3&#34;&gt;poll&lt;/a&gt; on the Vuurmuur Wiki, asking for the most important feature Vuurmuur needs. It turns out most people want traffic shaping. Traffic shaping has been on my todo list for a long time, but i never really got into using it, let alone understand it enough to integrate it into a GUI. So the last couple of days i had some spare time, and i have been checking it out. So far i am distinguishing the following types of traffic shaping.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity: further improvements to the reverse proxy</title>
      <link>https://inliniac.net/blog/2006/08/14/mod_security-further-improvements-to-the-reverse-proxy/</link>
      <pubDate>Mon, 14 Aug 2006 08:52:55 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=15</guid> 
      <description>&lt;p&gt;People can reach my webserver in three ways: by my domain inliniac.net, by the hostname connected to my dsl, and by my ipaddress. What i now wanted is setup the proxy in such a way, that only people visiting inliniac.net would be proxied to the webserver.&lt;/p&gt;
&lt;p&gt;Blocking requests that are IP based instead of name based have an important advantage. IP based requests are mostly used by scantools and other forms of malicious traffic that just attempt connecting to port 80 on large IP-ranges. So this way one should be able to keep a lot of crap like worm traffic out.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vuurmuur: a new audit: passed</title>
      <link>https://inliniac.net/blog/2006/08/10/vuurmuur-a-new-audit-passed/</link>
      <pubDate>Thu, 10 Aug 2006 07:31:48 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=14</guid> 
      <description>&lt;p&gt;Last week a user of Vuurmuur let me know he had another security audit at his work, and Vuurmuur passed without any remarks whatsoever. The auditors even said that this was quite unusual.&lt;/p&gt;
&lt;p&gt;The user is working in a Dutch company involved in stocktrading, and are forced to have the same level of security as their parent company, which is a bank. After the last time they had an audit, i added the auditlog feature to Vuurmuur, and it seems that has pleased them because unlike last time, they didn&amp;rsquo;t even complain about Vuurmuur&amp;rsquo;s &lt;em&gt;beta&lt;/em&gt; status ;-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: full content logging in combination with Snort_inline, revisited *again*</title>
      <link>https://inliniac.net/blog/2006/08/10/sguil-full-content-logging-in-combination-with-snort_inline-revisited-again/</link>
      <pubDate>Wed, 09 Aug 2006 23:54:33 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=13</guid> 
      <description>&lt;p&gt;Note to self: never assume something works, instead, test it.&lt;/p&gt;
&lt;p&gt;Yesterday there was some discussion in the #snort channel over whether or not passing multiple interface to snort works or not. As a reminder, &lt;a href=&#34;http://www.inliniac.net/blog/?p=9&#34; title=&#34;Sguil: full content logging in combination with Snort_inline, revisited&#34;&gt;some time ago&lt;/a&gt; i noted that passing two interfaces to snort like this: &amp;lsquo;snort -i eth0:eth1&amp;rsquo; worked just fine. However, &lt;em&gt;common&lt;/em&gt; mentioned in irc that he could not imagine it to be working. Determined to proof him wrong, i decided to run a few test. On my gateway, i ran &amp;lsquo;snort -v -i eth0:eth1 ip proto 1&amp;rsquo;. This should print all ICMP packets to the screen for both interfaces. The first clue that something wasn&amp;rsquo;t right was this message:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity: redirection</title>
      <link>https://inliniac.net/blog/2006/08/09/mod_security-redirection/</link>
      <pubDate>Tue, 08 Aug 2006 22:09:50 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=12</guid> 
      <description>&lt;p&gt;Another nice feature of ModSecurity is rule based redirection. Lets say i want to block visitors of my website from opening the login page of wordpress, /blog/wp-login.php. I could of course just deny access to it, so the visitor gets a 403 error. This works fine, however sometimes you might want to use a more userfriendly message, for example: &amp;lsquo;Due to maintainance logins are currently disabled&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;To do this i first created a very simple html file called nologin.html, and placed it in the webroot of the server. Then i added the following rules to Mod_Security:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity: directory hiding a.k.a. security by obscurity</title>
      <link>https://inliniac.net/blog/2006/08/06/mod_security-directory-hiding-aka-security-by-obscurity/</link>
      <pubDate>Sun, 06 Aug 2006 20:24:07 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=11</guid> 
      <description>&lt;p&gt;Ok, that&amp;rsquo;s a bit misleading, because i&amp;rsquo;m not just hiding, but also blocking and logging. What i wanted is this: I&amp;rsquo;m running awstats on my reverse proxy, but i don&amp;rsquo;t want anyone to know. So i just made the entire &amp;lsquo;cgi-bin&amp;rsquo; part forbidden for everyone, so that covers the script. The fact that my webserver has a cgi-bin directory is nothing special and won&amp;rsquo;t tell you i&amp;rsquo;m using awstats. However, awstats also uses icons, and these are by default in /awstats-icon/&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity: setting up a reverse proxy</title>
      <link>https://inliniac.net/blog/2006/08/05/mod_security-setting-up-a-reverse-proxy/</link>
      <pubDate>Sat, 05 Aug 2006 13:35:49 +0000</pubDate>
       <guid isPermaLink="false">http://www.inliniac.net/blog/?p=10</guid> 
      <description>&lt;p&gt;A few weeks ago i wrote that i wanted to investigate setting up a reverse web proxy with mod_security. I have now finally found a little time to do so. What surprised me was how easy it actually is!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;IfModule mod_proxy.c&amp;gt;&lt;/p&gt;
&lt;p&gt;#turning ProxyRequests on and allowing proxying from all may allow
#spammers to use your proxy to send email.&lt;/p&gt;
&lt;p&gt;ProxyRequests Off&lt;/p&gt;
&lt;p&gt;&amp;lt;Proxy *&amp;gt;
Order deny,allow
Allow from all
#Allow from .your_domain.com
&lt;/Proxy&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: full content logging in combination with Snort_inline, revisited</title>
      <link>https://inliniac.net/blog/2006/07/30/sguil-full-content-logging-in-combination-with-snort_inline-revisited/</link>
      <pubDate>Sun, 30 Jul 2006 17:02:51 +0000</pubDate>
       <guid isPermaLink="false">http://poort.xs4all.nl/blog/?p=9</guid> 
      <description>&lt;p&gt;A few days ago i wrote about some challenges that my Snort_inline presented. Especially the full content logging wasn&amp;rsquo;t working quite as i would have liked. Logging on pseudo device &amp;lsquo;any&amp;rsquo; didn&amp;rsquo;t work right because then the traffic that was NAT-ted was both recorded before NAT and after NAT. The solution I (with help of #snort-gui) came up with was using &amp;lsquo;-i any&amp;rsquo; anyway, but exclude my public ip using a BPF filter. Later i saw Joel Esler write the solution in a unrelated problem to someone else. Sometimes solutions can be so simple!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: sensor install gotcha: sancp</title>
      <link>https://inliniac.net/blog/2006/07/29/sguil-sensor-install-gotcha-sancp/</link>
      <pubDate>Sat, 29 Jul 2006 11:25:42 +0000</pubDate>
       <guid isPermaLink="false">http://psh.poort.lan/blog/?p=8</guid> 
      <description>&lt;p&gt;Today I installed a new sensor for Sguil. It went much better than before, but still i needed #snort-gui&amp;rsquo;s help again. The issue was that Sancp stats were not picked up by the sensor.&lt;/p&gt;
&lt;p&gt;It turns out that the default initscript for sancp uses an old and depreciated setting that tells sancp to log into the /snort_data/sensorname/sancp/today directory. The sensor expects it in /snort_data/sensorname/sancp. After changing that in the /etc/default/sancp file it worked like a charm.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sguil: full content logging in combination with Snort_inline</title>
      <link>https://inliniac.net/blog/2006/07/26/sguil-full-content-logging-in-combination-with-snort_inline/</link>
      <pubDate>Wed, 26 Jul 2006 19:44:06 +0000</pubDate>
       <guid isPermaLink="false">http://psh.poort.lan/blog/?p=7</guid> 
      <description>&lt;p&gt;Just spend some time trying to get the transcripts part of Sguil working with my Snort_inline sensor. Without an obvious clue it returned no data for every alert that was received. After much trial and error, and especially much help by Bamm Visscher on IRC, i noticed that i recorded the full packet data from my ppp0 device. Then i remembered issues i had before with that, namely that the logging occurs after NAT. Snort_inline however, gets the packets from the system before NAT. That results in a mismatch causing the sensor not to be able to provide the transcript requested. Changing the interface to record the full packets from to eth0 solved the problem!&lt;/p&gt;</description>
    </item>
    <item>
      <title>ModSecurity: my first rules</title>
      <link>https://inliniac.net/blog/2006/07/11/mod_security-my-first-rules/</link>
      <pubDate>Tue, 11 Jul 2006 09:37:33 +0000</pubDate>
       <guid isPermaLink="false">http://psh.poort.lan/blog/?p=6</guid> 
      <description>&lt;p&gt;I have been using ModSecurity for quite some time now to protect a webserver, but i never felt the need to write my own rules. Recently though, my site got quite a lot of spam in the comments of my TikiWiki based site. Since i was not willing to disable the anonymous comment posting i decided to see if i could use Mod_Security to block the spam.&lt;/p&gt;
&lt;p&gt;The spam all looked alike with the following characteristics. It all contained a list uri&amp;rsquo;s with a pipe | before them. So decided to try the most easy way, by blocking all posts with this characteristic.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline: idea for an improved bait-and-switch</title>
      <link>https://inliniac.net/blog/2006/07/11/snort_inline-idea-for-an-improved-bait-and-switch/</link>
      <pubDate>Mon, 10 Jul 2006 22:13:09 +0000</pubDate>
       <guid isPermaLink="false">http://psh.poort.lan/blog/?p=5</guid> 
      <description>&lt;p&gt;William Metcalf recently wrote a bait-and-switch plugin for Snort_inline. The idea is that when a rule matches on certain traffic this plugin loads an iptables rule into the system that redirects the offending host to another server. This can present the user an error message such as &amp;ldquo;Access Denied&amp;rdquo; for example, but this server can also have al kinds of sniffing tools, or even be a honeypot.&lt;/p&gt;
&lt;p&gt;As the plugin currently creates an iptables rule it only works with linux. Also, it has some difficulty with existing iptables rulesets that might be maintained by other programs, such as my own Vuurmuur. My idea is to investigate whether or not it is possible to simply do the redirection in Snort_inline itself. By rewriting the ipaddress in the IP header, it might work as well. Naturally, this would need to be done for every packet, but with a connection to either the flow engine or the stream engine, this should be able to work&amp;hellip; just a thought&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Books: Preventing Webattacks with Apache</title>
      <link>https://inliniac.net/blog/2006/07/10/books-preventing-webattacks-with-apache/</link>
      <pubDate>Mon, 10 Jul 2006 21:54:51 +0000</pubDate>
       <guid isPermaLink="false">http://psh.poort.lan/blog/?p=4</guid> 
      <description>&lt;p&gt;I just finished Preventing Webattacks with Apache by Ryan C. Barnett. Even though the title says it is about Apache it is really mostly about Mod_Security, and this is why i really love the book.&lt;/p&gt;
&lt;p&gt;Especially cool is the part of the book where the author challenges the user to setup his &amp;lsquo;Buggy Bank&amp;rsquo; example application to play with the vulnarebilities and with the possible counter measures.&lt;/p&gt;
&lt;p&gt;This book got me even more exited about Mod_Security, which I use already to protect one webserver. I plan to check out setting up a reverse filtering web proxy soon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Snort_inline: Adapting the TCP stream reassembler</title>
      <link>https://inliniac.net/blog/2006/07/10/snort_inline-adapting-the-tcp-stream-reassembler/</link>
      <pubDate>Mon, 10 Jul 2006 16:34:25 +0000</pubDate>
       <guid isPermaLink="false">http://psh.poort.lan/blog/?p=3</guid> 
      <description>&lt;p&gt;Currently I am rewriting a modification of the TCP reassembler in Snort_inline. Snort&amp;rsquo;s TCP reassembler is called Stream4 and it works fairly well in IDS mode, however it has some serious issues in &lt;em&gt;inline&lt;/em&gt; mode. The biggest and most important issue is that Snort_inline cannot block an attack if it is detected in the reassembled stream. In Snort_inline 2.4 we made our first attempt to fix this with the &lt;em&gt;stream4inline&lt;/em&gt; modification.&lt;/p&gt;</description>
    </item>
    <item>
      <title>About</title>
      <link>https://inliniac.net/blog/about-2/</link>
      <pubDate>Mon, 10 Jul 2006 16:01:32 +0000</pubDate>
       <guid isPermaLink="false">http://inliniac.wordpress.com/?page_id=5</guid> 
      <description>&lt;p&gt;&lt;strong&gt;This Blog&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Inliniac is my blog about all kinds of &lt;em&gt;inline&lt;/em&gt; network security, NSM and Intrusion Detection. I may also use it to write about other subjects that I find interesting.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Me&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;My name is Victor Julien. I live in Amsterdam, the Netherlands. I&amp;rsquo;m a IT professional and enthusiast. During my studies, I have worked as system and network administrator. I lead the development effort for Suricata, the Open Source IDS/IPS that is developed by the Open Information Security Foundation (OISF). For more info see my &lt;a href=&#34;http://www.linkedin.com/in/victorjulien&#34;&gt;LinkedIn profile&lt;/a&gt;. I&amp;rsquo;m sometimes posting on Mastodon here: &lt;a href=&#34;https://mastodon.social/@inliniac&#34;&gt;https://mastodon.social/@inliniac&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello (security) world!</title>
      <link>https://inliniac.net/blog/2006/07/10/hello-world-2/</link>
      <pubDate>Mon, 10 Jul 2006 16:01:32 +0000</pubDate>
       <guid isPermaLink="false">http://inliniac.wordpress.com/2006/07/10/hello-world-2</guid> 
      <description>&lt;p&gt;Welcome to my new blog, Inliniac. I plan to write here often about all kinds of inline related projects and developments. Focus will most likely be on my Vuurmuur project, the Snort_inline project and also ModSecurity. But more general inline and security subjects will be handled if i feel like it.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
