Puncte:1

Filtru Fail2ban pentru mongodb

drapel sv

Versiunea Fail2Ban: 0.10.2

Am încercat o mulțime de fișiere de configurare a filtrului pentru autentificarea de la distanță MongoDB eșuează, niciunul dintre ele nu a funcționat, mi-am dat seama că problema este cu failregex și nu reușesc să vin cu o expresie regex adecvată.

{"$date":"2021-08-10T17:27:13.498+05:30"},"s":"I", "c":"ACCES", "id":20249, "ctx":" conn187","msg":"Autentificare eșuată","attr":{"mechanism":"SCRAM-SHA-256","speculative":true,"principalName":"Admin","authenticationDatabase":"admin" ,"remote":"123.456.789.123:60054","extraInfo":{},"error":"AuthenticationFailed: autentificarea SCRAM nu a reușit, storedKey nepotrivire"}}

Acesta este jurnalul mongo pe care îl primesc la încercarea eșuată. Am încercat să folosesc <HOST>, <ADDR> în regex, dar <HOST> dă 0.0.0.0 și <ADDR> dă 3:6005 (ultima cifră a IP-ului și 4 cifre a portului).

Care ar fi regex-ul potrivit pentru a filtra acest jurnal?

Regex am încercat

^(.*Autentificarea eșuată.*)|(.*<ADDR>.*)|$
^(.*Autentificarea eșuată.*)|(.*<HOST>.*)|$
drapel sv
@MichaelHampton Am adăugat regex-ul pe care l-am folosit. Cu expresia regex menționată fail2ban a fost capabil să detecteze după reîncercări maxime, dar nu obține IP-ul corect
mforsetti avatar
drapel tz
uh fail2ban pentru mongodb? ar trebui să vă expuneți baza de date la internetul public?
drapel sv
@mforsetti baza de date pe care o expun la internetul public este folosită doar pentru testare în timpul dezvoltării, așa că aceasta nu ar trebui să fie o problemă. De asemenea, motivul instalării fail2ban este acela de a acționa ca un plus de securitate pentru a compensa acest lucru.
Puncte:0
drapel il
  1. https://github.com/fail2ban/fail2ban/issues/2932
  2. https://github.com/fail2ban/fail2ban/issues/3046

pe scurt:

[Definiție]

datepattern = ^\{"t":\{"\$date":"%%Y-%%m-%%dT%%H:%%M:%%S\.%%f%%z"} \s*,\s*
_groupre = (?:"(?!(?:msg|attr|client|remote)\b)\w+":(?:"[^"]+"|\w+)\s*[,\}]\ s*)
failregex = ^%(_groupre)s*"msg":"Autentificarea eșuată"\s*,\s*%(_groupre)s*"attr"\s*:\s*\{%(_groupre)s*"( ?:client|remote)":"<ADDR>:\d+"
drapel sv
Funcționează, mulțumesc pentru soluție. În ceea ce privește expunerea bazei de date la internetul public, cât de sigur ar fi cu o frază de acces puternică și fail2ban implementat?
sebres avatar
drapel il
E greu de spus. Fail2ban ar reduce doar riscul de succes al forței brute (de exemplu, reduce drastic numărul de încercări), dar, de exemplu, nu ar proteja cu adevărat împotriva unor vulnerabilități (dacă există sau vor fi introduse în viitor). Deci, dacă este posibil, mai bine este să-l protejați de firewall (de exemplu, net-filter, lista albă a unor gazde/adrese permise să comunice cu mongodb, sau http- sau port-knocking etc).

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.