Então parece que você não está muito familiarizado com expressões regulares, você tem uma curva de aprendizado íngreme. O utilitário fail2ban usa expressões regulares do python , vale a pena ler essa página um pouco.
Parte do problema que você está tendo é essa parte do seu failregex
^<HOST>
Isso diz que procure o <HOST>
regex pré-definido no início da linha (ou imediatamente depois de uma nova linha), é para isso que o ^
é para.
Examinando seus exemplos de log, todos eles começam com uma data / hora, isso é removido pelo fail2ban antes que o regex seja aplicado ao restante da linha. A linha não começa com nada que '^' reconheça e é por isso que o seu regex está falhando.
Um exemplo simples usando sua entrada errorlog. Se você quiser tomar medidas para scriptunknown
erros (que pode ou não ser uma coisa boa) você pode usar um failregex como
failregex= scriptunknown", clinet: <HOST>
Você pode testar isso executando o arquivo de log usando fail2ban-regex (1)
fail2ban-regex /path/to/logfile 'scriptunknown", client: <HOST>'
Running tests
=============
Use failregex line : scriptunknown", client: <HOST>
Use log file : /path/to/logfile
Use encoding : UTF-8
Results
=======
Failregex: 1 total
|- #) [# of hits] regular expression
| 1) [1] scriptunknown", client: <HOST>
'-
Ignoreregex: 0 total
Date template hits:
|- [# of hits] date format
| [1] Day(?P<_sep>[-/])MON(?P=_sep)Year[ :]?24hour:Minute:Second(?:\.Microseconds)?(?: Zone offset)?
| [1] Year(?P<_sep>[-/.])Month(?P=_sep)Day 24hour:Minute:Second(?:,Microseconds)?
'-
Lines: 2 lines, 0 ignored, 1 matched, 1 missed [processed in 0.00 sec]
|- Missed line(s):
| [01/Oct/2015:09:15:52 +0800] - 60.18.17.206, 113.21.15.23 "POST/httprl_async_function_callback?count=121 HTTP/1.1" 200 1351 "-" "Drupal (+http://drupal.org/)" "-"
Ok, para que você possa fazer o que quiser, mas pode ser muito amplo, é necessário analisar os resultados e fazer essas ligações.
by the way i dont use iptables software on my server (do i need to install one in order for fail2ban to work?)
Você precisa de algum tipo de firewall compatível com o fail2ban instalado e funcionando em seu sistema. Como você testou e
i manually baned my own IP and it works
Então eu acho que há algo lá fazendo o trabalho.