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?