Puncte:0

fail2ban nu interzice, dar se potrivește cu jurnalele

drapel ng

Încerc să creez o protecție de forță brută cu fail2ban.Cu testul fail2ban, se potrivește cu jurnalele pe care vreau să le potrivesc, dar cu bruta mea de testare forțând site-ul cu peste 7 conectări eșuate, nu îmi interzice adresa IP.

filtru:

[Definiție]
failregex = <HOST>:.*"POST /login.*" 200 .*$
ignoreregex =

temniță:

[magazin-forță-brută]
activat = adevărat
filtru = magazin-brute-force
logpath = /etc/exampleorg/shop/log/access.log
maxretry = 7
timp de găsire = 60
bantime = 900
ignoreip =

exemplu de jurnal (anonimizat cu ..., 88.88.88.88 și example.org):

2022/04/01 08:09:25.413720 88.88.88.88:10729 - - [01/Apr/2022:08:09:25 +0000] „POST /login?target=%2Fshop%2F HTTP/1.12”192000 https://example.org/login?target=%2Fshop%2F" "..."

Test:

Executarea testelor
==============

Utilizați fișierul de filtrare failregex: shop-brute-force, basedir: /etc/fail2ban
Utilizați fișierul jurnal: /home/user/test.log
Utilizați codificarea: UTF-8


Rezultate
=======

Failregex: 3 în total
|- #) [# of hits] expresie regulată
| 1) [3] <HOST>:.*"POST /login.*" 200 .*$
`-

Ignoreregex: 0 total

Afișări șablon de dată:
|- [# of hits] format de dată
| [106] An(?P<_sep>[-/.])Lună(?P=_sep)Ziu 24 ore:Minut:Secundă(?:,Microsecunde)?
`-

Rânduri: 106 linii, 0 ignorate, 3 potrivite, 103 ratate
[procesat în 0,02 sec]

Rând(e) ratat(e): prea multe pentru a fi imprimate. Utilizați --print-all-missed pentru a imprima toate cele 103 rânduri
Puncte:0
drapel il

Î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).

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.