Como bloquear bots con relayd
Por el 12 de Abril de 2022
Con este método se pueden bloquear peticiones a directorios específicos como /wp-admin de forma eficiente, esto es, enviando un paquete TCP FIN
para cortar la conexión de raíz usando el motor web relayd(8) en OpenBSD.
Aprendí esto gracias al artículo relayd — Secure Web Front End. Parto de un servidor web que funciona con httpd(8) y relayd(8) con una configuración similar a la que uso en el artículo Cabeceras de seguridad HTTP con relayd.
He adaptado la configuración a mis necesidades (un sitio web estático) analizando los logs de mi servidor para que bloquee el acceso tanto a los tipos de archivo que no sirvo como los métodos de petición HTTP que no sean HEAD
o GET
:
[...]
http protocol https {
[...]
# block bots
block request quick path "*.php"
block request quick path "*.cgi"
block request quick path "*.asp"
block request quick path "*.aspx"
block request quick path "*.xml"
block request quick path "*_ignition/*"
block request quick path "*.env"
block request quick path "*.tpl"
block request quick path "*.application"
block request quick path "*.json"
block request quick path "*.exe"
block request quick path "/wp*"
block request quick path "/wordpress/"
block request quick path "*.git*"
block request quick path "*fckeditor*"
block request quick path "/.git/"
# block bad methods
match request tag "BAD_METHOD"
match request method GET tag "OK_METHOD"
match request method HEAD tag "OK_METHOD"
block request quick tagged "BAD_METHOD"
[...]
}
[...]
Gracias a esta configuración te ahorrarás un montón de morralla en los logs y recursos en tu servidor.