So we are trying to upgrade from apache 2.2 to 2.4, and bring
mod_security up from an earlier version to the latest. We are running
on Windows, but we took a stock installation of everything, and it
works. However 960032 keeps nagging that the request method is not
valid. The specific error entry is

[Wed Jun 05 17:19:47.207015 2013] [:error] [pid 1972:tid 1232] [client
81.143.18.217] ModSecurity: Warning. Match of "within
%{tx.allowed_methods}" against "REQUEST_METHOD" required. [file
"D:/apps/apacheHttpd/Apache24/conf/mod_security_crs/activated_rules/modsecurity_crs_30_http_policy.conf"]
[line "31"] [id "960032"] [rev "2"] [msg "Method is not allowed by
policy"] [data "GET"] [severity "CRITICAL"] [ver "OWASP_CRS/2.2.7"]
[maturity "9"] [accuracy "9"] [tag
"OWASP_CRS/POLICY/METHOD_NOT_ALLOWED"] [tag "WASCTC/WASC-15"] [tag
"OWASP_TOP_10/A6"] [tag "OWASP_AppSensor/RE1"] [tag "PCI/12.1"]
[hostname "athena.atomus.com"] [uri "/qns/gwtMember/loading.gif"]
[unique_id "Ua9lI8CoADIAAAe0NnoAAAA-"]

If we update the rule from

SecRule REQUEST_METHOD "!@within %{tx.allowed_methods}"

to

SecRule REQUEST_METHOD "!@within GET HEAD POST"

then it works correctly. My conclusion is that somehow the
tx.allowed_methods isn't been passed correctly. The relevant contents
of modsecurity_crs_10_config.conf file that sets this are

SecAction \
 "id:'900012',\
  phase:request,\
  nolog,\
  pass,\
  t:none,\
  setvar:'tx.allowed_methods=GET HEAD POST OPTIONS', \
  
setvar:'tx.allowed_request_content_type=application/x-www-form-urlencoded|multipart/form-data|text/xml|application/xml|application/x-amf|application/json|text/x-gwt-rpc|text/plain',
\
  setvar:'tx.allowed_http_versions=HTTP/0.9 HTTP/1.0 HTTP/1.1', \
  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/', \
  setvar:'tx.restricted_headers=/Proxy-Connection/ /Lock-Token/
/Content-Range/ /Translate/ /via/ /if/'"

We updated the tx.allowed_request_content_type, but tx.allowed_methods
is as was.

Any ideas as to how to proceed debugging this?

Thanks

Chris

P.S. version numbers apache 2.4.4 win64, poenssl/1.01e windows web
server 2008 r2

[Wed Jun 05 17:19:41.005660 2013] [:notice] [pid 1972:tid 456]
ModSecurity for Apache/2.7.4 (http://www.modsecurity.org/) configured.
[Wed Jun 05 17:19:41.005660 2013] [:notice] [pid 1972:tid 456]
ModSecurity: APR compiled version="1.4.6"; loaded version="1.4.6"
[Wed Jun 05 17:19:41.005660 2013] [:notice] [pid 1972:tid 456]
ModSecurity: PCRE compiled version="8.32 "; loaded version="8.32
2012-11-30"
[Wed Jun 05 17:19:41.005660 2013] [:notice] [pid 1972:tid 456]
ModSecurity: LUA compiled version="Lua 5.1"
[Wed Jun 05 17:19:41.005660 2013] [:notice] [pid 1972:tid 456]
ModSecurity: LIBXML compiled version="2.9.1"
_______________________________________________
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