Cum să îți protejezi serverul cu UFW și iptables: Ghid de firewall pentru Linux
Salutare, prieteni!
Configurarea unui firewall este primul și cel mai important pas în asigurarea securității oricărui server virtual. Porturile de rețea deschise și neprotejate devin rapid ținte pentru scannere automate, atacuri de tip brute-force și tentative de exploatare a serviciilor de sistem.
În sistemele de operare Linux, filtrarea pachetelor de rețea se realizează la nivel de nucleu (kernel) prin subsistemul netfilter. Pentru a interacționa cu acesta, administratorii folosesc două instrumente principale: suita flexibilă de nivel scăzut iptables și interfața UFW (Uncomplicated Firewall), creată pentru a simplifica administrarea zilnică. În acest articol, vom analiza principiile fundamentale de funcționare ale ambelor soluții.
Key Takeaways: Concluzii cheie
UFW este standardul pentru sarcini uzuale: UFW oferă o sintaxă simplă și ușor de citit, prevenind erorile fatale la configurarea porturilor pentru SSH, servere web sau baze de date pe Ubuntu și Debian.
iptables oferă control de nivel scăzut:
iptablesoferă control complet asupra lanțurilor de pachete, translației adreselor (NAT), redirecționării porturilor și regulilor personalizate de filtrare la nivel de kernel.Regula de aur a unui firewall este Default Deny: Un firewall de încredere aplică principiul „tot ce nu este permis în mod explicit este interzis”. Toate conexiunile de intrare sunt blocate în mod implicit, cu excepția serviciilor esențiale (SSH, HTTP/HTTPS).
Partea 1. Configurarea UFW (Uncomplicated Firewall)
UFW este preinstalat pe Ubuntu și este disponibil în depozitele oficiale ale celor mai populare distribuții Linux.
Pasul 1: Verificarea statusului și politica de bază
Înainte de a activa firewall-ul, setați regulile implicite pentru a bloca traficul de intrare și a permite traficul de ieșire:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Pasul 2: Permiterea porturilor critice
IMPORTANT: Permiteți întotdeauna portul SSH înainte de activarea UFW; altfel, veți pierde accesul la server!
# Permitere SSH pe portul standard 22
sudo ufw allow 22/tcp
# Sau permitere după numele serviciului
sudo ufw allow ssh
# Permitere trafic web (HTTP și HTTPS)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Pasul 3: Activarea UFW și gestionarea regulilor
# Activare firewall
sudo ufw enable
# Verificare status și lista regulilor active numerotate
sudo ufw status numbered
# Ștergerea unei reguli după număr (de exemplu, regula nr. 3)
sudo ufw delete 3
# Limitare brute-force pe SSH (limitează frecvența conexiunilor de la un singur IP)
sudo ufw limit ssh
Partea 2. Bazele lucrului cu iptables
iptables utilizează conceptele de Tabele (Tables) și Lanțuri (Chains). Pentru filtrarea standard a traficului se folosește tabela filter, care conține trei lanțuri principale:
INPUT: Traficul destinat direct serverului.
OUTPUT: Traficul generat de server care pleacă în exterior.
FORWARD: Traficul care tranzitează serverul (de exemplu, la configurarea unui router sau VPN).
[ Pachet Rețea ] ---> INPUT (Server) ---> FORWARD (Tranzit) ---> OUTPUT (Ieșire)
Comenzi de bază iptables
1. Vizualizarea regulilor curente
sudo iptables -L -v -n
Tag-ul
-vafișează detalii extinse (număr de octeți și pachete).Tag-ul
-nafișează adresele IP și porturile în format numeric, fără întârzieri cauzate de rezoluția DNS.
2. Permiterea traficului local (Loopback) și a conexiunilor stabilite
Serverul trebuie să poată comunica cu el însuși prin interfața loopback (lo) și să mențină conexiunile deja stabilite:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
3. Deschiderea porturilor specifice
# Permitere conexiuni de intrare SSH (Port 22)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Permitere HTTP (80) și HTTPS (443)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
4. Setarea politicii „Blochează tot restul”
După ce toate porturile necesare au fost permise în mod explicit, se schimbă politica implicită pentru traficul de intrare:
sudo iptables -P INPUT DROP
5. Resetarea tuturor regulilor (Flush)
Dacă ați blocat din greșeală un port necesar și doriți să resetați regulile la valorile implicite:
sudo iptables -F
sudo iptables -P INPUT ACCEPT
Matrice comparativă: UFW vs iptables
| Criteriu de evaluare | UFW | iptables |
| Nivel de complexitate | Redus (sintaxă intuitivă) | Mediu / Ridicat |
| Public țintă | Începători și administratori de sistem | Ingineri experimentați, DevOps, arhitecți de rețea |
| Flexibilitate | Limitată la scenarii uzuale | Absolută (lanțuri personalizate, marcarea pachetelor, NAT) |
| Suport NAT / Port Forwarding | Necesită editarea manuală a fișierelor de configurație | Suport nativ prin tabela nat |
| Persistența regulilor | Da (salvează starea automat) | Nu (necesită pachetul iptables-persistent) |
FAQ: Pe scurt despre ce este mai important
Pot folosi UFW și iptables în același timp?
UFW funcționează ca un interfață peste
iptables(saunftablesîn nucleele moderne). Nu se recomandă modificarea manuală a regulilor priniptablesatunci când UFW este activ, deoarece repornirea UFW poate suprascrie lanțurile create manual.Ce să fac dacă m-am blocat din greșeală pe SSH prin iptables sau UFW?
Dacă ați pierdut accesul SSH, conectați-vă folosind Consola de Urgență (VNC sau Out-of-Band IPMI) din panoul de control al furnizorului de hosting. Odată conectat, dezactivați firewall-ul cu comanda
sudo ufw disablesau resetați regulile cusudo iptables -F.Cum fac ca regulile iptables să persiste după repornirea serverului?
În mod implicit, regulile
iptablescreate prin linia de comandă se șterg la repornirea sistemului. Pentru a le salva permanent pe Ubuntu sau Debian, instalați pachetuliptables-persistent:Bashsudo apt install iptables-persistent -y sudo netfilter-persistent save
Concluzie
Un firewall configurat corect reprezintă nivelul de bază pentru securitatea oricărui server conectat la internet. Pentru 95% din sarcinile zilnice de dezvoltare web și administrare, funcționalitățile UFW sunt mai mult decât suficiente. În același timp, iptables rămâne un instrument indispensabil pentru arhitecturi complexe de rețea și filtrare avansată.
Totuși, chiar și cele mai stricte reguli de firewall nu pot proteja serverul dacă acesta este supus unor atacuri masive de rețea (DDoS) la nivel de furnizor, care satură porturile fizice de rețea.
Dacă sunteți în căutarea unei infrastructuri sigure și de încredere pentru proiectele dvs., descoperiți serviciile NVMe VPS și Hourly Cloud Server de la MivoCloud. Oferim virtualizare KVM pură, resurse garantate, infrastructură de rețea protejată și stocare Enterprise NVMe ultra-rapidă pentru o funcționare impecabilă a serviciilor dvs.
Autorul articolului: Anatolie Cohaniuc

