<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Http on Inliniac</title>
    <link>https://inliniac.net/blog/tag/http/</link>
    <description>Recent content in Http on Inliniac</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Thu, 01 Nov 2012 18:16:51 +0000</lastBuildDate>
    <atom:link href="https://inliniac.net/blog/tag/http/feed.xml" rel="self" type="application/rss+xml" />
    <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>https://inliniac.net/blog/2012/11/01/important-suricata-update/</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;&#xA;&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;&#xA;&lt;p&gt;So upgrading is highly recommended!&lt;/p&gt;&#xA;&lt;p&gt;Code changes are not too big, largest changes are due to some extra unittests:&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>https://inliniac.net/blog/2012/10/04/suricata-1-4-development-update/</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;&#xA;&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;&#xA;&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(-)&#xA;&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>https://inliniac.net/blog/2012/10/03/suricata-1-3-2-is-out/</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;&#xA;&lt;p&gt;As the diff stat output shows, it&amp;rsquo;s a rather light maintenance update over 1.3.1:&#xA;[sourcecode]&#xA;ChangeLog | 12 ++&#xA;libhtp/configure.ac | 2 +-&#xA;libhtp/htp.pc.in | 2 +-&#xA;libhtp/htp/htp.h | 2 +-&#xA;src/app-layer-htp-file.c | 145 ++++++++++++++++++++++++&#xA;src/app-layer-htp.c | 192 ++++++++++++++++++++++++++&amp;mdash;&amp;mdash;&#xA;src/decode.c | 3 +&#xA;src/decode.h | 1 +&#xA;src/defrag.c | 4 +-&#xA;src/detect-engine-content-inspection.c | 9 &amp;ndash;&#xA;src/detect-flow.c | 68 ++++++++++-&#xA;src/source-af-packet.c | 9 ++&#xA;src/source-ipfw.c | 13 ++-&#xA;src/source-pfring.c | 28 ++&amp;mdash;&#xA;src/stream-tcp-reassemble.c | 1 +&#xA;src/util-cpu.c | 10 +-&#xA;16 files changed, 435 insertions(+), 66 deletions(-)&#xA;[/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>https://inliniac.net/blog/2012/09/21/suricata-luajit-update/</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;&#xA;&lt;p&gt;The keyword supports an interesting set of buffers now:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;packet&#xA;payload&lt;/p&gt;&#xA;&lt;p&gt;http.uri&#xA;http.uri.raw&#xA;http.request_line&#xA;http.request_headers&#xA;http.request_headers.raw&#xA;http.request_cookie&#xA;http.request_user_agent&#xA;http.request_body&lt;/p&gt;&#xA;&lt;p&gt;http.response_headers&#xA;http.response_headers.raw&#xA;http.response_body&#xA;http.response_cookie&lt;/p&gt;&lt;/blockquote&gt;&#xA;&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 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>https://inliniac.net/blog/2012/09/06/first-beta-for-suricata-1-4/</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;&#xA;&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;&#xA;&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 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>https://inliniac.net/blog/2012/07/09/suricata-http_user_agent-vs-http_header/</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;&#xA;&lt;p&gt;&lt;strong&gt;Example 1: rarely matching UA&lt;/strong&gt;&lt;/p&gt;&#xA;&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>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>https://inliniac.net/blog/2012/01/11/http-parsing-events-in-suricata/</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;&#xA;&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;&#xA;&lt;p&gt;Example:&#xA;&lt;code&gt;app-layer-event:http.missing_host_header;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;This will match on HTTP/1.1 requests without a Host header.&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>https://inliniac.net/blog/2011/11/29/file-extraction-in-suricata/</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;&#xA;&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>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>https://inliniac.net/blog/2007/08/22/using-modsec2sguil-for-http-transaction-logging-revisited/</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;&#xA;&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>https://inliniac.net/blog/2007/08/15/using-modsec2sguil-for-http-transaction-logging/</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;&#xA;&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>
  </channel>
</rss>
