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

9 min citire - 14 mai 2026

hero section cover
Cuprins
  • Cum să instalați și să configurați Fail2Ban pe Linux
  • Condiții prealabile
  • Instalarea Fail2Ban pe Ubuntu/Debian
  • Configurarea închisorilor
  • 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 să instalați și să configurați Fail2Ban pe Linux

Fail2Ban monitorizează jurnalele serverului pentru activități suspecte și interzice automat IP-urile ofensatoare prin actualizarea regulilor firewall-ului. Acesta oprește atacurile brute-force, reduce zgomotul din jurnale și rulează liniștit în fundal după ce este configurat. Acest ghid acoperă instalarea pe Ubuntu/Debian, configurarea de bază, configurarea închisorii și câteva opțiuni avansate despre care merită să știți.

Condiții prealabile

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 de jurnal care înregistrează încercările de autentificare eșuate(/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, confirmați că firewall-ul dvs. funcționează cu ufw status sau systemctl status firewalld.

Instalarea Fail2Ban pe Ubuntu/Debian

Actualizați-vă 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 înlocuire. 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ă enumeră închisorile active. Confirmați că Fail2Ban este activat la pornire cu sudo systemctl is-enabled fail2ban.

Configurarea închisorilor

Setări implicite

Deschideți /etc/fail2ban/jail.local și ajustați secțiunea [DEFAULT]. Aceste setări se aplică tuturor închisorilor, cu excepția cazului în care sunt suprapuse:

ParametruValoare recomandatăCe face
bantime3600Blochează un IP timp de 1 oră
findtime600Numără eșecurile într-o fereastră de 10 minute
maxretry3 până la 5Eșecuri înainte de declanșarea unei interdicții
ignoreip127.0.0.1/8 ::1IP-uri care nu sunt niciodată interzise

Adăugați propriul IP de administrare la ignoreip, astfel încât să nu vă blocați. Exemplu: ignoreip = 127.0.0.1/8 ::1 203.0.113.50.

Protecție SSH

Activați SSH jail în jail.local:

[sshd]
enabled = true

Verificați dacă logpath indică fișierul de log corect pentru distribuția dvs. Dacă ați mutat SSH la un port non-standard (de exemplu, 2222), actualizați parametrul port pentru a se potrivi.

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 bots

Închisoarea Recidive

Închisoarea [recidive] prinde IP-urile care continuă să fie interzise prin alte închisori și aplică o sancțiune mai lungă, de obicei o săptămână (604 800 secunde). Este utilă pentru atacatorii persistenți care își rotesc abordarea.

După efectuarea modificărilor, reîncărcați:

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 la o mașină de la distanță (nu IP-ul dvs. de administrare), încercați să vă conectaț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 cum se produc interdicțiile în timp real:

tail -f /var/log/fail2ban.log

Dacă blocați accidental un IP legitim, deblocați-l:

sudo fail2ban-client set sshd unbanip 203.0.113.50

Monitorizare zilnică

Analizați istoricul interdicțiilor prin căutarea în jurnal:

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

Comenzi de gestionare utile:

ComandăScop
fail2ban-client statusListează toate închisorile active
fail2ban-client interzisAfișează toate IP-urile banate în prezent
fail2ban-client set <jail> unbanip <IP>Deblochează un IP specific
fail2ban-client unban --allȘterge toate interdicțiile
fail2ban-client set <jail> banip <IP>Interzice manual un IP

Interdicțiile persistă în timpul repornirii. Fail2Ban le stochează într-o bază de date SQLite la adresa /var/lib/fail2ban/fail2ban.sqlite3.

Configurare avansată

Trecerea la nftables

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

Setați-l în 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 ieșire. Rămâneți la iptables doar dacă sunteți pe un sistem mai vechi sau aveți cerințe de compatibilitate.

Notificări prin e-mail

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

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

Acțiunea action_mwl trimite un e-mail cu detaliile interdicției, datele WHOIS și liniile de jurnal care au declanșat interdicția. 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 releu SMTP configurat prin ceva precum msmtp.

Pentru alertele 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 complet la rădăcină și lățime de bandă nemăsurată pentru a rula Fail2Ban, consultați serverele dedicate 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
Lista de verificare pentru întărirea serverului Linux

Lista de verificare pentru întărirea serverului Linux

Lista de verificare pas cu pas pentru întărirea unui server Linux. Acoperă SSH, firewall-uri, patch-uri, permisiuni pentru fișiere, SELinux/AppArmor și logare de audit

15 min citire - 8 mai 2026

tutorial iperf3: Testarea vitezei rețelei pe Linux și Windows

10 min citire - 7 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