Cum să instalați și să configurați Fail2Ban pe Linux

9 min citire - 14 mai 2026

hero section cover
Cuprins
  • Cum se instalează și se configurează Fail2Ban pe Linux
  • Cerințe preliminare
  • Instalarea Fail2Ban pe Ubuntu/Debian
  • Configurarea Jails
  • Testare și monitorizare
  • Configurare avansată
Distribuie

Ghid pas cu pas pentru instalarea, configurarea și testarea Fail2Ban pe servere Linux bazate pe Ubuntu, Debian și RHEL.

Cum se instalează și se configurează Fail2Ban pe Linux

Fail2Ban monitorizează jurnalele serverului dvs. pentru a detecta activități suspecte și blochează automat adresele IP care încalcă regulile, actualizând regulile firewall-ului. Oprește atacurile de tip brute-force, reduce zgomotul din jurnale și rulează silențios în fundal odată configurat. Acest ghid acoperă instalarea pe Ubuntu/Debian, configurația de bază, configurarea jail-ului și câteva opțiuni avansate care merită cunoscute.

Cerințe preliminare

Fail2Ban rulează pe majoritatea distribuțiilor Linux: Ubuntu, Debian, AlmaLinux, CentOS, RHEL, Rocky Linux și Fedora. Veți avea nevoie de:

  • Python 3 instalat pe sistem
  • Acces root sau sudo pentru instalarea pachetelor și modificarea firewall-ului
  • Un firewall activ (iptables, nftables, ufw sau firewalld)
  • Fișiere jurnal care înregistrează încercările eșuate de autentificare (/var/log/auth.log pe sistemele bazate pe Debian, /var/log/secure pe sistemele bazate pe RHEL)

Pe sistemele bazate pe RHEL, activați mai întâi depozitul EPEL. Înainte de a instala Fail2Ban, asigurați-vă că firewall-ul funcționează cu ufw status sau systemctl status firewalld.

Instalarea Fail2Ban pe Ubuntu/Debian

Actualizați pachetele și instalați Fail2Ban:

sudo apt update && sudo apt upgrade -y
sudo apt install fail2ban

Activați serviciul astfel încât să pornească la pornire, apoi porniți-l:

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Copiați configurația implicită într-un fișier local de suprascriere. Editați întotdeauna jail.local, nu jail.conf, astfel încât actualizările pachetelor să nu vă suprascrie setările:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Verificați dacă totul funcționează:

sudo systemctl status fail2ban
sudo fail2ban-client status

Prima comandă ar trebui să afișeze „Active: active (running)”. A doua comandă listează jails-urile active. Confirmați că Fail2Ban este activat la pornire cu sudo systemctl is-enabled fail2ban.

Configurarea Jails

Setări implicite

Deschideți /etc/fail2ban/jail.local și ajustați [DEFAULT] . Aceste setări se aplică tuturor jails-urilor, cu excepția cazului în care sunt suprascrise:

ParametruValoare recomandatăCe face
bantime3600Blochează o adresă IP timp de 1 oră
findtime600Numără eșecurile într-un interval de 10 minute
maxretry3 până la 5Eșecuri înainte de declanșarea blocării
ignoreip127.0.0.1/8 ::1Adresele IP care nu sunt niciodată blocate

Adăugați-vă propriul IP de administrare la ignoreip pentru a nu vă bloca accesul. Exemplu: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.

Protecție SSH

Activați carceră SSH în jail.local:

[sshd]
enabled = true

Verificați dacă logpath indică fișierul de jurnal corect pentru distribuția dvs. Dacă ați mutat SSH pe un port non-standard (de ex., 2222), actualizați port parametrul corespunzător.

Protecția serverului web

Activați jail-ul care corespunde serverului dvs. web:

  • Nginx: [nginx-http-auth] pentru eșecuri de autentificare, [nginx-botsearch] pentru roboți rău intenționați
  • Apache: [apache-auth] pentru autentificare, [apache-badbots] pentru roboți

Recidive Jail

Recidive [recidive] jail-ul capturează IP-urile care continuă să fie blocate în alte jail-uri și aplică o penalizare mai lungă, de obicei o săptămână (604.800 de secunde). Este util pentru atacatorii persistenți care își schimbă abordarea.

După efectuarea modificărilor, reîncarcă:

sudo systemctl restart fail2ban
sudo fail2ban-client status

Testare și monitorizare

Testarea interdicțiilor

Înainte de a vă baza pe Fail2Ban în producție, testați-l. De pe o mașină la distanță (nu IP-ul dvs. de administrator), încercați să vă autentificați prin SSH până când depășiți maxretry. Ar trebui să fiți blocat. Confirmați cu:

sudo fail2ban-client status sshd

Urmăriți interdicțiile în timp real:

tail -f /var/log/fail2ban.log

Dacă blocați accidental o adresă IP legitimă, deblocați-o:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Monitorizarea zilnică

Revizuiți istoricul blocărilor căutând în jurnal:

grep "Ban\|Unban" /var/log/fail2ban.log

Comenzi utile de administrare:

ComandăScop
fail2ban-client statusAfișează toate blocările active
fail2ban-client bannedAfișează toate adresele IP interzise în prezent
fail2ban-client set <jail> unbanip <IP>Deblochează o anumită adresă IP
fail2ban-client unban --allȘterge toate interdicțiile
fail2ban-client set <jail> banip <IP>Blochează manual o adresă IP

Blocările persistă după reporniri. Fail2Ban le stochează într-o bază de date SQLite la /var/lib/fail2ban/fail2ban.sqlite3.

Configurare avansată

Trecerea la nftables

nftables este înlocuitorul modern al iptables. Acesta gestionează IPv4 și IPv6 într-un singur cadru, se scalează mai bine cu liste de interdicții mari și are limitarea ratei încorporată. Dacă utilizați Ubuntu 22.04+, Debian 11+ sau orice distribuție recentă, aceasta este cea mai bună alegere.

Configurați-l jail.local:

[DEFAULT]
banaction = nftables-multiport

Reporniți Fail2Ban, apoi verificați cu sudo nft list ruleset. Ar trebui să vedeți f2b-table și f2b-chain în rezultat. Rămâneți la iptables doar dacă utilizați un sistem mai vechi sau aveți cerințe de compatibilitate.

Notificări prin e-mail

În mod implicit, Fail2Ban blochează în mod silențios. Pentru a primi alerte prin e-mail, adăugați următoarele în [DEFAULT] secțiunea jail.local:

[DEFAULT]
destemail = [email protected]
sender = [email protected]
mta = sendmail
action = %(action_mwl)s

Acțiunea action_mwl acțiunea trimite un e-mail cu detalii despre blocare, date WHOIS și liniile de jurnal care au declanșat blocarea. Utilizați action_mw dacă doriți doar datele WHOIS. Veți avea nevoie de un agent de transfer de e-mail precum sendmail instalat sau de un relay SMTP configurat prin ceva de genul msmtp.

Pentru alerte Slack sau Discord, creați un script care trimite un webhook și conectați-l printr-un fișier de acțiune personalizat în /etc/fail2ban/action.d/.

Dacă sunteți în căutarea unui server cu acces root complet și lățime de bandă nelimitată pentru a rula Fail2Ban, consultați serverele dedicate ale FDC.

background image
Serverul dvs. vă frânează creșterea?

V-ați săturat de implementări lente sau limite de lățime de bandă? FDC Servers oferă putere dedicată instantanee, acoperire globală și planuri flexibile construite pentru orice scară. Sunteți gata să faceți upgrade?

Eliberați performanța acum

Blog

În prim plan săptămâna aceasta

Mai multe articole
De ce este important să aveți un VPS puternic și nemeditat

De ce este important să aveți un VPS puternic și nemeditat

Un VPS neevaluat oferă o lățime de bandă forfetară la o viteză fixă a portului. Cum diferă de planurile cu contorizare, când merită și ce trebuie să verificați înainte de cumpărare.

7 min citire - 9 mai 2025

Managementul memoriei în Linux: Swap, OOM Killer și Cgroups

12 min citire - 31 mai 2026

Mai multe articole
background image

Aveți întrebări sau aveți nevoie de o soluție personalizată?

icon

Opțiuni flexibile

icon

Acoperire globală

icon

Implementare instantanee

icon

Opțiuni flexibile

icon

Acoperire globală

icon

Implementare instantanee