@@ -354,11 +354,12 @@ SecDefaultAction "phase:2,log,auditlog,pass"
354354# nolog,\
355355# pass,\
356356# t:none,\
357+ # setvar:tx.crs_exclusions_cpanel=1,\
357358# setvar:tx.crs_exclusions_drupal=1,\
358- # setvar:tx.crs_exclusions_wordpress=1,\
359- # setvar:tx.crs_exclusions_nextcloud=1,\
360359# setvar:tx.crs_exclusions_dokuwiki=1,\
361- # setvar:tx.crs_exclusions_cpanel=1"
360+ # setvar:tx.crs_exclusions_nextcloud=1,\
361+ # setvar:tx.crs_exclusions_wordpress=1,\
362+ # setvar:tx.crs_exclusions_xenforo=1"
362363
363364#
364365# -- [[ HTTP Policy Settings ]] ------------------------------------------------
@@ -389,7 +390,8 @@ SecDefaultAction "phase:2,log,auditlog,pass"
389390# Content-Types that a client is allowed to send in a request.
390391# Default: application/x-www-form-urlencoded|multipart/form-data|text/xml|\
391392# application/xml|application/soap+xml|application/x-amf|application/json|\
392- # application/octet-stream|text/plain
393+ # application/octet-stream|application/csp-report|\
394+ # application/xss-auditor-report|text/plain
393395# Uncomment this rule to change the default.
394396#SecAction \
395397# "id:900220,\
@@ -399,19 +401,6 @@ SecDefaultAction "phase:2,log,auditlog,pass"
399401# t:none,\
400402# setvar:'tx.allowed_request_content_type=application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/soap+xml|application/x-amf|application/json|application/octet-stream|application/csp-report|application/xss-auditor-report|text/plain'"
401403
402- # Content-Types charsets that a client is allowed to send in a request.
403- # Default: utf-8|iso-8859-1|iso-8859-15|windows-1252
404- # Uncomment this rule to change the default.
405- # Use "|" to separate multiple charsets like in the rule defining
406- # tx.allowed_request_content_type.
407- #SecAction \
408- # "id:900270,\
409- # phase:1,\
410- # nolog,\
411- # pass,\
412- # t:none,\
413- # setvar:'tx.allowed_request_content_type_charset=utf-8|iso-8859-1|iso-8859-15|windows-1252'"
414-
415404# Allowed HTTP versions.
416405# Default: HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/2.0
417406# Example for legacy clients: HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/2.0
@@ -428,16 +417,16 @@ SecDefaultAction "phase:2,log,auditlog,pass"
428417
429418# Forbidden file extensions.
430419# Guards against unintended exposure of development/configuration files.
431- # Default: .asa/ .asax/ .ascx/ .axd/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pol/ .printer/ .pwd/ .resources/ .resx/ .sql/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx/
432- # Example: .bak/ .config/ .conf/ .db/ .ini/ .log/ .old/ .pass/ .pdb/ .sql/
420+ # Default: .asa/ .asax/ .ascx/ .axd/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pol/ .printer/ .pwd/ .rdb/ . resources/ .resx/ .sql/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx/
421+ # Example: .bak/ .config/ .conf/ .db/ .ini/ .log/ .old/ .pass/ .pdb/ .rdb/ . sql/
433422# Uncomment this rule to change the default.
434423#SecAction \
435424# "id:900240,\
436425# phase:1,\
437426# nolog,\
438427# pass,\
439428# t:none,\
440- # setvar:'tx.restricted_extensions=.asa/ .asax/ .ascx/ .axd/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pol/ .printer/ .pwd/ .resources/ .resx/ .sql/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx/'"
429+ # setvar:'tx.restricted_extensions=.asa/ .asax/ .ascx/ .axd/ .backup/ .bak/ .bat/ .cdx/ .cer/ .cfg/ .cmd/ .com/ .config/ .conf/ .cs/ .csproj/ .csr/ .dat/ .db/ .dbf/ .dll/ .dos/ .htr/ .htw/ .ida/ .idc/ .idq/ .inc/ .ini/ .key/ .licx/ .lnk/ .log/ .mdb/ .old/ .pass/ .pdb/ .pol/ .printer/ .pwd/ .rdb/ . resources/ .resx/ .sql/ .sys/ .vb/ .vbs/ .vbproj/ .vsdisco/ .webinfo/ .xsd/ .xsx/'"
441430
442431# Forbidden request headers.
443432# Header names should be lowercase, enclosed by /slashes/ as delimiters.
@@ -465,16 +454,18 @@ SecDefaultAction "phase:2,log,auditlog,pass"
465454# t:none,\
466455# setvar:'tx.static_extensions=/.jpg/ /.jpeg/ /.png/ /.gif/ /.js/ /.css/ /.ico/ /.svg/ /.webp/'"
467456
468- # Locations that will be inspected to enforce only images and documents uploads.
469- # Default: /wp-admin/upload.php /wp-admin/media-new.php
470- # Uncomment this rule to change the default set in 901180
457+ # Content-Types charsets that a client is allowed to send in a request.
458+ # Default: utf-8|iso-8859-1|iso-8859-15|windows-1252
459+ # Uncomment this rule to change the default.
460+ # Use "|" to separate multiple charsets like in the rule defining
461+ # tx.allowed_request_content_type.
471462#SecAction \
472- # "id:900270 ,\
463+ # "id:900280 ,\
473464# phase:1,\
474465# nolog,\
475466# pass,\
476467# t:none,\
477- # setvar:'tx.protected_uploads=#/wp-admin/upload.php# #/wp-admin/media-new.php# '"
468+ # setvar:'tx.allowed_request_content_type_charset=utf-8|iso-8859-1|iso-8859-15|windows-1252 '"
478469
479470#
480471# -- [[ HTTP Argument/Upload Limits ]] -----------------------------------------
@@ -789,52 +780,6 @@ SecDefaultAction "phase:2,log,auditlog,pass"
789780SecCollectionTimeout 600
790781
791782
792- #
793- # -- [[ Debug Mode ]] ----------------------------------------------------------
794- #
795- # To enable rule development and debugging, CRS has an optional debug mode
796- # that does not block a request, but instead sends detection information
797- # back to the HTTP client.
798- #
799- # This functionality is currently only supported with the Apache web server.
800- # The Apache mod_headers module is required.
801- #
802- # In debug mode, the webserver inserts "X-WAF-Events" / "X-WAF-Score"
803- # response headers whenever a debug client makes a request. Example:
804- #
805- # # curl -v 'http://192.168.1.100/?foo=../etc/passwd'
806- # X-WAF-Events: TX:930110-OWASP_CRS/WEB_ATTACK/DIR_TRAVERSAL-REQUEST_URI,
807- # TX:930120-OWASP_CRS/WEB_ATTACK/FILE_INJECTION-ARGS:foo,
808- # TX:932160-OWASP_CRS/WEB_ATTACK/RCE-ARGS:foo
809- # X-WAF-Score: Total=15; sqli=0; xss=0; rfi=0; lfi=10; rce=5; php=0; http=0; ses=0
810- #
811- # To enable debug mode, include the RESPONSE-981-DEBUG.conf file.
812- # This file resides in a separate folder, as it is not compatible with
813- # nginx and IIS.
814- #
815- # You must specify the source IP address/network where you will be running the
816- # tests from. The source IP will BYPASS all CRS blocking, and will be sent the
817- # response headers as specified above. Be careful to only list your private
818- # IP addresses/networks here.
819- #
820- # Tip: for regression testing of CRS or your own ModSecurity rules, you may
821- # be interested in using the OWASP CRS regression testing suite instead.
822- # View the file util/regression-tests/README for more information.
823- #
824- # Uncomment these rules, filling in your CRS path and the source IP address,
825- # to enable debug mode:
826- #
827- #Include /path/to/crs/util/debug/RESPONSE-981-DEBUG.conf
828- #SecRule REMOTE_ADDR "@ipMatch 192.168.1.100" \
829- # "id:900980,\
830- # phase:1,\
831- # nolog,\
832- # pass,\
833- # t:none,\
834- # ctl:ruleEngine=DetectionOnly,\
835- # setvar:tx.crs_debug_mode=1"
836-
837-
838783#
839784# -- [[ End of setup ]] --------------------------------------------------------
840785#
0 commit comments