[Dica Rápida] Desabilitar o mod_security em determinado Virtual Host

Não é uma medida aconselhável mais existem casos que precisamos abrir mão deste recurso para o funcionamento determinadas aplicações e mitigar o risco com outros recursos, no meu caso estava com problemas com o phpMyAdmin, algumas funções estavam retornado erros de acesso (ao editar um registro por exemplo).

Considerando o virtual host abaixo

<VirtualHost *>
	ServerName phpMyAdmin.gorobei.net
	DirectoryIndex index.html index.htm index.php
	DocumentRoot /var/www/phpMyAdmin/public_html
	ScriptAlias /cgi-bin /var/www/phpMyAdmin/cgi-bin
	ErrorLog logs/error_phpMyAdmin
	TransferLog logs/serv/access_phpMyAdmin
</VirtualHost>

Adicione o paramentro  SecRuleEngine Off, a configuração vai ficar da seguinte forma

<VirtualHost *>
	ServerName phpMyAdmin.gorobei.net
	DirectoryIndex index.html index.htm index.php
	DocumentRoot /var/www/phpMyAdmin/public_html
	ScriptAlias /cgi-bin /var/www/phpMyAdmin/cgi-bin
	ErrorLog logs/error_phpMyAdmin
	TransferLog logs/serv/access_phpMyAdmin
	SecRuleEngine Off
</VirtualHost>

Desta forma o mod_security vai ignorar este virtual host

Caso seja necessário desabilitar apenas uma determinada regra utilize o parâmetro SecRuleRemoveById <id_da_regra>,  por exemplo:

<VirtualHost *>
	ServerName phpMyAdmin.gorobei.net
	DirectoryIndex index.html index.htm index.php
	DocumentRoot /var/www/phpMyAdmin/public_html
	ScriptAlias /cgi-bin /var/www/phpMyAdmin/cgi-bin
	ErrorLog logs/error_phpMyAdmin
	TransferLog logs/serv/access_phpMyAdmin
	SecRuleRemoveById 950005
</VirtualHost>

O parâmetro SecRuleRemoveById é muito útil quando temos um falso positivo, bom é isso até a próxima.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *