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.