// server management

Cum instalezi și configurezi Fail2Ban pe un VPS Linux: ghid complet

August 09, 2026 · by CLIQHOST

Cum instalezi și configurezi Fail2Ban pe un VPS Linux: ghid complet

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.


Ce este Fail2Ban și cum funcționează?

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


Cerințe preliminare

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.


Pasul 1: Instalarea Fail2Ban

Pe Ubuntu / Debian

sudo apt update && sudo apt install fail2ban -y

Pe CentOS / RHEL

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.


Pasul 2: Fișierul de configurare — jail.local

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

Setări globale recomandate

[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 ignoreip pentru a nu te bloca accidental pe tine însuți.


Pasul 3: Configurarea jail-ului pentru SSH

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.


Pasul 4: Protecție pentru Nginx și Apache

Dacă rulezi un server web pe VPS SSD, protejează și portul 80/443 de scanări agresive și atacuri asupra paginii de login.

Jail pentru Nginx — blocare HTTP auth

[nginx-http-auth]
enabled  = true
port     = http,https
logpath  = /var/log/nginx/error.log
maxretry = 5

Jail pentru Nginx — blocare scanări de tip boți

[nginx-botsearch]
enabled  = true
port     = http,https
logpath  = /var/log/nginx/access.log
maxretry = 10
findtime = 300
bantime  = 3600

Jail pentru Apache

[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

Pasul 5: Configurarea alertelor prin email

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.


Pasul 6: Comenzi utile de administrare

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

Pasul 7: Crearea unui filtru personalizat

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

Bune practici și recomandări suplimentare

  • Combină Fail2Ban cu un firewall dedicat — Fail2Ban nu înlocuiește configurarea unui firewall cu UFW/iptables, ci îl completează.
  • Mărește bantime progresiv — poți folosi bantime.increment = true pentru a dubla timpul de ban la fiecare nouă tentativă din același IP.
  • Monitorizează log-urile regulat — un IP blocat de sute de ori pe zi poate indica un atac DDoS, nu doar brute-force.
  • Actualizează Fail2Ban — versiunile noi aduc filtre îmbunătățite și suport pentru nftables.
  • Consideră un plan de administrare server dacă nu ai timp să gestionezi manual securitatea — echipa CLIQHOST poate configura și monitoriza Fail2Ban în locul tău.

Concluzie

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.

SHARE
// ce spun clienții

Ce spun clienții noștri

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."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău