¿Cómo bloquear agentes de usuario y remitentes no deseados en Apache, Nginx y WordPress?
Bloquee todas las solicitudes innecesarias que vea en los registros
Supongo que ha mirado los registros de visitantes de su sitio web y está harto de esas solicitudes no deseadas. Es posible que no sean necesariamente malos o spam, pero es posible que no agreguen valor al negocio. Imagínese si la mayoría de los clics provinieran de agentes de usuarios impopulares o referentes, y pensara que su sitio estaba recibiendo un buen tráfico, pero en realidad, eran inútiles.
La mejor manera de administrarlos es detenerlos en el borde, como dispositivos de red, balanceadores de carga, firewalls o CDN. Sin embargo, entiendo que los blogs personales o los sitios web pequeños pueden no funcionar y es posible que desee bloquear en niveles más bajos, como el servidor web, WordPress, etc.
Espero que ya tenga una lista de referentes y agentes de usuario para bloquear. Empecemos.
Como práctica recomendada, haga una copia de seguridad de los archivos de configuración antes de realizar cambios para que pueda revertirlos si algo sale mal.
Nginx
Nginx impulsa millones de sitios web y es muy popular en el alojamiento web. Si está utilizando Nginx, puede bloquearlos de las siguientes maneras. Suponga que recibe muchas solicitudes automatizadas con el siguiente agente de usuario y decide bloquearlas.
if ($http_user_agent ~* "java|curl|python") {
return 403;
}
Si desea redirigir a algún lugar, entonces:
if ($http_user_agent ~* "java|curl|python") {
return 301 https://yoursite.com;
}
La configuración anterior debe estar en server
obstruido.
El siguiente contenido está bloqueado por los recomendadores.El siguiente ejemplo debe estar en location
block se utiliza para bloquear solicitudes de semantic.com, badsite.net, example.com.
if ($http_referer ~ "semalt\.com|badsite\.net|example\.com") {
return 403;
}
Después de realizar los cambios necesarios, debe guardar el archivo y reiniciar Nginx para que surta efecto.
Para reiniciar Nginx puedes usar:
service nginx restart
Nginx es un servidor web poderoso, si está interesado en aprender, eche un vistazo a esto Cursos online.
apache HTTP
Para bloquear el agente de usuario en Apache, puede usar mod_rewrite
módulo.Asegúrese de que los módulos estén habilitados, luego agregue lo siguiente en uno de ellos .htaccess
archivo o el correspondiente .conf
documento.
Si tiene varios sitios configurados y desea bloquear direcciones URL específicas, es posible que desee ponerlos por separado en VirtualHost
parte.
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} badcrawler [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badbot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} badspider [NC]
RewriteRule . - [R=403,L]
La regla anterior bloqueará cualquier solicitud con el agente de usuario badcrawler, badbot y badspider.
Además, el siguiente ejemplo se bloquea haciendo referencia a los nombres BlowFish, CatchBot, BecomeBot.
RewriteEngine on
RewriteCond %{HTTP_REFERER} blowfish|CatchBot|BecomeBot [NC]
RewriteRule . - [R=403,L]
Como de costumbre, reinicie el servidor Apache y pruebe los resultados.
WordPress
Si está utilizando WordPress en alojamiento compartido, o no tiene acceso a la configuración de su servidor web o no se siente cómodo modificando archivos, entonces puede usar un complemento WP.Hay muchos complementos de seguridad de WP, uno de los más populares para bloquear bots maliciosos es agujero negro de los robots malos.
en conclusión
Espero que los consejos anteriores lo ayuden a bloquear las solicitudes incorrectas para que no afecten las solicitudes legítimas.Si está buscando seguridad integral, también podría considerar un WAF basado en la nube, como Astra o SUCURI.