Puncte:0

Ajută la realizarea unui filtru fail2ban

drapel mx

Am făcut deja câteva filtre pentru fail2ban-ul meu, dar doar lucruri simple, cum ar fi:

[Definiție]
failregex = ^ .* „GET .*/wp-login.php
ignoreregex =

Nu folosesc wordpress pe serverul meu, așa că blochez o mulțime de încercări rău intenționate. Și am creat și altele asemănătoare, pentru: phpmyadmin, wp-admin, wp-include etc.

dar am găsit în access.log-ul meu lucruri ciudate precum:

167.172.145.56 - - [22/Sep/2021:06:44:50 -0700] „GET /wp-login.php HTTP/1.1” 403 9901 „http://cpanel.alebalweb-blog.com/wp-login .php" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"
167.172.145.56 - - [22/Sep/2021:06:44:50 -0700] „GET /wp-login.php HTTP/1.1” 403 9901 „http://mail.alebalweb-blog.com/wp-login .php" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0"


61.135.15.175 - - [22/Sep/2021:05:45:24 -0700] „GET / HTTP/1.1” 200 26210 „http://webdisk.alebalweb-blog.com/” „Mozilla/5.0 (Linux; Android 10.0; MI 2 Build/O012) AppleWebKit/537.36 (KHTML, ca Gecko) Chrome/88.0.4472.114 Mobile Safari/537.36"    
61.135.15.175 - - [22/Sep/2021:05:45:24 -0700] „GET / HTTP/1.1” 200 26210 „http://webmail.alebalweb-blog.com/” „Mozilla/5.0 (Linux; Android 10.0; MI 2 Build/O012) AppleWebKit/537.36 (KHTML, ca Gecko) Chrome/88.0.4472.114 Mobile Safari/537.36"    
61.135.15.175 - - [22/Sep/2021:05:45:24 -0700] „GET / HTTP/1.1” 200 26210 „http://cpcalendars.alebalweb-blog.com/” „Mozilla/5.0 (Linux; Android 10.0; MI 2 Build/O012) AppleWebKit/537.36 (KHTML, ca Gecko) Chrome/88.0.4472.114 Mobile Safari/537.36"

Aceste subdomenii nu există.

Am încercat să creez un nou filtru, inspirat de apache-badbots, dar nu sunt sigur că este corect:

[Definiție]

varioustoblock = cpanel\.|magazin\.|webdisk\.|autodiscover\.|app\.|cpcalendars\.|cpcontacts\.|webmail\.|mail\.|fulaifushi\.|surf11818\.|asg\.| owa\.|schimb\.\$

failregex = ^<HOST> -.*"(GET|POST).*HTTP.*".*(?:%(varioustoblock)s).*"$
ignoreregex =

datapattern = ^[^\[]

mai ales pentru (.), in trecut am avut probleme cu (.) din filtrele fail2ban, iar solutia a fost sa le elimin complet...

dar în acest caz, ele nu pot fi eliminate, nu pot bloca pe nimeni care are cuvântul „mail” în adresa mea URL... trebuie să fiu sigur că blochez „mail”.

și aș dori să creez un singur filtru mare care să identifice atât subdomeniile inexistente, cât și încercările de a accesa wordpress sau phpmyadmin, dar pyton regex este cu adevărat înfricoșător dacă nu l-ați folosit niciodată...

Ma poate ajuta cineva?

(M-am gândit și să elimin * .alebalweb-blog.com din configurația dns, dar nu sunt sigur că este o idee bună, și pentru că folosesc niște subdomenii.)

P.s. Cât de îngrijorat ar trebui să fiu dacă cineva încearcă să acceseze subdomenii care nu există pe site-ul meu?

drapel ru
Deci, iată ceva de luat în considerare: există o grămadă de înregistrări DNS învechite pentru lucruri. Sunt încă lovit pentru un site care a fost șters acum 6 ani de pe un server, domeniu și DNS și tot, dar păianjenii încă încearcă să-l lovească - poate doriți să vă gândiți să configurați un „site” implicit în Apache sau nginx pentru orice intrare de gazdă neegalat pe sistemul dvs. care primește doar un 403 sau un 404. În toate cazurile, totuși, ar trebui să fiți mai puțin îngrijorat dacă cineva accesează site-uri și subdomenii inexistente și mai îngrijorat că difuzați conținut NUMAI pentru gazde valide din sistemul dvs. și doar 403 sau 404 pentru cele nevalide.
alebal avatar
drapel mx
Aș prefera să le blochez, pentru că de exemplu astăzi au ajuns: 3721, a-pistefto, zarxar, progylka, tuya, bnksb... care cu siguranță nu au nicio legătură cu serverul actual sau cu serverele trecute, par a fi caut usa deschisa sa intru...si am verificat niste ip, de multe ori sunt aceleasi care cauta wp-login sau wp-admin...dar trebuie rafinat filtrul meu, pentru ca azi de exemplu am blocat mail.ru , care, bietul tip nu a greșit cu nimic...
drapel ru
Iată un fapt de luat în considerare: cei mai mulți dintre aceștia sunt probabil cercetători de servicii, nu lucruri de care poți fi cu adevărat îngrijorat. Sugestia mea este să utilizați un filtru standard vechi Fail2Ban pentru a urmări 404s și 403s, apoi extindeți blocul la un timp obscen în loc să vă restrângeți filtrele. Ca exemplu, am șaizeci de mii de accesări astăzi pentru șiruri aleatorii de nume de gazdă de 5 caractere pentru un subdomeniu care funcționează aici. Sunt scanere de serviciu complet aleatorii, probabil. Încercarea de a le bloca pe toate este zadarnică.
Puncte:0
drapel co

Posibilul filtru poate arăta astfel:

[Definiție]

datapattern = ^\S+ \S+ \S+( \[{DATA}\])

errcode = (?!401)[45]\d\d
permitsubdomains = www|mail|cpannel
domenii greșite = (?!(?:%(subdomenii permise)s)?\.)(?:[^\."]+\.){2,}[^\."]+
failregex = ^<ADDR> \S+ \S+ "[A-Z]+ /[^"]*" (?:(?P<err>%(errcode)s)|\d+)(?(err)| \d+ " https?://%(wrongdomains)s")

Acest lucru s-ar potrivi fie cu orice cod „rău” specificat de cod de eroare sau domenii greșite, din cauza potrivirii condiționate e. g. în cazul codului 200.

Unde:

  • (?:(?P<err>%(errcode)s)|\d+) - se potrivește fie cu codurile de eroare specificate (cum ar fi 403 și îl stochează ca grup numit a greșit) sau orice alt cod (cum ar fi 200);
  • (?(err)...A...|...B...) - expresia condiționată care se potrivește sub expresia A dacă a greșit a fost potrivită în expresia de mai sus (doar codul de eroare, deoarece A este gol aici), altfel se potrivește subexpresia B (subdomeniu greșit).
  • (?!(?:%(subdomenii permise)s)?\.)(?:[^\."]+\.){2,}[^\."]+ - potrivirea cu orice, cu excepția șirurilor care încep cu subdomeniile permise din cauza anticipării negative (?!...) și (?:[^\."]+\.){2,}[^\."]+ pentru soment ca zzz.xxx.yyy.

Dar ar fi mai bine să restricționați domeniile pe partea de server web și să interziceți orice solicitare pentru domeniul ilegal acolo.

În acest caz, filtrul ar putea fi cam așa:

[Definiție]

datapattern = ^\S+ \S+ \S+( \[{DATA}\])

errcode = (?!401)[45]\d\d
failregex = ^<ADDR> \S+ \S+ "[A-Z]+ /[^"]*" %(errcode)s\b
alebal avatar
drapel mx
Mi le poti explica?
sebres avatar
drapel co
Sigur, mi-am actualizat răspunsul
alebal avatar
drapel mx
Mulțumesc mult, acum hai să aruncăm o privire... și să încercăm să înțelegem... mulțumesc

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.