Adicione esta linha no arquivo /etc/modsecurity/modsecurity.conf
e reinicie o apache.
SecRule REQUEST_URI ".*\.(pdf|jpeg|png|xml)\?$" "phase:1,id:1001,nolog,t:urlDecode,t:lowercase,t:normalizePath,ctl:ruleRemoveById=958291"
Acabei de instalar o CRS for Apache mod_security e está relatando todos os arquivos PDF como possíveis ataques. De forma específica, é o modsecurity_crs_20_protocol_violations.conf
que está causando problemas ao dizer que esses arquivos começam com 0.
Quando um usuário tenta baixar qualquer arquivo PDF, recebo esse log (o nome do domínio é alterado):
[Tue Jul 08 15:02:40.695235 2014] [ratelimit:error] [pid 6875:tid 140072931452672]
[client 149.255.82.154:57722] AH01457: rl: brigade pass failed., referer:
http://example.com/downloads/
[Tue Jul 08 15:02:41.081811 2014] [:error] [pid 6875:tid 140072923059968] [client
149.255.82.154] ModSecurity: Warning. String match "bytes=0-" at
REQUEST_HEADERS:Range. [file "/etc/httpd/crs/activated_rules
/modsecurity_crs_20_protocol_violations.conf"] [line "428"] [id "958291"] [rev "2"]
[msg "Range: field exists and begins with 0."] [data "bytes=0-65535"] [severity
"WARNING"] [ver "OWASP_CRS/2.2.9"] [maturity "6"] [accuracy "8"] [tag
"OWASP_CRS/PROTOCOL_VIOLATION/INVALID_HREQ"] [hostname "example.com"] [uri
"/app/files/broz_pd.pdf"] [unique_id "U7vr8X8AAAEAABrbRKQAAACB"]
Eu tentei colocar arquivos PDF na lista de permissões criando um modsecurity_15_whitelist.conf
e adicionando isso:
SecRule ".*\.pdf$" "phase:1,id:158963,t:none,nolog,noauditlog,pass"
(e reiniciando o Apache) sem sucesso.
Alguém poderia me ajudar a me livrar desses falsos positivos?
Adicione esta linha no arquivo /etc/modsecurity/modsecurity.conf
e reinicie o apache.
SecRule REQUEST_URI ".*\.(pdf|jpeg|png|xml)\?$" "phase:1,id:1001,nolog,t:urlDecode,t:lowercase,t:normalizePath,ctl:ruleRemoveById=958291"
Tags apache-2.2 mod-security