Un server Linux poate avea servicii pornite fără să îți dai seama: SSH, web server, bază de date, panou de administrare, aplicații de test sau containere. Problema apare când un serviciu ascultă pe o interfață publică și poate fi accesat din internet fără să fie nevoie. Nu orice port deschis este automat periculos, dar orice port expus inutil mărește suprafața de atac.
Scopul verificării este simplu: vezi ce servicii ascultă, pe ce porturi, pe ce interfețe, ce proces le-a deschis și dacă firewall-ul permite accesul din exterior.
Începe de pe server: vezi porturile ascultate
Prima comandă utilă este ss. Manualul Linux descrie ss ca utilitar pentru investigarea socket-urilor și afișarea statisticilor, similar cu netstat, dar cu informații mai bogate pentru TCP și stări de conexiune.
Rulează:
sudo ss -tulpen
Ce înseamnă opțiunile:
-t TCP
-u UDP
-l listening
-p procesul care folosește portul
-e informații extinse
-n afișare numerică, fără rezolvare DNS
Uită-te la coloanele Local Address:Port și Process. Exemple importante:
0.0.0.0:22 sshd
0.0.0.0:80 nginx
127.0.0.1:3306 mysqld
0.0.0.0:3306 mysqld
Diferența este foarte importantă. Dacă MySQL ascultă pe 127.0.0.1:3306, este accesibil local. Dacă ascultă pe 0.0.0.0:3306, poate asculta pe toate interfețele, inclusiv cea publică, dacă firewall-ul permite traficul.
Identifică procesul care a deschis portul
Dacă vezi un port necunoscut, verifică procesul:
sudo lsof -i -P -n
lsof listează fișierele deschise de procese, iar pe Linux socket-urile de rețea pot fi inspectate cu această unealtă. Documentația lsof include folosirea lsof -i pentru socket-uri TCP/UDP.
Pentru un port anume:
sudo lsof -i :8080 -P -n
Apoi verifică serviciul:
systemctl status nume-serviciu
ps aux | grep nume-proces
Nu opri procesul imediat dacă este server de producție. Notează ce este, cine îl folosește și dacă ar trebui să fie accesibil public.
Verifică firewall-ul local
Pe Ubuntu/Debian, multe servere folosesc UFW. Verifică:
sudo ufw status verbose
Ubuntu documentează sudo ufw status și sudo ufw status verbose pentru verificarea regulilor firewall, iar aplicațiile pot avea profiluri UFW în /etc/ufw/applications.d.
Reguli normale pentru un server web simplu:
22/tcp doar dacă administrezi prin SSH
80/tcp HTTP
443/tcp HTTPS
Porturi care, în mod normal, nu trebuie expuse public fără motiv clar:
3306 MySQL/MariaDB
5432 PostgreSQL
6379 Redis
27017 MongoDB
9200 Elasticsearch
8080 panouri sau aplicații de test
Dacă un serviciu trebuie accesat doar local, nu îl lăsa pe 0.0.0.0. Configurează aplicația să asculte pe 127.0.0.1 sau limitează accesul prin firewall.
Verifică și firewall-ul din cloud
Pe VPS-uri și cloud, UFW nu este singurul filtru. Poți avea și firewall la provider: Security Group, Cloud Firewall, Network Firewall sau reguli la nivel de rețea. Dacă ss arată că un serviciu ascultă, dar din exterior nu merge, poate fi blocat de firewall-ul cloud. Dacă din exterior merge, dar nu ar trebui, ai o problemă de expunere.
Verifică în panoul furnizorului ce porturi sunt permise către server. Comparația corectă este:
Ce ascultă serverul local?
Ce permite firewall-ul local?
Ce permite firewall-ul cloud?
Ce este accesibil din exterior?
Testează din exterior doar pe serverul tău
Pentru verificare autorizată, poți folosi Nmap pe propriul IP sau pe servere unde ai permisiune. Nmap este descris oficial ca utilitar open-source pentru network discovery și security auditing, folosit inclusiv de administratori pentru inventar și monitorizarea serviciilor.
De pe laptopul tău, rulează:
nmap IP_SERVER
Pentru porturi uzuale:
nmap -p 22,80,443,3306,5432 IP_SERVER
Nu scana IP-uri care nu îți aparțin. Nu scana rețele ale altor firme. Folosește Nmap aici doar ca verificare defensivă pentru infrastructura ta.
Ce faci dacă găsești porturi inutile
Dacă portul aparține unui serviciu care nu mai este folosit:
sudo systemctl stop nume-serviciu
sudo systemctl disable nume-serviciu
Dacă serviciul este necesar, dar nu trebuie public:
sudo ufw deny 3306/tcp
sau permite doar un IP de administrare:
sudo ufw allow from 203.0.113.10 to any port 22 proto tcp
După modificări:
sudo ss -tulpen
sudo ufw status verbose
Un server sănătos nu este un server fără porturi deschise. Este un server unde fiecare port expus are un motiv clar, un proprietar, o regulă de firewall și o documentație. Verificarea porturilor ar trebui făcută după instalare, după fiecare aplicație nouă și lunar, ca parte din mentenanța de securitate.
Surse folosite
Linux man-pages — ss, investigarea socket-urilor și porturilor.
Linux man-pages / lsof documentation — lsof -i pentru socket-uri TCP/UDP.
Ubuntu Server Documentation — UFW, status firewall și profiluri de aplicații.
Nmap Documentation — network discovery și security auditing pentru sisteme autorizate.

















































