Ghid de securitate · Moldova

Cum configurez firewall-ul pe un VPS și ce porturi las deschise?

Un VPS nou vine cu toate porturile deschise către internet. În primele minute după pornire, scanerele automate deja îl au în listă. Firewall-ul este primul lucru pe care îl configurezi, înainte de aplicație și înainte de a pune orice date pe el.

Actualizat la

Răspuns scurt

  1. Configurezi firewall-ul pe un VPS setând politica implicită pe respingere pentru traficul de intrare și deschizând explicit doar porturile serviciilor publice: 22 pentru SSH, 80 și 443 pentru web.
  2. Baza de date, Redis și panourile de administrare ascultă doar pe localhost sau pe rețeaua privată, niciodată pe adresa publică.
  3. Folosește ufw limit pe portul SSH pentru a limita încercările repetate de conectare.
  4. Restrânge porturile de administrare la adresele biroului sau la un VPN, nu la tot internetul.
  5. Verifică din exterior, cu un scan de porturi de pe altă mașină, că regulile fac ce crezi că fac.
Politica de pornire
deny incoming, allow outgoing
Porturi publice pe un server web
80 și 443; 22 restricționat pe sursă
Baza de date
3306 sau 5432 doar pe 127.0.0.1 sau rețea privată
Limitare integrată în ufw
ufw limit: 6 conexiuni în 30 de secunde

Totul închis, apoi deschizi cu un motiv scris

Regula de bază este simplă: firewall-ul respinge tot ce vine din exterior, iar tu adaugi excepții pentru fiecare serviciu pe care vrei să îl ofere serverul. Fiecare excepție răspunde la trei întrebări: ce serviciu, pentru cine și până când. Portul 443 este pentru toată lumea. Portul 22 este pentru echipa ta, deci limitezi sursa. Un port de monitorizare este pentru serverul de metrici, deci îl deschizi doar către adresa lui. Ce nu ai notat nu are ce căuta deschis.

Baza de date nu se expune pe internet

Cea mai frecventă greșeală pe VPS-urile firmelor mici este MariaDB sau PostgreSQL care ascultă pe 0.0.0.0 fiindcă un dezvoltator voia să se conecteze de acasă. Scanerele găsesc portul în ore, apoi urmează încercări de autentificare sau exploatarea unei versiuni vechi. Lasă baza de date pe 127.0.0.1 și conectează-te prin tunel SSH sau VPN. Dacă aplicația și baza rulează pe servere diferite, folosește rețeaua privată a furnizorului și permite doar adresa serverului de aplicație.

Ce cer clienții din UE: dovada perimetrului

Când o firmă din Moldova găzduiește date pentru un client din UE, anexa de securitate a contractului și acordul de prelucrare conform articolului 28 GDPR cer de obicei o descriere a măsurilor de rețea. Un export al regulilor de firewall, cu data ultimei revizuiri, și un scan extern care arată doar porturile 80 și 443 sunt exact dovezile așteptate. La nivel local, Legea nr. 48/2023 cere furnizorilor din sectoarele acoperite o gestionare documentată a riscurilor, iar perimetrul de rețea este primul capitol al unei astfel de documentații.

Porturi uzuale pe un VPS de producție și cui le deschizi
PortServiciuDeschis cătreObservație
22/tcpSSHadresele echipei sau VPNufw limit, fără parole
80/tcpHTTPtoată lumeadoar redirect către 443
443/tcpHTTPStoată lumeasingurul serviciu real public
3306 / 5432MariaDB / PostgreSQL127.0.0.1 sau rețea privatăniciodată public
6379Redis127.0.0.1fără parolă implicit, deci obligatoriu local

Comenzi și configurări

Configurare ufw de la zero pe un server web
ufw default deny incoming
ufw default allow outgoing
ufw limit 22/tcp comment 'SSH echipa'
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose
Acces la baza de date doar dintr-o rețea privată
ufw allow from 10.20.0.0/24 to any port 5432 proto tcp comment 'app -> postgres'
# și în postgresql.conf:
# listen_addresses = 'localhost,10.20.0.5'
Verificare din exterior, de pe altă mașină
nmap -Pn -p- --open exemplu.md

Exemple din practică

Agenție IT din Chișinău cu servere de staging pentru clienți

Fiecare mediu de staging avea portul bazei de date deschis „temporar”. Un scan extern cerut de un client a găsit șase instanțe PostgreSQL accesibile. Toate au trecut pe localhost, cu acces prin tunel SSH și un singur bastion.

Fintech cu server de raportare către BNM

Panoul de administrare era accesibil pe portul 8443 din tot internetul, protejat doar de parolă. Acum portul se deschide doar pentru rețeaua VPN a firmei, iar auditorul băncii partenere a bifat cerința fără discuții.

Greșeli frecvente

  • Activezi firewall-ul fără să permiți întâi SSH și rămâi în afara propriului server.
  • Deschizi portul bazei de date pentru „un test rapid” și uiți de el luni întregi.
  • Permiți portul 22 din orice adresă când echipa lucrează din două birouri și un VPN.
  • Nu verifici regulile din exterior și descoperi la audit că Docker a ocolit ufw.

Cum te ajută 4hosting

  • VPS-urile și serverele dedicate vin cu acces root, deci firewall-ul se configurează în primele minute, înainte de orice aplicație.
  • Serviciul Firewall & Network Isolation separă rețelele de aplicație, bază de date și administrare și documentează regulile pentru auditul clientului tău.
  • Orele de DevOps incluse acoperă revizuirea regulilor și un scan extern periodic; cererea se face din panoul de client.

Întrebări conexe

  • Docker ocolește ufw? Ce fac?

    Da: Docker scrie propriile reguli iptables pentru porturile publicate, înaintea celor din ufw. Publică porturile doar pe 127.0.0.1 (de exemplu -p 127.0.0.1:5432:5432) și pune un proxy în față, sau configurează lanțul DOCKER-USER pentru a filtra traficul înainte să ajungă la containere.

  • ufw sau nftables direct?

    Pentru un VPS cu câteva servicii, ufw este suficient și greu de configurat greșit. nftables direct merită când ai reguli complexe, mai multe interfețe sau vrei un fișier de reguli versionat în git. Ambele fac același lucru în kernel.

Cere o verificare de securitate

Acest ghid adună într-un singur loc măsurile care contează pentru un server de producție al unei firme din Moldova: de la cheia SSH până la copia de backup pe care nimeni nu o poate șterge. Fiecare capitol trimite la o pagină de întrebare cu pași, comenzi și exemple. Este scris pentru echipe care livrează clienților din UE, raportează la instituții locale sau vând online și nu își permit o zi de indisponibilitate.

Ghiduri pentru firme din Moldova