Puncte:0

fail2ban nu interzice IP-urile „potrivite” din jurnalul vsftp

drapel in

Folosind fail2ban pentru a securiza autentificarea vsftp:

închisoare.local

[vsftpd]
activat = adevărat
bantime = 600
timp de căutare = 5000
maxretry = 1
port = ftp, ftp-data
action = iptables-multiport
logpath = /var/log/vsftpd/vsftpd.log

Regex se potrivește, așa cum puteți vedea aici:

fail2ban-regex /var/log/vsftpd/vsftpd.log /etc/fail2ban/filter.d/vsftpd.conf --print-all-matched

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

Utilizați fișierul de filtrare failregex: vsftpd, basedir: /etc/fail2ban
Utilizați datapattern: {^LN-BEG}: Detectoare implicite
Utilizați fișierul jurnal: /var/log/vsftpd/vsftpd.log
Utilizați codificarea: UTF-8


Rezultate
=======

Failregex: 23 în total
|- #) [# of hits] expresie regulată
| 2) [23] ^ \[pid \d+\] \[[^\]]+\] FAIL LOGIN: Client „<HOST>”(?:\s*$|,)
`-

Ignoreregex: 0 total

Afișări șablon de dată:
|- [# of hits] format de dată
| [385] {^LN-BEG}(?:DAY )?LUN Ziua %k:Minute:Second(?:\.Microsecunde)?(?: ExYear)?
`-

Linii: 385 linii, 0 ignorate, 23 potrivite, 362 ratate
[procesat în 0,03 sec]

|- Liniile potrivite:
| Miercuri, 9 martie 08:36:06 2022 [pid 2619415] [bla] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:36:13 2022 [pid 2619420] [bla] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:36:18 2022 [pid 2619422] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:36:30 2022 [pid 2619425] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:36:37 2022 [pid 2619508] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie, 08:36:45 2022 [pid 2619511] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:36:53 2022 [pid 2619514] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:47:39 2022 [pid 2620744] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:47:47 2022 [pid 2620746] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:47:55 2022 [pid 2620748] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:48:03 2022 [pid 2620763] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:48:12 2022 [pid 2620767] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:48:12 2022 [pid 2620766] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:55:07 2022 [pid 2621558] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:55:15 2022 [pid 2621560] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:55:23 2022 [pid 2621562] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:55:23 2022 [pid 2621564] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 08:55:26 2022 [pid 2621566] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 09:36:56 2022 [pid 2627379] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 09:37:48 2022 [pid 2627498] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 09:37:57 2022 [pid 2627500] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 09:37:57 2022 [pid 2627501] [blaas] FAIL LOGIN: Client „some_IP”
| Miercuri, 9 martie 09:37:58 2022 [pid 2627504] [blaas] FAIL LOGIN: Client „some_IP”
`-
Rând(e) ratat(e): prea multe pentru a fi imprimate. Utilizați --print-all-missed pentru a imprima toate cele 362 de linii

Verificarea cu fail2ban cli / fail2ban-client status vsftpd

Starea închisorii: vsftpd
|- Filtru
| |- Momentan eșuat: 0
| |- Total eșuat: 0
| `- Potriviri din jurnal:
`- Acțiuni
   |- Interzis în prezent: 0
   |- Total interzise: 0
   `- Lista IP interzise:

Aveți idee despre ce ar putea cauza aceasta neinterzicerea IP-urilor „potrivite” / cum să depanați în continuare?

Puncte:0
drapel il

Aveți idee despre ce ar putea cauza aceasta neinterzicerea IP-urilor „potrivite” / cum să depanați în continuare?

Gresit backend (dacă este systemd implicit pe sistemul dvs.)? Încercați să specificați backend = auto pentru această închisoare (ar selecta automat backend-ul de monitorizare legat de fișiere).

Pentru alte motive posibile vezi https://github.com/fail2ban/fail2ban/wiki/How-fail2ban-works

Puncte:0
drapel za

De ce ai crezut că nu interzice? Faptul că nu este interzis acum nu înseamnă că o închisoare nu funcționează.

Văd un model specific în jurnalul tău pentru închisoare blaas: șase încercări consecutive, atunci oarecare întârziere (de aproximativ 10 minute), apoi exact șase încercări din nou, apoi ceva întârziere, apoi din nou șase încercări...

Acest lucru poate fi interpretat în două moduri:

  1. Se interzice timp de 10 minute după 6 încercări. Apoi elimină interdicția.

  2. Te-ai confruntat cu o inteligent bot, care știe despre comportamentul tipic fail2ban și este capabil să determine setările de închisoare (câte încercări în ce perioadă de timp declanșează o interdicție). Astfel de roboți există de destul de mult timp. Deci, probabil că s-a reglat singur pentru a nu împiedica acțiunea de interdicție.

Pentru a remedia aceste cazuri, trebuie să activați recidivă jail, care scanează propriul fișier jurnal al lui fail2ban, caută adrese care au fost interzise și nebandate de prea multe ori (de exemplu, cinci pe zi) și le interzice pentru mult, ca o lună întreagă. În al doilea caz, trebuie, de asemenea, să înăspriți considerabil limitele închisorii, pentru a putea prinde botul cu recidivă înainte ca acesta să aibă șansa de a vă determina configurarea închisorii.

Citește mereu fișier jurnal (poate /var/log/fail2ban.log), nu un ajutor de potrivire regex. Acest ajutor este conceput tocmai pentru a depana potrivirile, care provoacă o lovitură. Nu va ajuta să depanați comportamentul de interzicere atunci când aplicațiile de potrivire regex sunt deja depanate și funcționează corect.


Am recitit întrebarea ta și am observat definiția închisorii: timpul de interdicție este într-adevăr setat la 10 minute. Dacă am reușit să o determin fără să mă uit la setări, de ce boții nu pot?

sebres avatar
drapel il
Pentru că nici măcar nu găsește niciun eșec (legat de starea `Eșuat în prezent: 0` și `Eșuat total: 0` ambele înseamnă că nu găsește nimic)... Și cum poate dacă, din nou, legat de starea , din cauza `Journal matchs`, închisoarea pare să folosească backend `systemd`, care nu ar monitoriza niciodată fișierele jurnal (monitorizează doar jurnalul systemd)... De asemenea, rețineți răspunsul meu de mai sus despre parametrul `backend`.
Nikita Kipriyanov avatar
drapel za
Unde ai văzut că backend-ul este `systemd`? Nu se spune nimic despre el în fragmentul de configurare. Închisoarea este configurată cu calea exactă a fișierului jurnal. Va fi o stare implicită stupidă, nu-i așa? Chiar mă aștept să văd `auto` acolo în mod implicit și este pe toate sistemele mele.
sebres avatar
drapel il
Pentru că altfel `fail2ban-client status` ar afișa `File list` cu numele căii de înregistrare, în loc de `Journal matchs`. Setarea `logpath` nu decide despre asta (multe închisori preconfigurate o au și ele), doar `backend` o face. Crede-mă, sunt dezvoltator de fail2ban de mai bine de 10 ani.

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.