HestiaCP: Instalando mod_security no Apache
Ao instalar o painel HestiaCP com Apache ou Apache+Nginx o módulo mod_security não é instalado automaticamente, pois ele não faz parte do pacote de instalação do Apache. Então como se instala o mod_security nesse ambiente?
Usando HestiaCP você estará trabalhando com Ubuntu ou Debian e a instalação é feita da mesma forma nos dois sistemas usando o gerenciador de pacotes APT:
apt -y install libapache2-mod-security2
Essa instalação traz o pacote de regras OWASP habilitado. Se você for instalar outro pacote de regras deve desativar o OWASP, caso contrário pule essa etapa. Edite o arquivo /etc/apache2/mods-enabled/security2.conf:
replace "IncludeOptional /usr/share/modsecurity-crs/" "#IncludeOptional /usr/share/modsecurity-crs/" -- /etc/apache2/mods-enabled/security2.conf
Ativamos o Modsec copiando a configuração recomendada e ligando a engine de detecção:
cp -a /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sed -i "s/SecRuleEngine DetectionOnly/SecRuleEngine On/g" /etc/modsecurity/modsecurity.conf
apache2 -t
Na última linha testamos se há algum erro na configuração do Apache.
Pra fazer ajustes específicos, sugiro criar um arquivo na pasta /etc/apache2/conf.d/
touch /etc/apache2/conf.d/modsec.conf
Ele será usado pra ajustar parâmetros, criar regras customizadas, ativar pacotes de regras ou desativar regras específicas. Exemplo:
# Adicionando pacote de regras
Include /etc/apache2/modsec/pacote.conf
# Criando regra personalizada
SecRule REQUEST_URI "\.php\?act=(ls|chmod|cd|sql|chown|mkdir|chdir|mv|cp|ln|rm|touch|processes|tools|enum|domains|bf|bypass|bh|spread|sec|f&f)" "deny,log,status:406,msg:'Invasao SHELL',id:'0000001'"
# Desativando uma regra específica
SecRuleRemoveById 0000001
# Ajustando parâmetros
SecPcreMatchLimit 200000
Reinicie o Apache pra aplicar as alterações.
Deixe um comentário