Você não pode fazer isso com o ufw diretamente, mas você precisa adicionar as regras certas do iptables para /etc/ufw/before.rules
.
Eu sugiro que você aprenda o iptables. Como um ponto de partida (não otimizado), algo como
-A ufw-before-input -p tcp --syn -dport 80 -m recent --name LIMIT_BOTS --update --seconds 60 --hitcount 4 --rcheck -j DROP
-A ufw-before-input -p tcp -dport 80 -m string --algo bm --string "NotWantedUserAgent" -m recent --name LIMIT_BOTS --set ACCEPT
poderia funcionar, onde é claro que você precisa substituir NotWantedUserAgent
pelo correto.
Essas regras devem limitar o número de novas conexões por minuto de um bot específico - eu não as testei e não sei se elas realmente reduzem a carga de trabalho de um bot específico.