Am scris o închisoare personalizată și un filtru în fail2ban pentru a mă conecta la serviciul meu. Fișierul jurnal se află în /var/log/motion/motion.log
și o conectare eșuată generează o linie ca aceasta:
[0:ml1] [ALR] [STR] [Nov 02 11:42:59] handle_basic_auth: motion-stream - încercare de autentificare eșuată de la <ip>
În închisoarea mea /etc/fail2ban/jail.local
arata asa:
[autentificarea mișcării]
activat = adevărat
port = 8008
filtru = motion-auth.conf
logpath = /var/log/motion/motion.log
banaction = %(banaction_allports)s
maxretry = 3
timp de căutare = 10800
bantime = 259200
Și filtrul meu /etc/fail2ban/filter.d
numit motion-auth.conf
arata asa:
[Definiție]
failregex = \[0:ml1\] \[ALR\] \[STR\] \[.*\] handle_basic_auth: motion-stream - încercare de autentificare eșuată de la <HOST>
Când alerg fail2ban-regex /var/log/motion/motion.log /etc/fail2ban/filter.d/motion-auth.conf
Primesc o confirmare că filtrul meu funcționează de fapt conform intenției:
Executarea testelor
==============
Utilizați fișierul de filtru failregex: motion-auth, basedir: /etc/fail2ban
Utilizați fișierul jurnal: /var/log/motion/motion.log
Utilizați codificarea: UTF-8
Rezultate
=======
Failregex: 186 total
|- #) [# of hits] expresie regulată
| 1) [186] \[0:ml1\] \[ALR\] \[STR\] \[.*\] handle_basic_auth: motion-stream - încercare de autentificare eșuată de la <HOST>
`-
Ignoreregex: 0 total
Afișări șablon de dată:
|- [# of hits] format de dată
| [2640] (?:DAY )?LUN Ziua %k:Minute:Second(?:\.Microsecunde)?(?: ExYear)?
`-
Linii: 2929 linii, 0 ignorate, 186 potrivite, 2743 ratate
[procesat în 1,06 sec]
Dar când încerc să reîncarc/repornesc fail2ban pentru a adăuga noul meu filtru, primesc un mesaj ca acesta:
Nu s-au găsit fișiere de configurare accesibile pentru „filter.d/motion-auth.conf” în /etc/fail2ban
Nu se poate citi filtrul „motion-auth.conf”
Erori în închisoare „moțiune-auth”. Se trece peste...
Bine
Stie cineva ce gresesc?