Zonele firewalld descriu nivelul de încredere al conexiunilor. Verifică zona efectivă și regulile existente înainte să restrângi accesul.
firewalld permite administrarea filtrării prin zone, servicii și reguli mai detaliate. Este întâlnit pe sisteme din ecosistemul Enterprise Linux, inclusiv AlmaLinux. O configurație bună începe cu interfața și zona folosite efectiv, nu cu adăugarea regulilor într-o zonă aleasă arbitrar.
1. Confirmă administratorul firewall-ului
Verifică dacă serverul folosește deja firewalld sau altă soluție. Nu instala și activa un al doilea administrator al politicii doar pentru a urma exemplul. Pregătește consola și păstrează sesiunea SSH actuală deschisă.
sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=public --list-all
În comenzile următoare, public este o zonă demonstrativă. Înlocuiește-o dacă interfața ori sursa ta este asociată altei zone. Verifică și asocierile după sursă, politicile și regulile existente.
2. Adaugă serviciile web în configurația activă
sudo firewall-cmd --zone=public --add-service=http
sudo firewall-cmd --zone=public --add-service=https
Aceste modificări sunt runtime. Testează site-ul din exterior și pe familiile de adrese publicate. Nu deschide suplimentar porturile bazei de date dacă aceasta este folosită numai local.
3. Pregătește accesul SSH restrâns
Exemplul următor adaugă temporar o regulă pentru o adresă IPv4 administrativă. Înlocuiește IP-ul înainte de execuție:
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="203.0.113.10/32" service name="ssh" accept' --timeout=600
Serviciul ssh trebuie să corespundă portului folosit. Dacă SSH ascultă pe alt port, adaptează regula. Pentru administrare prin IPv6, configurează separat sursa IPv6 corespunzătoare. Adresa de management trebuie să fie stabilă sau înlocuită cu o rețea administrativă controlată.
Adăugarea unei reguli înguste nu restrânge o permisiune generală deja existentă. Inspectează serviciile, porturile și regulile care permit încă accesul din orice sursă. O conexiune nouă reușită în această etapă nu dovedește singură că regula îngustă este cea care o permite.
4. Elimină accesul general numai după pregătirea revenirii
În exemplul simplificat, dacă public permite ssh ca serviciu general, îl poți elimina din runtime în fereastra de test:
sudo firewall-cmd --zone=public --remove-service=ssh
Nu executa pasul înainte să confirmi regula specifică, sursa și consola de recuperare. Testează imediat o conexiune administrativă nouă. Regula temporară expiră după 600 de secunde: înainte de expirare finalizează politica verificată sau revino la permisiunea anterioară.
5. Salvează explicit configurația validată
După un test reușit, creează aceeași regulă fără timeout în configurația permanentă și salvează serviciile necesare:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="203.0.113.10/32" service name="ssh" accept'
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --remove-service=ssh
sudo firewall-cmd --reload
Reverifică zona și conexiunea nouă după reload. Exemplul nu acoperă toate regulile posibile de pe un sistem existent și nu trebuie aplicat mecanic pe un nod de virtualizare.
Filtrarea locală și DDoS
firewalld reduce expunerea serviciilor, dar nu oprește saturarea legăturii din amonte și nu înțelege singur operațiunile HTTP. Pentru un VPS pe XSERVERE, corelează politica locală cu protecția rețelei și cu limitarea cererilor la nivel de aplicație.
Surse
- firewalld — firewall-cmd — https://firewalld.org/documentation/man-pages/firewall-cmd.html
- firewalld — rich language — https://firewalld.org/documentation/man-pages/firewalld.richlanguage.html
- firewalld — runtime și permanent — https://firewalld.org/documentation/configuration/runtime-versus-permanent.html
Ți-a fost util acest articol?


