Agradecimentos ao YSAAC por ter compartilhado a informação pelo post do Forum do Host em http://forum.portaldohost.com.br/showthread.php?t=3037&p=30086#post30086. Segue aqui o post completo:
Acessando como root execute:
cd /usr/local/apache/conf/
mkdir modsec_rules
cd modsec_rules
wget http://updates.atomicorp.com/channel...8191901.tar.gz
tar zvxf modsec-201008191901.tar.gz
rm -fr zvxf modsec-201008191901.tar.gz
Crie os diretórios abaixo, eles são necessários para gravação e leitura de arquivos temporários do ASL:
mkdir /var/asl
mkdir /var/asl/tmp
mkdir /var/asl/data
mkdir /var/asl/data/msa
mkdir /var/asl/data/audit
mkdir /var/asl/data/suspicious
mkdir /etc/asl
Corrija as permissões :
chown nobody.nobody /var/asl/data/msa
chown nobody.nobody /var/asl/data/audit
chown nobody.nobody /var/asl/data/suspicious
chmod o-rx -R /var/asl/data/*
chmod ug+rwx -R /var/asl/data/*
e crie o arquivo "lista branca":
touch /etc/asl/whitelist
Agora acesse o WHM e clique no "Mod Security", deletando as regras atuais e no lugar delas adicione:
SecComponentSignature 201008191901
SecRequestBodyAccess On
SecResponseBodyAccess On
SecResponseBodyMimeType (null) text/html text/plain text/xml
SecResponseBodyLimit 2621440
SecServerSignature Apache
SecUploadDir /var/asl/data/suspicious
SecUploadKeepFiles Off
SecAuditLogParts ABIFHZ
SecArgumentSeparator '&'
SecCookieFormat 0
SecRequestBodyInMemoryLimit 131072
SecDataDir /var/asl/data/msa
SecTmpDir /tmp
SecAuditLogStorageDir /var/asl/data/audit
SecResponseBodyLimitAction ProcessPartial
# ConfigServer ModSecurity - descomente caso vc use o ConfigServer CMC.
#Include /usr/local/apache/conf/modsec2.whitelist.conf
#ASL Rules
Include /usr/local/apache/conf/modsec_rules/modsec/99_asl_jitp.conf
Include /usr/local/apache/conf/modsec_rules/modsec/50_asl_rootkits.conf
#Include /usr/local/apache/conf/modsec_rules/modsec/00_asl_rbl.conf
Include /usr/local/apache/conf/modsec_rules/modsec/00_asl_whitelist.conf
Include /usr/local/apache/conf/modsec_rules/modsec/05_asl_scanner.conf
Include /usr/local/apache/conf/modsec_rules/modsec/20_asl_useragents.conf
Observação: Caso você use o ConfigServer CMC (http://www.configserver.com/cp/cmc.html) deixe a linha "Include /usr/local/apache/conf/modsec2.whitelist.conf" liberada, caso não use, deixe comentado com o # no início.
Existem vários arquivos de regras específicas no /usr/local/apache/conf/modsec_rules/ - estas acima são sugestões.
Tome cuidado com o load do servidor - quanto mais regras forem adicionadas ao modulo mais o apache demorará a carrega-las em cada processo aberto. O que sugiro neste caso para usar são:
Include /usr/local/apache/conf/modsec_rules/99_asl_jitp.conf
Include /usr/local/apache/conf/modsec_rules/50_asl_rootkits.conf
Include /usr/local/apache/conf/modsec_rules/20_asl_useragents.conf
Após tudo isso salve e reinicie o apache. Acompanhe os logs do mod_security para ver que tipo de tentativa de acesso indevido ocorre, em quais scripts e domínios de seu servidor.
6 comentários:
Boa tarde,
Após implementar as regras, quando vou restartar o apache... me retorna um erro:
/etc/init.d/httpd restart: configuration broken, ignoring restart
/etc/init.d/httpd restart: (run 'apachectl configtest' for details)
se eu retirar as recras, ele restarta numa boa.
obrigado.
Opa desculpe pela demora, vc criou o arquivo de "lista branca" ?
touch /etc/asl/whitelist
Essas configurações são suficientes para pequenos servidores vps ou dedicados de hospedagem de site?
Sim podem ser usadas em VPS ou dedicados, porem quanto mais regras no mod_secure vc adicionar mais carga de processamento será usada pelo apache.
Bom dia,
Alguma dessas regras pode interferir no envio de mailing através do PHPlist? Vlw...
Primeiramente parabéns pelo blog, alta qualidade do material.
Não consegui interpretar direito os logs, eles indicam tentativas de ataque no script indicado, ou indica que aquele script está tentando atacar o servidor? Espero não ter sido confuso ehhehe
Postar um comentário