BLACKBOXCentru de ajutor

Firewall: filtrarea din rețea și ufw/firewalld pe server

Cum funcționează cele două niveluri de filtrare și cum configurați ufw sau firewalld fără să vă blocați.

generalActualizat 2026-10-09~8 min de citit
Pe această pagină

Traficul care intră pe serverul dvs. BLACKBOX trece prin două niveluri de filtrare: filtrarea din rețea, administrată de BLACKBOX, și firewall-ul din sistemul de operare, pe care îl configurați dvs.: ufw pe Ubuntu și Debian, firewalld pe AlmaLinux și CentOS Stream. Panoul app.blackbox.md nu are setări de firewall, așa că toate comenzile de mai jos se rulează pe server, prin SSH, ca root.

Disponibil pentru: oricine are acces root prin SSH la un server BLACKBOX. Alte porturi în filtrarea din rețea: la cerere, prin suport.

Cele două niveluri de filtrare

Nivel Cine îl administrează Pe un server nou Cum îl modificați
Filtrarea din rețea BLACKBOX sunt permise SSH (22), HTTP (80), HTTPS (443) și ping scrieți suportului; panoul nu are setări de firewall
Firewall-ul din sistem (ufw sau firewalld) dvs. inactiv sau neinstalat: BLACKBOX nu îl configurează la crearea serverului cu comenzile din acest articol

Traficul ajunge la aplicația dvs. doar dacă portul este deschis în ambele niveluri. De exemplu:

  • Un site pe porturile 80 și 443: filtrarea din rețea le lasă deja să treacă. Dacă activați ufw sau firewalld, permiteți-le și acolo.
  • O aplicație pe portul 3000, 8000 sau 8080 nu este accesibilă din internet, chiar dacă o permiteți în ufw: filtrarea din rețea o oprește. Publicați-o prin nginx pe 80/443 (Aplicații Node.js, Python și alte servicii: nginx ca reverse proxy) sau cereți suportului să deschidă portul.

Ca să deschideți alt port în filtrarea din rețea, scrieți suportului adresa IP a serverului, numărul comenzii (BBX-…), portul, protocolul (TCP sau UDP) și pentru ce vă trebuie: Cum contactați suportul BLACKBOX.

Atenție Clienții nu au consolă web sau VNC: serverul se administrează doar prin SSH. Înainte să activați sau să modificați firewall-ul, deschideți o a doua sesiune SSH și păstrați-o deschisă până verificați că o conexiune nouă reușește. Dacă ați pierdut totuși accesul, scrieți suportului: Ați pierdut accesul la server (parolă sau cheie).

Lăsați portul 22 deschis pentru BLACKBOX

Butoanele panoului (de exemplu „Resetează parola”, „Adaugă cheie SSH”, „Dezactivează login cu parolă”) și asistentul AI se conectează la server prin SSH, pe portul 22, ca root, cu cheia de administrare. Dacă permiteți portul 22 doar de la adresa dvs. IP, aceste funcții nu mai funcționează.

Ubuntu și Debian: ufw

Pe Ubuntu, ufw este instalat, dar inactiv. Pe Debian poate lipsi; prima comandă de mai jos îl instalează.

  1. Actualizați lista de pachete, instalați ufw (pe Ubuntu, comanda de instalare doar confirmă că este deja instalat) și verificați starea. Rezultatul așteptat este Status: inactive.

    apt update
    apt install -y ufw
    ufw status
  2. Permiteți SSH înainte de a activa firewall-ul. ufw confirmă cu „Rules updated” (sau „Rule added”, dacă este deja activ). În loc de 22/tcp puteți folosi numele profilului OpenSSH; folosiți apoi aceeași formă și pentru limitarea de mai jos.

    ufw allow 22/tcp
  3. Dacă serverul găzduiește un site, permiteți HTTP și HTTPS:

    ufw allow 80,443/tcp
  4. Activați firewall-ul. La întrebarea „Command may disrupt existing ssh connections. Proceed with operation (y|n)?” răspundeți y. Confirmarea este „Firewall is active and enabled on system startup”.

    ufw enable
  5. Verificați regulile:

    ufw status verbose

    Rezultatul arată aproximativ așa:

    Status: active
    Logging: on (low)
    Default: deny (incoming), allow (outgoing), disabled (routed)
    New profiles: skip
    
    To                         Action      From
    --                         ------      ----
    22/tcp                     ALLOW IN    Anywhere
    80,443/tcp                 ALLOW IN    Anywhere
    22/tcp (v6)                ALLOW IN    Anywhere (v6)
    80,443/tcp (v6)            ALLOW IN    Anywhere (v6)
  6. Fără să închideți sesiunea curentă, conectați-vă dintr-un terminal nou:

    ssh root@IP_SERVER

Rândul Default arată regula implicită: tot ce intră și nu este permis explicit este blocat, iar traficul de ieșire trece.

Limitarea încercărilor pe SSH

ufw limit 22/tcp

Comanda înlocuiește regula allow pentru portul 22 (mesajul „Rule updated”). De acum, ufw respinge o adresă care deschide 6 sau mai multe conexiuni în 30 de secunde. Limita se aplică și panoului, și asistentului AI, care deschid o conexiune nouă la fiecare acțiune: dacă o acțiune eșuează după mai multe acțiuni făcute în grabă, așteptați 30 de secunde și reîncercați.

Ștergerea unei reguli

  1. Afișați regulile numerotate:

    ufw status numbered
  2. Ștergeți regula după numărul din prima coloană (puneți-l în locul lui NUMĂR). ufw afișează regula pe care urmează să o șteargă și întreabă „Proceed with operation (y|n)?”: verificați-o și răspundeți y. Confirmarea este „Rule deleted”.

    ufw delete NUMĂR

După fiecare ștergere numerele se schimbă, așa că afișați din nou lista înainte de următoarea. Regulile pentru IPv6 apar separat, marcate (v6), și se șterg tot separat. Nu ștergeți regulile pentru portul 22.

Dacă ați greșit o regulă și mai aveți o sesiune deschisă, puteți opri complet firewall-ul („Firewall stopped and disabled on system startup”), apoi îl configurați din nou:

ufw disable

AlmaLinux și CentOS Stream: firewalld

  1. Instalați și porniți firewalld, apoi verificați starea. Rezultatul așteptat este running. Zona implicită permite deja SSH, așa că pornirea nu vă deconectează.

    dnf install -y firewalld
    systemctl enable --now firewalld
    firewall-cmd --state
  2. Permiteți permanent SSH, HTTP și HTTPS, apoi reîncărcați regulile. Fiecare comandă răspunde success. Dacă un serviciu era deja permis (de obicei ssh), înainte apare avertismentul Warning: ALREADY_ENABLED: ssh; nu este o eroare.

    firewall-cmd --permanent --add-service=ssh --add-service=http --add-service=https
    firewall-cmd --reload
  3. Verificați: în rândul services: trebuie să apară ssh, http și https.

    firewall-cmd --list-all
  4. Fără să închideți sesiunea curentă, conectați-vă dintr-un terminal nou, ca la ufw.

O regulă adăugată cu --permanent intră în vigoare după firewall-cmd --reload. Fără --permanent, regula se aplică imediat, dar se pierde la reîncărcare sau la repornire.

Alte operații uzuale (rulați doar linia de care aveți nevoie, apoi reîncărcați):

# deschide un port
firewall-cmd --permanent --add-port=8080/tcp
# închide un port deschis anterior
firewall-cmd --permanent --remove-port=8080/tcp
# scoate un serviciu din listă
firewall-cmd --permanent --remove-service=http
# aplică modificările
firewall-cmd --reload

firewalld nu are un echivalent simplu al ufw limit. Împotriva încercărilor repetate de autentificare pe SSH folosiți fail2ban.

Porturile sensibile: doar de la adresa dvs.

Bazele de date (3306 pentru MariaDB/MySQL, 5432 pentru PostgreSQL) și panourile de administrare care ascultă pe porturi proprii nu trebuie deschise pentru tot internetul.

  1. Cel mai sigur este să nu le deschideți deloc: lăsați serviciul să asculte pe 127.0.0.1 și conectați-vă printr-un tunel SSH (Baze de date: MariaDB/MySQL și PostgreSQL).
  2. Dacă portul trebuie să fie accesibil din exterior, cereți suportului să-l deschidă în filtrarea din rețea: implicit, aceste porturi sunt închise acolo.
  3. Aflați-vă adresa IP cu Instrumentul „Adresa ta IP” și permiteți portul în firewall-ul din sistem doar de la această adresă.

Ubuntu și Debian:

ufw allow from IP_DVS to any port 3306 proto tcp

AlmaLinux și CentOS Stream:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="IP_DVS" port port="3306" protocol="tcp" accept'
firewall-cmd --reload

Dacă adresa dvs. de internet este dinamică, actualizați regula când se schimbă. O pagină de administrare servită pe 80/443 (de exemplu /phpmyadmin) se restricționează în serverul web, nu în firewall.

Docker ocolește ufw

Când publicați portul unui container (-p 8080:80 sau ports: în Docker Compose), Docker scrie propriile reguli iptables, care se aplică înaintea regulilor ufw: ufw status nu le arată, iar o regulă deny din ufw nu le închide. Filtrarea din rețea oprește în continuare porturile în afară de 22, 80 și 443, dar un container publicat pe 80/443 sau pe un port deschis la cererea dvs. este accesibil din internet indiferent de ufw.

  • Publicați containerul doar pe 127.0.0.1 și expuneți-l prin nginx pe 80/443:

    docker run -d -p 127.0.0.1:8080:80 nginx

    Același lucru în Docker Compose:

    services:
      app:
        ports:
          - "127.0.0.1:8080:80"
  • Pentru filtrare avansată, adăugați reguli în lanțul DOCKER-USER, după documentația Docker despre iptables.

Instalarea și celelalte setări: Instalarea Docker și Docker Compose.

Probleme frecvente

Ce observați Cauza probabilă Ce faceți
După activarea ufw, conexiunile SSH noi dau Connection timed out portul 22 nu a fost permis din sesiunea rămasă deschisă permiteți portul 22 (pasul 2 de la ufw). Fără sesiune deschisă, scrieți suportului: „Repornește” nu ajută, ufw rămâne activ după repornire
Site-ul nu se mai deschide după activarea firewall-ului 80 și 443 nu sunt permise în firewall-ul din sistem permiteți HTTP și HTTPS (pasul 3 de la ufw sau pasul 2 de la firewalld). Alte cauze: Site-ul nu se deschide
Aplicația pe 3000 sau 8080 nu răspunde din exterior, deși ufw o permite filtrarea din rețea oprește portul publicați aplicația prin nginx pe 80/443 sau cereți suportului deschiderea portului
Butoanele panoului dau reset_failed, ssh_key_push_failed sau „Nu s-a putut schimba autentificarea prin parolă.” după o schimbare de firewall portul 22 este permis doar de la anumite adrese sau limita ufw limit a fost atinsă permiteți portul 22 de la orice adresă; după limitare, așteptați 30 de secunde și reîncercați
Certificatul Let's Encrypt nu se emite sau nu se reînnoiește portul 80 este închis în firewall-ul din sistem permiteți portul 80: validarea Let's Encrypt trece prin el (Server web cu HTTPS: nginx sau Apache și Let's Encrypt)

Întrebări frecvente

Pot deschide singur un port în filtrarea din rețea? Nu. Panoul nu are setări de firewall, iar filtrarea din rețea o modifică echipa BLACKBOX. Scrieți suportului portul, protocolul și adresa IP a serverului.

Panoul îmi arată dacă firewall-ul este activ? Nu. Pagina „Monitorizare” arată încărcarea serverelor care au serviciul Monitoring (CPU, RAM, disc, încărcare, procese), nu starea firewall-ului: Pagina „Monitorizare”. Starea o verificați pe server, cu comenzile de verificare de mai sus.

Serverul mai răspunde la ping după ce activez firewall-ul? Da. ufw și firewalld permit implicit ping, iar filtrarea din rețea îl lasă să treacă.

Trebuie să permit traficul de ieșire? Nu, ufw și firewalld lasă implicit să iasă tot traficul. Dacă îl restricționați, păstrați cel puțin HTTP (80), HTTPS (443), DNS (53) și NTP (123/UDP): de ele depind actualizările de sistem, ora exactă a serverului, Let's Encrypt și agentul serviciului Monitoring (Serviciul Monitoring: agentul instalat pe server).

Am un plan „VPS hosting” cu panou de control. Activez ufw? Un panou de control pentru găzduire poate avea propriul firewall. Înainte să activați ufw sau firewalld, verificați documentația panoului instalat sau întrebați suportul.

Am un server dedicat. Se aplică la fel? Comenzile pentru ufw și firewalld sunt aceleași. Ce porturi sunt deschise în rețea pentru serverul dedicat aflați de la suport.

N-ați găsit răspunsul?Scrieți-ne și echipa de suport vă răspunde. support@blackbox.md
Deschideți un tichet