set_nginx_modsec_OwaspRules

set_nginx_modsec_OwaspRules(){
  clear
  f_banner
  echo -e "\e[34m---------------------------------------------------------------------------------------------------------\e[00m"
  echo -e "\e[93m[+]\e[00m Setting OWASP Rules for ModSecurity on Nginx"
  echo -e "\e[34m---------------------------------------------------------------------------------------------------------\e[00m"
  echo ""
  cd src/
  wget https://github.com/SpiderLabs/owasp-modsecurity-crs/tarball/master -O owasp.tar.gz
  tar -zxvf owasp.tar.gz
  owaspdir=$(ls -la | grep SpiderLabs | cut -d ' ' -f18)
  cp ModSecurity/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
  cp ModSecurity/unicode.mapping /usr/local/nginx/conf/
  cd $owaspdir/
  cat modsecurity_crs_10_setup.conf.example >> /usr/local/nginx/conf/modsecurity.conf
  cd base_rules/
  cat *.conf >> /usr/local/nginx/conf/modsecurity.conf
  cp *.data /usr/local/nginx/conf/
  cd ../../..
  service nginx restart
  say_done
}

La función set_nginx_modsec_OwaspRules se encarga de descargar y poner en funcionamiento las reglas de ModSecurity de OWASP que serán las que estarán protegiendo nuestra aplicación web. Jshielder las copia en los directorios correspondiente y activa la configuración.

Ya que cuando descargamos las reglas y las descomprimimos, es posible que la carpeta resultante cambie la numeración es por eso que hacemos uso de la variable owaspdir que lo que hace es listar los directorios en nuestra ruta actual, busca el que se llama Spiderlabs y extrae el nombre para poder ingresar a el y copiar los archivos correspondiente.

owaspdir=$(ls -la | grep SpiderLabs | cut -d ' ' -f18)