Încerc să creez o protecție de forță brută cu fail2ban
failregex = ... 200 ...
Aceasta nu este neapărat o încercare de forță brută, deoarece 200 este un răspuns obișnuit, asta înseamnă OK... În mod normal, coduri precum 401 sau 403 ar semnala încercări neautorizate, sau dacă serviciul răspunde cu 200, ar scrie o intrare suplimentară în jurnal. un fișier jurnal sau jurnal (nu neapărat în acces.log
). Dar, de asemenea, alte lucruri sunt foarte discutabile aici, să nu mai vorbim teoretic, cineva este capabil să forțeze brute folosind alte metode ca POST
.
dar cu bruta mea de testare forțând site-ul cu peste 7 conectări eșuate...
Rânduri: 106 linii, 0 ignorate, 3 potrivite, 103 ratate
Nu ați furnizat întregul fragment de jurnal corespunzător acestor 7 încercări.
Și fail2ban-regex
găsiți doar 3 potriviri legate de dvs failregex
(care nu este deloc bun, de exemplu, neancorat și are catch-all, dar nu contează - meciurile nu sunt acolo). Probabil că înregistrează altceva ca o singură linie de jurnal din exemplul tău, pentru că RE se potrivește practic cu asta.
Prin urmare, vă rugăm să vă actualizați întrebarea cu un întreg fragment de jurnal corespunzător tuturor celor 7 încercări pe care le-ați făcut.
Și nu în ultimul rând, RE mult mai bine ar putea arăta așa:
failregex = ^\s*<ADDR>:\d+ [^"]*"[A-Z]+ /login\b[^"]*" 200\b
Cu toate acestea, încă nu sunt sigur că ați folosi cu adevărat asta (din cauza problemei 200 și altele pe care le-am menționat mai sus).
Dacă a fost doar un test (cu 3 linii de jurnal) și într-adevăr vedeți toate cele 7 linii de jurnal în jurnalul real, puteți verifica acest lucru Întrebări frecvente pentru posibilele motive pentru care fail2ban nu interzice.
De exemplu, poate fi incorect backend
(setează-l la auto
pentru monitorizarea legată de fișiere) sau acțiune de interdicție nepotrivită sau vreo eroare pe partea fail2ban (verificați și fail2ban.log).