Bot, robot, spider, craw… Este tipo de aplicaciones de software están programadas para realizar tareas de forma automática y mucho más rápida que si las hiciese un humano.
Prácticamente, más de la mitad del tráfico de Internet está compuesto por bots que se encargan de escanear e indexar contenido para los motores de búsqueda, interactuar con páginas web, chatear con usuarios o realizar actividades maliciosas como un ataque informático. Y todos estos bots tienen una dirección IP asociada.
Por tanto, hay actividades que realizan los bots que sí interesan, principalmente porque rastrean e indexan contenido en buscadores como Google o Yahoo, pero hay otros que realizan actividades como las siguientes que es conveniente bloquear:
- Copiar contenido web.
- Explorar vulnerabilidades y crear phising.
- Generar un uso excesivo de los recursos de tu plan de hosting, incluso llegando a provocar problemas de lentitud.
- Realizar ataques de fuerza bruta como los conocidos DDoS.
- Recolección de direcciones de correo electrónico.
Y ahora la pregunta que seguramente te estés haciendo es… ¿Y cómo bloqueo el tráfico de bots maliciosos?
Pues bien, puedes hacerlo de dos formas diferentes: modificando el fichero .htaccess o bien a través del fichero robots.txt.
Bloquear el tráfico de bots desde .htaccess
Cuando detectas que está entrando a tu web tráfico malicioso, es recomendable que redirecciones todas esas peticiones a una dirección que no existe.
En este ejemplo vamos a bloquear el tráfico del bot PetalBot. Para ello, establecemos las siguientes líneas de código en el .htaccess:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} "(PetalBot|petalsearch.com)" [NC] RewriteRule .* - [F,L]
Para bloquear varios bots a la vez, simplemente hay que añadir una línea más por cada uno de ellos:
RewriteCond %{HTTP_USER_AGENT} "(xxxxxxxx|xxxxxxxxxx)" [NC]
Para que veas un caso real, aquí bloqueamos el tráfico de SeekportBot y PetalBot:
RewriteEngine On RewriteCond %{HTTP_USER_AGENT} "(SeekportBot|seekport.com)" [NC] RewriteCond %{HTTP_USER_AGENT} "(PetalBot|petalsearch.com )" [NC] RewriteRule .* - [F,L]
Bloquear el tráfico de bots desde robots.txt
Desde el archivo robots.txt puedes definir reglas que sugieran a los bots que no accedan ni rastreen el contenido de parte o todo tu sitio.
Por ejemplo, con la siguiente regla puedes bloquear el tráfico de Petalbot de tu sitio web:
User-agent: PetalBot Disallow: /
También es muy habitual utilizar reglas en el robots.txt cuando no queremos que Google (o cualquier otro motor de búsqueda) rastree ciertas secciones de una página web como, por ejemplo, el área de clientes.
Tomando de base este ejemplo, si no queremos que Google rastree el área de cliente de tu sitio, tendrías que establecer en el robots.txt lo siguiente:
User-agent: Googlebot Disallow: /area-de-clientes
En cambio, si lo que no quieres es que ningún bot acceda a esa url, tienes que establecer:
User-agent: * Disallow: /area-de-clientes
Si utilizas WordPress, por norma general también se indica a los motores de búsqueda que no accedan a la URL de administración, es decir, al /wp-admin:
User-agent: * Disallow: /wp-admin