diff --git a/doc/Reference_Manual.html b/doc/Reference_Manual.html index 424dffa4..cc30b988 100644 --- a/doc/Reference_Manual.html +++ b/doc/Reference_Manual.html @@ -55,7 +55,7 @@ type="text/css"> var wgUserLanguage = "en"; var wgContentLanguage = "en"; var wgBreakFrames = false; - var wgCurRevisionId = 410; + var wgCurRevisionId = 430; var wgVersion = "1.15.1"; var wgEnableAPI = true; var wgEnableWriteAPI = true; @@ -270,61 +270,67 @@ class="tocnumber">6.32 SecPdfProtectTimeout< class="tocnumber">6.33 SecPdfProtectTokenName
  • 6.34 SecReadStateLimit
  • +
  • 6.35 SecWriteStateLimit
  • 6.35 SecRequestBodyAccess
  • +class="tocnumber">6.36 SecRequestBodyAccess
  • 6.36 SecRequestBodyInMemoryLimit
  • +class="tocnumber">6.37 SecRequestBodyInMemoryLimit
  • 6.37 SecRequestBodyLimit
  • +class="tocnumber">6.38 SecRequestBodyLimit
  • 6.38 SecRequestBodyNoFilesLimit
  • +class="tocnumber">6.39 SecRequestBodyNoFilesLimit
  • 6.39 SecRequestBodyLimitAction
  • +class="tocnumber">6.40 SecRequestBodyLimitAction
  • 6.40 SecResponseBodyLimit
  • +class="tocnumber">6.41 SecResponseBodyLimit
  • 6.41 SecResponseBodyLimitAction
  • +class="tocnumber">6.42 SecResponseBodyLimitAction
  • 6.42 SecResponseBodyMimeType
  • +class="tocnumber">6.43 SecResponseBodyMimeType
  • 6.43 SecResponseBodyMimeTypesClear
  • +class="tocnumber">6.44 SecResponseBodyMimeTypesClear
  • 6.44 SecResponseBodyAccess
  • -
  • 6.45 +class="tocnumber">6.45 SecResponseBodyAccess
  • +
  • 6.46 SecRule
  • 6.46 SecRuleInheritance
  • -
  • 6.47 +class="tocnumber">6.47 SecRuleInheritance
  • +
  • 6.48 SecRuleEngine
  • 6.48 SecRuleRemoveById
  • +class="tocnumber">6.49 SecRuleRemoveById
  • 6.49 SecRuleRemoveByMsg
  • +class="tocnumber">6.50 SecRuleRemoveByMsg
  • 6.50 SecRuleRemoveByTag
  • -
  • 6.51 +class="tocnumber">6.51 SecRuleRemoveByTag
  • +
  • 6.52 SecRuleScript
  • 6.52 SecRuleUpdateActionById
  • +class="tocnumber">6.53 SecRuleUpdateActionById
  • 6.53 SecRuleUpdateTargetById
  • +class="tocnumber">6.54 SecRuleUpdateTargetById
  • 6.54 SecServerSignature
  • +class="tocnumber">6.55 SecServerSignature
  • 6.55 SecStreamInBodyInspection
  • +class="tocnumber">6.56 SecStreamInBodyInspection
  • 6.56 SecStreamOutBodyInspection
  • -
  • 6.57 +class="tocnumber">6.57 SecStreamOutBodyInspection
  • +
  • 6.58 SecTmpDir
  • -
  • 6.58 +
  • 6.59 SecUnicodeMapFile
  • +
  • 6.60 SecUnicodeCodePage
  • +
  • 6.61 SecUploadDir
  • 6.59 SecUploadFileLimit
  • +class="tocnumber">6.62 SecUploadFileLimit
  • 6.60 SecUploadFileMode
  • +class="tocnumber">6.63 SecUploadFileMode
  • 6.61 SecUploadKeepFiles
  • -
  • 6.62 +class="tocnumber">6.64 SecUploadKeepFiles
  • +
  • 6.65 SecWebAppId
  • @@ -1897,6 +1903,17 @@ href="http://blog.spiderlabs.com/2010/11/advanced-topic-of-the-week-mitigating-s title="http://blog.spiderlabs.com/2010/11/advanced-topic-of-the-week-mitigating-slow-http-dos-attacks.html" rel="nofollow">http://blog.spiderlabs.com/2010/11/advanced-topic-of-the-week-mitigating-slow-http-dos-attacks.html

    +

    SecWriteStateLimit

    +

    Description: Establishes a per-IP address limit of how many +connections are allowed to be in SERVER_BUSY_WRITE state. +

    Syntax: SecWriteStateLimit LIMIT +

    Example Usage: SecWriteStateLimit 50 +

    Scope: Main +

    Version: 2.6.0 +

    Default: 0 (no limit) +

    This measure is effective against Slow DoS request body attacks. +

    SecRequestBodyAccess

    Description: Configures whether request bodies will be @@ -2415,39 +2432,37 @@ insert.

    SecStreamInBodyInspection

    Description: Configures the ability to use stream inspection -for inbound request data. +for inbound request data in a re-allocable buffer. For security reasons +we are still buffering the stream.

    Syntax: SecStreamInBodyInspection On|Off

    Example Usage: SecStreamInBodyInspection On

    Scope: Any

    Version: 2.6.0

    Default: Off

    This feature enables the creation of the STREAM_INPUT_BODY -variable and is useful in a prequalification ruleset scenario against a -large list of strings. +variable and is useful for data modification or to match data in raw +data for any content-types.

    -
    Note 
    This directive provides stream access to +
    Note 
    This directive provides full access to REQUEST_BODY payload data. It does not include REQUEST_URI or -REQUEST_HEADER data. +REQUEST_HEADER data. Also it provides data to all kind of content types, + different than REQUEST_BODY.

    SecStreamOutBodyInspection

    Description: Configures the ability to use stream inspection -for outbound request data. +for outbound request data in a re-allocable buffer. For security +reasons we are still buffering the stream.

    Syntax: SecStreamOutBodyInspection On|Off

    Example Usage: SecStreamOutBodyInspection On

    Scope: Any

    Version: 2.6.0

    Default: Off

    This feature enables the creation of the STREAM_OUTPUT_BODY -variable and is useful in two main scenarios: +variable and is useful when you need to do data modification into +response body.

    -
    1. A prequalification ruleset scenario against a large list of -strings. This helps with performance as buffering the RESPONSE_BODY -data is slow. -
    2. In situations where the response body must be streamed to the -client (buffering breaks the app). -
    -
    Note 
    This directive provides stream access to +
    Note 
    This directive provides access to RESPONSE_BODY payload data. It does not include RESPONSE_HEADER data.

    @@ -2463,6 +2478,26 @@ process. This is the directory location where ModSecurity will swap data to disk if it runs out of memory (more data than what was specified in the SecRequestBodyInMemoryLimit directive) during inspection.

    +

    SecUnicodeMapFile

    +

    Description: Defines the path to the file that will be used by + the urlDecodeUni transformation function to map Unicode code points +during normalization. +

    Syntax: SecUnicodeMapFile /path/to/unicode.mapping +

    Example Usage: SecUnicodeMapFile +/usr/local/apache/conf/crs/unicode.mapping +

    Scope: Any +

    Version: 2.6.1 +

    +

    SecUnicodeCodePage

    +

    Description: Defines which Unicode code point will be used by +the urlDecodeUni transformation function during normalization. +

    Syntax: SecUnicodeCodePage XXXXX +

    Example Usage: SecUnicodeCodePage 20127 +

    Scope: Any +

    Version: 2.6.1 +

    SecUploadDir

    Description: Configures the directory where intercepted files @@ -3416,9 +3451,9 @@ class="mw-headline"> STREAM_INPUT_BODY

    variable is best used for two use-cases:

    1. For fast pattern matching - using @pm/@pmf to prequalify large -text strings against the data. This is more performant vs. using -REQUEST_BODY/ARGS_POST/ARGS_POST_NAMES as it happens before ModSecurity -parsing/buffering in phase:2 variable population. +text strings against any kind of content-type data. This is more +performant vs. using REQUEST_BODY/ARGS_POST/ARGS_POST_NAMES as it +happens before ModSecurity parsing in phase:2 variable population.
    2. For data substitution - using @rsub against this variable allows you to manipulate live request body data. Example - to remove offending payloads or to substitute benign data. @@ -3429,14 +3464,10 @@ SecStreamInBodyInspection directive

      STREAM_OUTPUT_BODY

      This variable give access to the raw response body content. This -variable is best used for two use-cases: +variable is best used for case:

      -
      1. For fast pattern matching - using @pm/@pmf to prequalify large -text strings against the data. This is more performant vs. using -RESPONSE_BODY as it happens before ModSecurity parsing/buffering in -phase:2 variable population. -
      2. For data substitution - using @rsub against this variable -allows you to manipulate live request body data. Example - to remove +
        1. For data substitution - using @rsub against this variable allows + you to manipulate live request body data. Example - to remove offending payloads or to substitute benign data.
        Note 
        You must enable the @@ -4508,13 +4539,14 @@ matched, but keep the first byte and last 4 bytes
      3. # Detect credit card numbers in parameters and 
         # prevent them from being logged to audit log 
        -SecRule ARGS "@verifyCC \d{13,16}" "phase:2,nolog,pass,msg:'Potential credit card number in request',sanitiseMatchedBytes"
        -SecRule RESPONSE_BODY "@verifyCC \d{13,16}" "phase:4,t:none,log,block,msg:'Potential credit card number is response body',sanitiseMatchedBytes:0/4"
        +SecRule ARGS "@verifyCC \d{13,16}" "phase:2,nolog,capture,pass,msg:'Potential credit card number in request',sanitiseMatchedBytes"
        +SecRule RESPONSE_BODY "@verifyCC \d{13,16}" "phase:4,t:none,log,capture,block,msg:'Potential credit card number is response body',sanitiseMatchedBytes:0/4"
         
        Note 
        The sanitize actions affect only the data as it is logged to audit log. High-level debug logs may contain sensitive data. Apache access log may contain sensitive data placed in -the request URI. +the request URI. You must use capture action with sanitiseMatchedBytes, +so the operator must support capture action. ie: @rx, @verifyCC.

        sanitiseRequestHeader

        @@ -5006,6 +5038,9 @@ expression.
        # Detect suspicious client by looking at the user agent identification 
         SecRule REQUEST_HEADERS:User-Agent "@pm WebZIP WebCopier Webster WebStripper ... SiteSnagger ProWebWalker CheeseBot"
         
        +
        Note 
        Starting on ModSecurity v2.6.0 this +operator supports a snort/suricata content style. ie: "@pm A|42|C|44|F". +

        pmf

        Short alias for pmFromFile.

        @@ -5074,6 +5109,11 @@ easier inclusion of phrase files with rulesets, relative paths may be used to the phrase files. In this case, the path of the file containing the rule is prepended to the phrase file path.
    +


    +

    +
    Note 
    Starting on ModSecurity v2.6.0 this +operator supports a snort/suricata content style. ie: "A|42|C|44|F". +

    rbl

    Description: Looks up the input value in the RBL (real-time block list) given as parameter. The parameter can be an IPv4 address or a @@ -5178,6 +5218,12 @@ expression.

    # Detect suspicious client by looking at the user agent identification 
     SecRule REQUEST_HEADERS:User-Agent "@strmatch WebZIP"
     
    +


    +

    +
    Note 
    Starting on ModSecurity v2.6.0 this +operator supports a snort/suricata content style. ie: "@strmatch +A|42|C|44|F". +

    validateByteRange

    Description: Validates that the byte values used in input fall @@ -5701,13 +5747,13 @@ SecCookieFormat 0 - +

    @@ -5817,7 +5863,7 @@ pages href="http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Reference_Manual&printable=yes&printable=yes" rel="alternate" title="Printable version of this page [alt-shift-p]" accesskey="p">Printable version @@ -5829,15 +5875,15 @@ href="http://sourceforge.net/apps/mediawiki/mod-security/index.php?title=Referen src="Reference_Manual_files/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki"> - +