August 09, 2026 · by CLIQHOST
Fiecare server conectat la internet este scanat constant de boți care caută parole slabe, servicii vulnerabile sau porturi deschise. Dacă ai un VPS NVMe sau un server dedicat, una dintre primele măsuri pe care trebuie să le iei este instalarea Fail2Ban — un instrument open-source care blochează automat adresele IP ce generează prea multe erori de autentificare.
În acest ghid vei învăța cum să instalezi, configurezi și optimizezi Fail2Ban pe un VPS cu Ubuntu sau CentOS, pas cu pas.
Fail2Ban monitorizează fișierele de log ale serviciilor (SSH, Nginx, Apache, Postfix etc.) și detectează tipare suspecte — de obicei, mai multe autentificări eșuate consecutive. Când pragul configurat este depășit, Fail2Ban adaugă automat o regulă în firewall (iptables sau nftables) care blochează IP-ul respectiv pentru o perioadă definită.
Concepte-cheie:
- Jail – o regulă de monitorizare pentru un serviciu specific
- Filter – expresia regex care identifică evenimentele suspecte în log-uri
- Action – ce se întâmplă când filtrul se declanșează (ban, alertă email etc.)
- bantime – durata blocării (implicit 10 minute)
- maxretry – numărul maxim de încercări eșuate permise
- findtime – intervalul de timp în care se contorizează încercările
Avem nevoie de:
- Un VPS cu Ubuntu 20.04/22.04 sau CentOS 7/8 (root sau sudo)
- Acces SSH activ
- iptables sau nftables instalat (prezent implicit pe majoritatea distribuțiilor)
Dacă nu ți-ai securizat încă accesul SSH, citește articolul nostru despre cum îți securizezi VPS-ul după prima autentificare înainte de a continua.
sudo apt update && sudo apt install fail2ban -y
sudo yum install epel-release -y
sudo yum install fail2ban -y
După instalare, pornește și activează serviciul:
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Verifică starea:
sudo systemctl status fail2ban
Ar trebui să vezi active (running) în output.
Fail2Ban vine cu un fișier principal /etc/fail2ban/jail.conf. Nu modifica niciodată acest fișier direct — el va fi suprascris la actualizări. În schimb, creează o copie locală:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Acum editează jail.local:
sudo nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600 # 1 oră
findtime = 600 # 10 minute
maxretry = 5 # 5 încercări
ignoreip = 127.0.0.1/8 ::1 # IP-uri mereu permise
Sfat: Adaugă IP-ul tău fix în
ignoreippentru a nu te bloca accidental pe tine însuți.
Protecția SSH este prioritatea numărul unu. Activează jail-ul sshd în jail.local:
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 3
bantime = 86400 # 24 ore
Dacă ai schimbat portul SSH (de exemplu la 2222), specifică-l explicit:
port = 2222
Restartează Fail2Ban pentru a aplica modificările:
sudo systemctl restart fail2ban
Verifică starea jail-ului:
sudo fail2ban-client status sshd
Output-ul va arăta numărul de IP-uri blocate curent și totalul de ban-uri.
Dacă rulezi un server web pe VPS SSD, protejează și portul 80/443 de scanări agresive și atacuri asupra paginii de login.
[nginx-http-auth]
enabled = true
port = http,https
logpath = /var/log/nginx/error.log
maxretry = 5
[nginx-botsearch]
enabled = true
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 10
findtime = 300
bantime = 3600
[apache-auth]
enabled = true
port = http,https
logpath = /var/log/apache2/error.log
maxretry = 5
[apache-badbots]
enabled = true
port = http,https
logpath = /var/log/apache2/access.log
maxretry = 2
După orice modificare, aplică:
sudo systemctl reload fail2ban
Poți configura Fail2Ban să îți trimită un email de fiecare dată când un IP este blocat. Ai nevoie de sendmail sau postfix instalat.
În secțiunea [DEFAULT] din jail.local:
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)s
action_mwl trimite email cu log-urile relevante — util pentru audit și depanare.
Odată Fail2Ban configurat, iată comenzile pe care le vei folosi cel mai des:
# Starea generală
sudo fail2ban-client status
# Starea unui jail specific
sudo fail2ban-client status sshd
# Deblochează manual un IP
sudo fail2ban-client set sshd unbanip 1.2.3.4
# Blochează manual un IP
sudo fail2ban-client set sshd banip 1.2.3.4
# Vizualizare log Fail2Ban în timp real
sudo tail -f /var/log/fail2ban.log
Dacă rulezi o aplicație personalizată (ex. un API REST) și vrei să protejezi un endpoint specific, poți crea propriul filtru.
Creează fișierul /etc/fail2ban/filter.d/myapp.conf:
[Definition]
failregex = ^<HOST> .* "POST /api/login HTTP/.*" 401
ignoreregex =
Apoi adaugă jail-ul în jail.local:
[myapp-login]
enabled = true
port = http,https
filter = myapp
logpath = /var/log/nginx/access.log
maxretry = 5
bantime = 7200
Testează filtrul înainte de a-l activa:
sudo fail2ban-regex /var/log/nginx/access.log /etc/fail2ban/filter.d/myapp.conf
bantime progresiv — poți folosi bantime.increment = true pentru a dubla timpul de ban la fiecare nouă tentativă din același IP.Fail2Ban este un instrument esențial în arsenalul oricărui administrator de server Linux. Instalarea durează câteva minute, iar configurarea corectă poate bloca mii de atacuri automate zilnic, reducând semnificativ suprafața de atac a serverului tău.
Dacă pornești de la zero și cauți un mediu stabil și rapid, explorează ofertele de VPS NVMe de la CLIQHOST — optimizate pentru performanță și cu acces root complet pentru configurări avansate. Ai nevoie de ajutor la setup? Contactează echipa noastră și îți configurăm serverul profesionist de la bun început.
Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."