ModSecurity

De Wiki Projeto Root
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre o ModSecurity e ModEvasive, módulos que elevam a segurança em servidores web, neste caso especifico do Apache, podendo ser utilizando em outros servidores Web.

Vídeo

https://youtu.be/eRTrHDKexiU

Instalando o ModSecurity no Debian

1 - Instalando dependências

  apt-get install zip libapache2-mod-security2 libxml2 libxml2-dev libxml2-utils libaprutil1 libaprutil1-dev 

2- Verificando se o módulo está ativo

  apachectl -M | grep --color security2

3 - Criando arquivo de configuração

  mv /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf


Ativar o Modo Seguro

4 - Alterando no arquivo de configuração a rule para on

  sed -i "s/SecRuleEngine DetectionOnly/SecRuleEngine On/" /etc/modsecurity/modsecurity.conf

5 - Alterando no arquivo de configuração o SecRensponseBodyAccess para On

  sed -i "s/SecResponseBodyAccess On/SecResponseBodyAccess Off/" /etc/modsecurity/modsecurity.conf

6 - Reinicializando o Serviço

 /etc/init.d/apache2 restart ; tail -f /var/log/apache2/error.log


Colocando os arquivos de Rules

1 - Baixando o arquivo

 * Desatualizado   wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/master.zip <<< está quebrado/desatualizado 
 * Atual wget https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/v3.0/master.zip

2 - Descompactando

  unzip master.zip

3 - Copiando os arquivos para o local de instalação

  cp -R owasp-modsecurity-crs-master/* /etc/modsecurity/

4 - Criando o arquivo modsecurity_crs_10_setup.conf

  mv /etc/modsecurity/modsecurity_crs_10_setup.conf.example /etc/modsecurity/modsecurity_crs_10_setup.conf

5 - Acessando a pasta

  cd /etc/modsecurity

6 - Criando links simbólicos

   for f in * ; do ln -s /etc/modsecurity/base_rules/$f /etc/modsecurity/activated_rules/$f ; done
   for f in * ; do ln -s /etc/modsecurity/optional_rules/$f /etc/modsecurity/activated_rules/$f ; done

7 - Habilitando headers

   a2enmod headers

8 - Adicionar antes de </IfModule> o include abaixo com o comando >> nano /etc/apache2/mods-available/security2.conf

  IncludeOptional /etc/modsecurity/base_rules/*.conf

9 - Reinicializar o apache e acompanhar os logs

  /etc/init.d/apache2 restart ; tail -f /var/log/apache2/error.log 

10 - Testar o modsecurity

  tail -f /var/log/apache2/modsec_audit.log

Install Mod_Evasive

1 - Instalando módulo

  apt-get install libapache2-mod-evasive

2 - Criando pasta para log

  mkdir /var/log/mod_evasive

3 - Ajustando dono da pasta (www-data)

  chown www-data:www-data /var/log/mod_evasive/

4 - Editando o arquivo de configuração e ajustando

  nano /etc/apache2/mods-available/mod-evasive.conf
  
  <ifmodule mod_evasive20.c>
     DOSHashTableSize 3097
     DOSPageCount  2
     DOSSiteCount  50
     DOSPageInterval 1
     DOSSiteInterval  1
     DOSBlockingPeriod  10
     DOSLogDir   /var/log/mod_evasive
     DOSEmailNotify  [email protected]
     DOSWhitelist   127.0.0.1
  </ifmodule>


5 - Correção mod-evasive email bug

  ln -s /etc/alternatives/mail /bin/mail/

6 - Habilitando o módulo

  a2enmod evasive

7 - Reinicializando o serviço do Apache

  /etc/init.d/apache2 restart