The easiest way to ban ip’s that keep getting banned for 10 minutes by fail2ban is enable the recidive jail. Set the delay to a day (86400) and block them for a week (604800) or longer.
This essentially means that if some ip get’s blocked 3x within a day it is banned for a week. Play with the variables if you want. Block less long if you are unsure. Ban them longer if you’re sure.
Does not help against botnets though. For that I block them using a blacklist text file with ranges with firelwalld ipset feature. You can also use that to block countries like Russia of China. Documentation here: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/security_guide/sec-setting_and_controlling_ip_sets_using_firewalld
I would love a feature in the webmin firewalld section where you can just add ip ranges to block that would have saved me some time learning the stuff.
Before I ban a range I always look up the geo location: https://www.iplocation.net/ip-lookup