<br><br><div class="gmail_quote">On Fri, Mar 8, 2013 at 12:19 PM, Ricky Huang <span dir="ltr"><<a href="mailto:rhuang.work@...11827..." target="_blank">rhuang.work@...11827...</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="word-wrap:break-word"><div>Thank you YM and Russ, my response below.</div><br><div><div class="im"><div>On Mar 8, 2013, at 7:44 AM, Russ Combs <<a href="mailto:rcombs@...1935..." target="_blank">rcombs@...1935...</a>> wrote:</div>
<blockquote type="cite"><br><div class="gmail_quote">On Fri, Mar 8, 2013 at 3:38 AM, Y M <span dir="ltr"><<a href="mailto:snort@...15979..." target="_blank">snort@...15979...</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div>
<div>
<div style="font-size:11pt;font-family:Calibri,sans-serif">As far as I understand, the -T validates only the conf file of snort, and not the rules.
<br></div></div></div></blockquote><div><br>`snort -c snort.conf -T` validates the whole snort configuration.  Any included files, such as rules files, are validated as well.<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div><div style="font-size:11pt;font-family:Calibri,sans-serif">A rule must have an sid; which uniquely identifies each rule, it is a requirement.<br></div></div></blockquote><div><br>This is essentially true, but if you forget to include a sid, it will default to zero.  And if multiple rules have the same sid, the one with the highest revision will be used.<br>

<br>You will see "WARNING"s under "Initializing rule chains..." if any of that is going on when Snort starts up.<br></div></div></blockquote><div><br></div><div><br></div></div><div>It was more than a warning - if I forgot to specify a SID, like so:</div>
<div><div><span style="white-space:pre-wrap">       </span>alert ICMP any any -> $HOME_NET any (msg:"Shut this rule off, it works now";)</div><br></div><div>Snort *dies* on a *fatal error*:</div><div><div></div><div>
<span style="white-space:pre-wrap">     </span>Initializing rule chains...</div><div><span style="white-space:pre-wrap">      </span>ERROR: ./rules/rhuang.rules(1) Each rule must contain a rule sid.</div><div><span style="white-space:pre-wrap">        </span>Fatal Error, Quitting..</div>
<div><br></div><div>Fatal error is not a Warning...</div><div><br></div></div><div>1) I am fine with SID being a requirement, it was just not mentioned in the documentation.  Again, <a href="http://manual.snort.org/node28.html" target="_blank">http://manual.snort.org/node28.html</a>, says:</div>
<div><span style="white-space:pre-wrap">  </span>"Note that the rule options section is not specifically required by any rule, they are just used for the sake of making tighter definitions…"</div><div>therefore I claim this as an error in documentation as it could have had a clause:</div>
<div><span style="white-space:pre-wrap">  </span>"If any options were provided, a SID will be a require field"</div></div></div></blockquote><div><br>You are running w/o -T. <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="word-wrap:break-word"><div><div><br></div><div>2) If it's true that -T validates all included files, why isn't something that causes a Fatal error caught?</div></div></div></blockquote><div><br>OK - snort -T validates the conf but accepts rules w/o sid, defaulting the sid to zero.  Drop the -T and you get a fatal error.  W/or w/o -T, duplicate sid rules are resolved by selecting the highest rev.<br>
</div><div><br>Not sure if there still is a use case for -T accepting rules without sid.  I'll check and put in a bug assuming that isn't required.<br><br>Thanks<br>Russ <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div style="word-wrap:break-word"><div><div></div><div><br></div><div>Please keep in mind that I am a brand-new user to Snort, some things that are obvious to the pro's are not really so to me unless they're explicitly documented somewhere.</div>
<div><br></div><div><br></div><div>Thanks again to all those that have responded!</div><div><div class="h5"><div><br></div><br><blockquote type="cite"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div><div><div style="font-size:11pt;font-family:Calibri,sans-serif">
<br>
YM</div>
</div>
<div dir="ltr">
<hr>
<span style="font-size:11pt;font-family:Calibri,sans-serif;font-weight:bold">From:
</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><a href="mailto:rhuang.work@...11827..." target="_blank">Ricky Huang</a></span><br>
<span style="font-size:11pt;font-family:Calibri,sans-serif;font-weight:bold">Sent:
</span><span style="font-size:11pt;font-family:Calibri,sans-serif">3/7/2013 3:24 AM</span><br>
<span style="font-size:11pt;font-family:Calibri,sans-serif;font-weight:bold">To:
</span><span style="font-size:11pt;font-family:Calibri,sans-serif"><a href="mailto:snort-users@lists.sourceforge.net" target="_blank">snort-users@lists.sourceforge.net</a></span><br>
<span style="font-size:11pt;font-family:Calibri,sans-serif;font-weight:bold">Subject:
</span><span style="font-size:11pt;font-family:Calibri,sans-serif">[Snort-users] Snort doc error (?) - rule option not optional?</span><br>
<br>
</div><div><div>
<div style="word-wrap:break-word">Hi all,
<div><br>
</div>
<div>According to the rule doc (<a href="http://manual.snort.org/node28.html" target="_blank">http://manual.snort.org/node28.html</a>), </div>
<div>
<blockquote type="cite">Note that the rule options section is not specifically required by any rule, they are just used for the sake of making tighter definitions of packets to collect or alert on (or drop, for that matter).</blockquote>


</div>
<div><br>
</div>
<div>So I created a rule,</div>
<div>
<blockquote type="cite">alert ICMP any any -> any any (msg:"Shut this rule off, it works now";)</blockquote>
</div>
<div>which is included by snort.conf</div>
<div><br>
</div>
<div>If I run snort in test mode,</div>
<div>
<blockquote type="cite">snort -T -i igb0 -u snort -g snort -c /usr/local/etc/snort/snort.conf</blockquote>
</div>
<div><br>
</div>
<div>it outputs success,</div>
<div>
<div></div>
</div>
<blockquote type="cite">
<div>
<div>Snort successfully validated the configuration!</div>
<div>Snort exiting</div>
</div>
</blockquote>
<div><br>
</div>
<div>Yet if I run it for production,</div>
<div>
<blockquote type="cite">snort -i igb0 -u snort -g snort -c /usr/local/etc/snort/snort.conf</blockquote>
</div>
<div><br>
</div>
<div>it stops with the error,</div>
<div>
<div></div>
</div>
<blockquote type="cite">
<div>
<div>Initializing rule chains...</div>
<div>ERROR: ./rules/myrules.rules(1) Each rule must contain a rule sid.</div>
<div>Fatal Error, Quitting..</div>
</div>
</blockquote>
<div><br>
</div>
<div>If I change my rule to:</div>
<div>
<div>
<blockquote type="cite">alert ICMP any any -> any any</blockquote>
</div>
</div>
<div><br>
</div>
<div>It validates and starts fine.</div>
<div><br>
</div>
<div>Here's my Snort built info:</div>
<div>
<div></div>
</div>
<blockquote type="cite">
<div>
<div># snort -V</div>
<div><br>
</div>
<div>   ,,_     -*> Snort! <*-</div>
<div>  o"  )~   Version 2.9.4 GRE (Build 40) FreeBSD</div>
<div>   ''''    By Martin Roesch & The Snort Team: <a href="http://www.snort.org/snort/snort-team" target="_blank">
http://www.snort.org/snort/snort-team</a></div>
<div>           Copyright (C) 1998-2012 Sourcefire, Inc., et al.</div>
<div>           Using libpcap version 1.1.1</div>
<div>           Using PCRE version: 8.31 2012-07-06</div>
<div>           Using ZLIB version: 1.2.5</div>
</div>
</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>So I am wondering:</div>
<div>  1) The optional section is not completely optional (?)</div>
<div>  2)  If there's indeed a requirement, why doesn't -T catch it?</div>
<div><br>
</div>
<div><br>
</div>
<div>Thanks!</div>
</div>
</div></div></div>

<br>------------------------------------------------------------------------------<br>
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester<br>
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the<br>
endpoint security space. For insight on selecting the right partner to<br>
tackle endpoint security challenges, access the full report.<br>
<a href="http://p.sf.net/sfu/symantec-dev2dev" target="_blank">http://p.sf.net/sfu/symantec-dev2dev</a><br>_______________________________________________<br>
Snort-users mailing list<br>
<a href="mailto:Snort-users@lists.sourceforge.net" target="_blank">Snort-users@lists.sourceforge.net</a><br>
Go to this URL to change user options or unsubscribe:<br>
<a href="https://lists.sourceforge.net/lists/listinfo/snort-users" target="_blank">https://lists.sourceforge.net/lists/listinfo/snort-users</a><br>
Snort-users list archive:<br>
<a href="http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users" target="_blank">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-users</a><br>
<br>
Please visit <a href="http://blog.snort.org/" target="_blank">http://blog.snort.org</a> to stay current on all the latest Snort news!<br></blockquote></div><br>
</blockquote></div></div></div><br></div></blockquote></div><br>