Cum configurați un firewall cu UFW pe Ubuntu și AlmaLinux. Securitatea unui server Linux începe cu controlul accesului la rețea, iar un firewall configurat corect este prima linie de apărare împotriva atacurilor externe.
UFW (Uncomplicated Firewall) este instrumentul care simplifică gestionarea regulilor de firewall pe distribuțiile bazate pe Ubuntu și poate fi utilizat și pe AlmaLinux prin instalare manuală.
Interfața sa intuitivă permite chiar și administratorilor cu experiență limitată să configureze reguli de filtrare eficiente, fără a fi nevoie să cunoască sintaxa iptables în detaliu.
Cum configurați un firewall cu UFW pe Ubuntu și AlmaLinux
Multe servere web funcționează luni de zile fără un firewall configurat corespunzător, expunând servicii și porturi care nu ar trebui să fie accesibile din internet. Un port deschis inutil este o invitație pentru scanerele automate și pentru atacatorii care caută vulnerabilități.
Configurarea unui firewall nu doar că blochează accesul neautorizat, ci reduce și suprafața de atac a serverului la minimul necesar. Statisticile de securitate arată că serverele fără firewall sunt scanate și atacate în primele minute de la conectarea la internet.
În acest ghid veți învăța cum să instalați și să configurați UFW pe Ubuntu și AlmaLinux, cum să creați reguli pentru serviciile web esențiale și cum să gestionați accesul la SSH, HTTP, HTTPS și alte servicii critice ale serverului.
Veți găsi și secțiuni dedicate regulilor avansate, troubleshooting-ului și bunelor practici de întreținere a firewall-ului.
Configurarea UFW urmează un principiu simplu: blocați tot traficul de intrare în mod implicit și permiteți doar serviciile de care aveți nevoie. Această abordare, numită „default deny”, este cea mai sigură metodă de configurare a unui firewall pe un server care găzduiește website-uri.
Înainte de a porni, asigurați-vă că aveți acces la consolă sau că sesiunea SSH este stabilă, deoarece o configurare greșită poate bloca accesul de la distanță.
Instalarea UFW pe Ubuntu și AlmaLinux
Instalare pe Ubuntu
Pe Ubuntu, UFW este de obicei preinstalat dar dezactivat. Verificați starea și instalați dacă lipsește:
sudo apt update && sudo apt install ufw -y
sudo ufw statusDacă răspunsul este „Status: inactive”, UFW este instalat dar nu este activ. Înainte de activare, configurați regulile necesare pentru a nu vă bloca accesul. Verificați și versiunea instalată:
ufw --versionInstalare pe AlmaLinux
AlmaLinux folosește implicit firewalld, dar puteți instala UFW dacă preferați interfața sa mai simplă. Pe un server cu AlmaLinux 9, procesul este:
sudo dnf install epel-release -y sudo dnf install ufw -y sudo systemctl stop firewalld sudo systemctl disable firewalld sudo systemctl enable ufw
Dezactivați firewalld înainte de a activa UFW pentru a evita conflictele între cele două servicii de firewall. Nu rulați niciodată două firewall-uri simultan pe același server, deoarece regulile se pot suprapune și pot produce comportamente imprevizibile. Verificați că firewalld este complet oprit:
sudo systemctl status firewalld sudo systemctl status ufw
Configurarea regulilor de bază
Setarea politicilor implicite
Primul pas este să configurați politicile implicite – aceste reguli se aplică pentru tot traficul care nu corespunde unei reguli specifice:
sudo ufw default deny incoming sudo ufw default allow outgoing
Aceste comenzi blochează tot traficul de intrare și permit tot traficul de ieșire. Serverul va putea accesa internetul (pentru actualizări, descărcări), dar nicio conexiune externă nu va fi acceptată până nu adăugați reguli specifice. Verificați că politicile au fost setate corect:
sudo ufw show raw | head -20Permiterea accesului SSH
Regula cea mai importantă – permiteți accesul SSH înainte de a activa firewall-ul. Dacă omiteți acest pas și activați UFW, vă veți bloca propriul acces la server:
sudo ufw allow 22/tcpSau folosind numele serviciului:
sudo ufw allow sshDacă ați modificat portul SSH implicit (recomandare de securitate împotriva atacurilor brute force), specificați portul corect:
sudo ufw allow 2222/tcpPentru a permite SSH doar de la o rețea specifică (de exemplu, rețeaua dvs. de birou):
sudo ufw allow from 192.168.1.0/24 to any port 22Permiterea serviciilor web
Pentru un server web care găzduiește website-uri, permiteți traficul HTTP și HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpSau folosind profilul de aplicație (disponibil pentru Apache și Nginx):
sudo ufw allow "Apache Full"
# sau pentru Nginx:
sudo ufw allow "Nginx Full"Listați profilurile de aplicație disponibile pe sistemul dvs.:
sudo ufw app listPermiterea accesului la cPanel și servicii de email
Dacă serverul folosește cPanel/WHM, trebuie să permiteți porturile specifice pentru funcționarea corectă a panoului de control și a serviciilor de email:
- Port 2082/2083 – cPanel (HTTP/HTTPS)
- Port 2086/2087 – WHM (HTTP/HTTPS)
- Port 25, 465, 587 – servicii de email (SMTP)
- Port 110, 995 – POP3 și POP3S
- Port 143, 993 – IMAP și IMAPS
- Port 21 – FTP (dacă este necesar)
- Port 3306 – MySQL (doar dacă aveți acces extern la baza de date)
sudo ufw allow 2083/tcp sudo ufw allow 2087/tcp sudo ufw allow 25/tcp sudo ufw allow 465/tcp sudo ufw allow 587/tcp sudo ufw allow 110/tcp sudo ufw allow 995/tcp sudo ufw allow 143/tcp sudo ufw allow 993/tcp
Activarea firewall-ului
După configurarea tuturor regulilor necesare, activați UFW:
sudo ufw enableUFW va afișa un avertisment că activarea poate întrerupe conexiunile SSH existente. Dacă ați adăugat regula SSH, confirmați cu „y”. Verificați că firewall-ul este activ și regulile sunt aplicate:
sudo ufw status verboseAceastă comandă afișează toate regulile configurate, politicile implicite și starea firewall-ului. Verificați că toate serviciile necesare sunt permise înainte de a închide sesiunea SSH curentă. Un exemplu de output așteptat:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN AnywhereReguli avansate de filtrare
Limitarea accesului pe IP
Pentru servicii sensibile, restricționați accesul doar la adresele IP de încredere. Această abordare este esențială pentru porturile de administrare:
sudo ufw allow from 192.168.1.100 to any port 22
sudo ufw allow from 203.0.113.10 to any port 2087Puteți permite accesul de la un întreg bloc de adrese IP (subnet):
sudo ufw allow from 192.168.1.0/24 to any port 3306Această regulă permite accesul MySQL doar de la rețeaua locală. Aplicați aceeași logică pentru accesul la WHM sau alte servicii de administrare.
Limitarea ratei conexiunilor
UFW poate limita automat numărul de conexiuni de la o singură adresă IP, prevenind atacurile brute force. Această funcție este implementată prin iptables hashlimit:
sudo ufw limit sshAceastă regulă permite maximum 6 conexiuni în 30 de secunde de la aceeași adresă IP. Depășirea limitei blochează temporar adresa respectivă. Puteți aplica limitarea și pentru alte porturi sensibile:
sudo ufw limit 2087/tcpFuncționează complementar cu fail2ban pentru o protecție stratificată. UFW limitează rata la nivel de firewall, în timp ce fail2ban analizează log-urile și aplică blocări mai lungi.
Blocarea adreselor IP specifice
Când identificați surse de atacuri în log-uri, blocați adresele IP respectiv:
sudo ufw deny from 203.0.113.50
sudo ufw deny from 198.51.100.0/24Regulile de blocare sunt procesate înaintea celor de permitere dacă sunt adăugate primele. Pentru a insera o regulă de blocare la o poziție specifică:
sudo ufw insert 1 deny from 203.0.113.50Gestionarea și întreținerea firewall-ului
Vizualizarea și ștergerea regulilor
Gestionarea regulilor existente se face prin comenzile de mai jos:
- Vizualizare reguli numerotate – afișează regulile cu numere de ordine pentru gestionare ușoară
- Ștergerea unei reguli – șterge regula cu numărul specificat
- Resetarea completă – elimină toate regulile și dezactivează firewall-ul
- Activarea logurilor – înregistrează traficul blocat în /var/log/ufw.log
sudo ufw status numbered
sudo ufw delete 5
sudo ufw reset
sudo ufw logging onPentru a șterge o regulă după specificația sa (fără a cunoaște numărul):
sudo ufw delete allow 80/tcpVerificarea log-urilor UFW
Log-urile UFW sunt esențiale pentru identificarea tentativelor de acces neautorizat și pentru depanarea problemelor de conectivitate:
sudo tail -f /var/log/ufw.log
sudo grep "BLOCK" /var/log/ufw.log | tail -50Activați niveluri diferite de logging în funcție de necesități:
sudo ufw logging low # doar conexiunile blocate
sudo ufw logging medium # conexiunile blocate și permise
sudo ufw logging high # toate conexiunileTroubleshooting probleme comune
Verificarea regulilor iptables subiacente
UFW este o interfață pentru iptables. Dacă întâmpinați probleme, inspectați regulile iptables direct:
sudo iptables -L -n -v --line-numbers
sudo ip6tables -L -n -v --line-numbersTestarea conectivității după activare
După activarea UFW, testați conectivitatea pentru fiecare serviciu critic înainte de a închide sesiunea curentă:
# Testați portul SSH din altă sesiune
nc -zv IP_SERVER 22
# Verificați porturile deschise pe server
sudo ss -tulpn | grep LISTEN
# Simulați o conexiune pentru verificare
sudo ufw status verboseRestaurarea accesului în caz de blocare
Dacă v-ați blocat accesul SSH, accesați serverul prin consola de urgență oferită de furnizorul de hosting și dezactivați temporar UFW:
sudo ufw disable
# sau resetați complet
sudo ufw resetUlterior, reconfigurati regulile corect înainte de reactivare. Mențineți întotdeauna acces la consola de urgență pentru situații de acest tip.
Bune practici de întreținere
Verificați periodic regulile active și eliminați-le pe cele care nu mai sunt necesare. Câteva recomandări esențiale pentru menținerea unui firewall eficient:
- Auditați regulile lunar și eliminați porturile serviciilor dezinstalate
- Documentați fiecare regulă adăugată cu scopul și data configurării
- Testați regulile noi în mediu de test înainte de aplicarea pe producție
- Combinați UFW cu fail2ban și SELinux/AppArmor pentru protecție stratificată
- Monitorizați log-urile săptămânal pentru identificarea pattern-urilor de atac
- Actualizați periodic lista de IP-uri blocate pe baza informațiilor din log-uri
# Script rapid de audit al regulilor
sudo ufw status numbered | grep -v "^Status"
# Verificare automată că UFW pornește la boot
sudo systemctl is-enabled ufwConfigurarea unui firewall UFW este o măsură de securitate fundamentală care protejează serverul de accesul neautorizat și reduce semnificativ suprafața de atac. Combinat cu alte practici de securitate precum SELinux, fail2ban și permisiuni corecte ale fișierelor, un firewall configurat corespunzător formează baza unui server Linux securizat și fiabil. Investiți timp în configurarea inițială corectă și în auditarea periodică a regulilor – această abordare proactivă previne incidentele de securitate înainte ca acestea să se producă.


Comments (0)