Oi, vou ensinar a instalar.
Primeiramente o ModSecurity (http://www.modsecurity.org) é um firewall de aplicação que é executado como um módulo do servidor Web Apache. O WAF (Web Application Firewall), ou firewall de aplicação, tem por objetivo bloquear diversos tipos de ataques, como o Cross-Site Scripting (XSS), SQL Injection, Command Injection, ASP e PHP Injection, Trojans & Backdoors Detection, dentre outros, que variam de acordo com as regras existentes. Instale o ModSecurity.

A instalação só pode ser pelo superUser ( root ).
Primeiro instalaremos pacotes básicos do apache 2 e php5 com o seguinte comando:
root@server:~# aptitude install php5 libapache2-mod-php5
Reiniciar o servidor apache2:
root@server:~# /etc/init.d/apache2 restart
Verificação
Para verificar a instalação do suporte php, basta criar uma página Internet que mostre as características da instalação php. Neste caso, iremos criar uma página em /var/www/phpinfo.php:
<?php
phpinfo();
?>
Em seguida, tentar aceder à página, utilizando um browser e inserindo o endereçohttp://seuendereçoweb/phpinfo.php:
Poderá também ser testado o acesso seguro via protocolo https da mesma maneira, utilizando o endereço https://seuenderecoweb/phpinfo.php.
Uma vez testado o funcionamento, deverá ser apagada a página de testes, dado que as informações nela contidas poderiam comprometer a segurança do servidor:
root@server:~# rm /var/www/phpinfo.php
E finalmente instalando mod_security.
O primeiro é preciso baixar a última versão. Na época do presente documento é versão 2.6.3. Você pode verificar a última versão no site http://www.modsecurity.org/download/
# cd /usr/src/ # wget "http://ufpr.dl.sourceforge.net/project/mod-security/modsecurity-apache/2.6.3/modsecurity-apache_2.6.3.tar.gz" # tar zxvf modsecurity-apache_2.6.3.tar.gz
Nós instalaremos um par de ferramentas e bibliotecas que iremos precisar...
# apt-get install libxml2-dev liblua5.1-0 lua5.1 apache2-threaded-dev build-essential libxml2 libxml2-dev libcurl3 libcurl3-dev
Compilamos modsecurity e instalamos... ( verificar com "apt-get install make" para ver se "make esteja instalado)
# cd modsecurity-apache_2.6.3 # ./configure # make # make install
Agora devemos criar o arquivo /etc/apache2/mods-available/mod_security2.load com o seguinte conteúdo:
LoadFile /usr/lib/libxml2.so LoadFile /usr/lib/liblua5.1.so.0 LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
Com isto, habilitaremos os seguintes módulos que usaremos.
# a2enmod mod_security2 # a2enmod unique_id
Configuramos com o minimo necessário para correr o mod-security
# cp modsecurity.conf-recommended /etc/apache2/conf.d/modsecurity.conf
Agora baixe o pacote de regras mais atuais e instalaremos (neste caso, ao montar esse tutorial foi o ModSecurity-crs_2.2.3, mas olhar para este site http://sourceforge.n...-crs/0-CURRENT/ (última versão do pacote CRS))
# cd /etc/apache2/ # wget -O modsecurity-crs.tar.gz "http://ufpr.dl.sourceforge.net/project/mod-security/modsecurity-crs/0-CURRENT/modsecurity-crs_2.2.3.tar.gz" # tar xzvf modsecurity-crs_2.2.3.tar.gz # mv modsecurity-crs_2.2.3 /etc/apache2/modsecurity_crs # rm -fr modsecurity-crs.tar.gz # chown root.root /etc/apache2/modsecurity_crs/ -R # cd /etc/apache2/modsecurity_crs # mv modsecurity_crs_10_config.conf.example modsecurity_crs_10_config.conf
Agora ajustaremos as configurações do mod-security para apontar os arquivos de log onde queremos, e incluem apenas o pacote de regras que acabamos de baixar.
Para fazer isso, edite o arquivo de configuração:
# nano /etc/apache2/conf.d/modsecurity.conf
Buscaremos seguintes linhas:
# SecDebugLog /opt/modsecu # SecDebugLogLevel 3 Descomentamos elas e deixamos da seguinte forma: SecDebugLog /var/log/apache2/modsec_debug.log SecDebugLogLevel 3 logo buscamos essas linhas; # SecAuditLogType Serial # SecAuditLog /var/log/modsec_audit.log Descomentamos elas e deixamos da seguinte forma: SecAuditLogType Serial SecAuditLog /var/log/apache2/modsec_audit.log No final do arquivo, adicione as seguintes linhas, que serão utilizados para carregar todas as regras do pacote que baixamos: Include /etc/apache2/modsecurity_crs/*.conf Include /etc/apache2/modsecurity_crs/base_rules/*.conf Salvamos o arquivo e sairmos.
Abaixo prepararemos os logs que vamos usar e vamos definir as permissões necessárias:
# touch /var/log/apache2/modsec_debug.log # touch /var/log/apache2/modsec_audit.log # chown root.root /var/log/apache2/modsec_* # chmod 660 /var/log/apache2/modsec_*
É isso, agora podemos confirmar no Apache para verificar se está tudo OK na config:
# apache2ctl configtest
Se estiver OK, vamos ver:
Syntax OK
Não continuar senão ver a seguinte mensagem " Syntax OK "!.
Agora, se .. se tudo estiver OK, podemos reiniciar o Apache2:
# /etc/init.d/apache2 restart
Depois de reiniciar, podemos olhar para o log de erros do Apache para ver se de fato carregou o módulo ModSecurity.
# tail /var/log/apache2/error.log
E deveríamos ver algo similar a ...
[Wed Jan 15 19:15:59 2011] [notice] ModSecurity for Apache/2.6.3 (http://www.modsecurity.org/) configured. [Wed Jan 15 19:16:00 2011] [notice] ModSecurity: APR compiled version="1.4.2"; loaded version="1.4.2" [Wed Jan 15 19:16:00 2011] [notice] ModSecurity: PCRE compiled version="8.2"; loaded version="8.02 2010-03-19" [Wed Jan 15 19:16:00 2011] [notice] ModSecurity: LIBXML compiled version="2.7.8" [Wed Jan 15 19:16:01 2011] [notice] Apache/2.2.9 (Debian) PHP/5.3.3-7+squeeze3 with Suhosin-Patch configured -- resuming normal operations
Beijo na testa :*
Créditos: http://www.hardware.com.br & Beekizin (: