O Modsecurity é um firewall de aplicações muito utilizado. Ele bloqueia diversos tipos de ataque ao seu servidor o que pode, inclusive, gerar falsos positivos impedindo aplicativos de funcionar corretamente.
Nós tivemos esse problema ao utilizar o Mautic. O Modsecurity impedia que algumas informações fossem salvas (como modelos de email).
A solução é identificar quais os processos são barrados e liberá-los no Modsecurity (whitelist). Se você possui hospedagem compartilhada, o problema é de responsabilidade de seu prestador de serviço. Algumas empresas podem simplesmente se negar a resolver o problema, por motivos de segurança. É uma das muitas desvantagens de ter uma hospedagem compartilhada. Na Soluções Cobra utilizamos servidores próprios e já fazemos a instalação WordPress + Mautic e todas as configurações para o cliente.
A solução encontrada é, portanto, para servidores com Centos Web Panel (com acesso SSH), para outras configurações, os procedimentos podem necessitar de adaptação.
Identificando o erro (id)
1. Log em seu servidor através do comando SSH;
2. Procure erro que você está tendo através do nome da aplicação, depois encontre o ID e domínio/subdomínio. Veja o exemplo abaixo, com um erro do Mautic:
[Thu Oct 18 15:54:19.422564 2018] [:error] [pid 4343:tid 140677945972480] [client 186.209.67.74:37270] [client 186.209.67.74] ModSecurity: Access denied with code 403 (phase 2). Pattern match “image/svg\\\\+xml|text/(css|ecmascript|html|javascript|vbscript|x-(javascript|scriptlet|vbscript)).|.application/x-shockwave-flash” at ARGS:emailform[customHtml]. [file “/usr/local/apache/modsecurity-cwaf/rules/08_XSS_XSS.conf”] [line “217”] [id “212740”] [rev “4”] [msg “COMODO WAF: XSS Attack Detected||mautic.tudovegano.com.br|F|2”] [data “Matched Data: text/css\\x22 found within ARGS:emailform[customHtml]: <!doctype html>\\x0a<html>\\x0a <head>\\x0a <title>{subject}</title>\\x0a <meta name=\\x22viewport\\x22 content=\\x22width=device-width, initial-scale=1.0\\x22>\\x0a <style type=\\x22text/css\\x22 media=\\x22only screen and (max-width: 480px)\\x22>\\x0a /* mobile styles */\\x0a @media only screen and (max-width: 480px) {\\x0a\\x0a [class=\\x22w320\\x22] {\\x0a width: 320px !impo…”] [severity “CRITICAL”] [tag “CWAF”] [tag “XSS”] [hostname “mautic.tudovegano.com.br“] [uri “/s/emails/new”] [unique_id “W8jW21799V654zZfkBXpqQAAAM4”], referer: http://mautic.tudovegano.com.br/s/emails/new
3. Acessa o CWPanel. Na coluna esquerda, em SECURITY, acesse o submenu MODSECURITY.
4. Será apresentada uma lista de todos os domínios e subdomínios. Selecione aquele que você encontrou na linha de erro do log. Clique no botão EDIT RULES:
5. Adicione o seguinte comando seguido do ID encontrado no log, aqui no exemplo 212740:
SecRuleRemoveById 212740
6. Salve as configurações no botão abaixo. Depois, na direita, clique em Reload Apache
7. Verifique se o erro acontecerá novamente. Aqui tivemos o problema novamente com o Mautic mas com uma ID diferente. O processo foi repetido e surgiu erro com nova ID. Apenas depois repetir todos os passos e adicionar as 3 regras (uma para cada ID) o programa funcionou normalmente.