domingo, 2 de marzo de 2014

.htaccess y El Bloqueo de Scaners Web Contra Una Web

Hace unos días, me tope con el blog de [Security Attack] un blog de dominio brasileño y como supondréis, en perfecto portugués el cual contiene bastantes trucos muy buenos sobre seguridad informática. Entre ellos me sorprendió una mini-entrada donde explicaba como fastidiar a "Script-Kiddies" bloqueando scaners de vulnerabilidades a través de la configuración de un archivo .htaccess. Así que me puse rápidamente a buscar que era eso y como podía implementarlo. 


"Un archivo .htaccess o también conocido como archivo de configuración distribuida, es un fichero especial, popularizado por el Servidor HTTP Apache que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache."  [Wikipedia]
Así que si yo implementaba un archivo .htacces, con la pertintente configuración, en la raíz de mi servidor FTP podría llegar a bloquear los scaneres que yo quisiera. Ojo, solo para los "Script-Kiddies" cualquiera que tenga dos ojos en la frente se extrañará de no ver nada y empezará a probar a mando o con otras herramientas mas indicadas. (mmm No se que pasaria con ParameterFuzz) Mi única duda era el saber que hacia la etiqueta <IfModule mod_rewrite.c>.
"El <IfModule prueba > ... </ IfModule> sección se utiliza para marcar las directivas que son condicionales sobre la presencia de un módulo específico.Las directivas dentro de una <IfModule> sección sólo se procesan si el ensayo es cierto. Si la prueba es falsa, se ignora todo lo que entre los marcadores de inicio y fin." [Apache.org]
Para quien tenga curiosidad sobre mod_rewrite.c aquí tiene mas información:  
Ahora ya entiendo lo que le estaba metiendo en mi web y la verdad es que es un truco muy sencillo que nos puede ahorrar algunos problemas. Os dejo el código aquí  para que lo podáis implementar vosotros también si queréis o por si tenéis curiosidad. 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^w3af.sourceforge.net [NC,OR]
RewriteCond %{HTTP_USER_AGENT} dirbuster [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nikto [NC,OR]
RewriteCond %{HTTP_USER_AGENT} SF [OR]
RewriteCond %{HTTP_USER_AGENT} sqlmap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} fimap [NC,OR]
RewriteCond %{HTTP_USER_AGENT} nessus [NC,OR]
RewriteCond %{HTTP_USER_AGENT} whatweb [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Openvas [NC,OR]
RewriteCond %{HTTP_USER_AGENT} jbrofuzz [NC,OR]
RewriteCond %{HTTP_USER_AGENT} libwhisker [NC,OR]
RewriteCond %{HTTP_USER_AGENT} webshag [NC,OR]
RewriteCond %{HTTP:Acunetix-Product} ^WVS
RewriteRule ^.* http://127.0.0.1/ [R=301,L]
</IfModule>
Fuente: 

2 comentarios:

  1. Hola Albert!

    La mayoría de scaners web utilizar un User Agent personal inclusive Acunetix, aunque en este caso la regla sea algo más genérica, ya que muchas de las inyecciones que esta herramienta lanza, contienen las siglas WVS pertenecientes a Web Vulnerability Scanner.

    ParameterFuzz sin embargo, al utilizar de intermediario el componente Web Browser y no incluir ninguna cabecera personal, sería indetectable a un filtro como el que propones.

    Por otro lado y hablando de hardening en Apache, yo incluiría a Mod Security, ya que el módulo 35 de modsecurity_rules, incluye diccionarios configurables de los scanners y robots más utilizados a día de hoy.

    Un Saludo! :)

    ResponderEliminar
    Respuestas
    1. Muchísimas gracias por el comentario Germán. me ha hecho ilusión xD. Ya me temía yo que ParameterFuzz se iba a colar ... xDD

      Me mirare mirare ese módulo a ver hasta donde llego. xD Muchas gracias ^^

      Eliminar