El script es basado en la instalación sugerida por http://www.ukhost4u.com/blog/248/configuring-modsecurity-with-atomicorp-free-rule-sets/
Que hace el script?
Estas instrucciones instalarán ConfigServer ModSecurity Control, mod_security y las reglas Atomic Corp Delayed
El script adaptará las reglas a cPanel y eliminará algunas no compatibles, luego es posible controlar mod_security desde el plugin CMC en WHM
Comandos listos para copiar y pegar a consola ssh como usuario root
Código:
El script no actualiza las reglas automáticamente (algo en lo que estoy trabajando)rm -fv cmc.tgz wget http://www.configserver.com/free/cmc.tgz tar -xzf cmc.tgz cd cmc sh install.sh cd .. rm -Rfv cmc/ cmc.tgz rm -Rf mkdir /usr/local/apache/conf/modsec_rules mkdir /usr/local/apache/conf/modsec_rules cd /usr/local/apache/conf/modsec_rules wget http://updates.atomicorp.com/channels/rules/delayed/modsec-2.5-free-latest.tar.gz tar -zxf modsec-2.5-free-latest.tar.gz rm -f modsec-2.5-free-latest.tar.gz cd modsec mv * /usr/local/apache/conf/modsec_rules rm -f 00_asl_z_antievasion.conf rm -f 05_asl_scanner.conf rm -f 09_asl_rules.conf rm -f 11_asl_data_loss.conf rm -f 40_asl_apache2-rules.conf rm -f 98_asl_jitp.conf rm -f 99_asl_a_redactor.conf rm -f 99_asl_redactor.conf rm -f 99_asl_redactor_post.conf rm -f 99_asl_scanner.conf cd .. sed -i -e 's/\/etc\/asl\/whitelist/whitelist.txt/g' /usr/local/apache/conf/modsec_rules/00_asl_whitelist.conf sed -i -e 's/\/etc\/asl\/whitelist/whitelist.txt/g' /usr/local/apache/conf/modsec_rules/00_asl_rbl.conf rm -Rf /var/asl mkdir /var/asl mkdir /var/asl/data/ mkdir /var/asl/data/msa mkdir /var/asl/data/audit mkdir /var/asl/data/suspicious 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/* cat >/usr/local/apache/conf/modsec2.user.conf <<EOF SecPcreMatchLimit 50000 SecPcreMatchLimitRecursion 50000 SecRequestBodyAccess On SecResponseBodyAccess On SecResponseBodyMimeType (null) text/html text/plain text/xml SecResponseBodyLimit 220621440 SecServerSignature Apache SecUploadDir /var/asl/data/suspicious SecUploadKeepFiles Off SecAuditLogParts ABIFHZ SecArgumentSeparator "&" SecCookieFormat 0 SecRequestBodyLimit 220621440 SecRequestBodyInMemoryLimit 220621440 LimitRequestBody 0 LimitRequestBody 25097152 SecDataDir /var/asl/data/msa SecTmpDir /tmp SecAuditLogStorageDir /var/asl/data/audit SecResponseBodyLimitAction ProcessPartial Include /usr/local/apache/conf/modsec2.whitelist.conf Include /usr/local/apache/conf/modsec_rules/*asl*.conf EOF service httpd restart
Alguna sugerencia o formas de mejorarlo son bienvenidas