Economisiți 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul: Skills Începeți
Secțiuni
Linux Securitate

Verificarea Porturilor Deschise și Ascultătoare în Linux Folosind Netstat și SS

Monitorizarea porturilor deschise și ascultătoare pe un sistem Linux este una dintre cele mai fundamentale practici pentru menținerea securității serverului, diagnosticarea problemelor de rețea și gestionarea eficientă a infrastructurii. Indiferent dacă rulați un server web de producție, un mediu VPS Hosting, sau un Dedicated Server, înțelegerea exactă a porturilor deschise — și a serviciilor legate de acestea — vă oferă vizibilitatea necesară pentru a preveni accesul neautorizat, a detecta configurări greșite și a elimina suprafețe de atac inutile.

În acest ghid cuprinzător, vă vom arăta cum să utilizați comenzile netstat și ss pentru a verifica porturile deschise și ascultătoare pe orice sistem Linux, pentru a compara punctele lor forte și pentru a introduce instrumente suplimentare, cum ar fi lsof și nmap, pentru o analiză mai profundă a rețelei.

De ce Monitorizarea Porturilor Deschise Este Importantă

Fiecare port deschis pe serverul dvs. reprezintă un potențial punct de intrare. Serviciile care sunt configurate greșit, învechite sau pur și simplu uitate pot expune sistemul dvs. la exploatare. Auditarea regulată a porturilor dvs. care ascultă vă permite să:

  • Identificați serviciile neautorizate care rulează pe porturi neașteptate
  • Detectați încercările de intruziune sau procesele compromise
  • Verificați că regulile firewall-ului funcționează conform intenției
  • Confirmați că aplicațiile nou implementate se leagă de interfețele corecte
  • Închideți porturile neutilizate pentru a reduce suprafața de atac

Acest lucru este deosebit de critic pentru administratorii care gestionează mediile Shared Web Hosting sau serverele multi-tenant unde mai multe servicii rulează simultan.

Înțelegerea Porturilor și Tipurile Lor

Înainte de a aprofunda în instrumente, este important să înțelegeți terminologia pe care o veți întâlni în rezultatele comenzilor.

TermenDescriere
Port DeschisUn port pe care o aplicație ascultă activ pentru conexiuni primite
Port de AscultareUn port legat la un serviciu care așteaptă trafic de rețea
TCP (Transmission Control Protocol)Orientat pe conexiune, fiabil, utilizat de HTTP, SSH, FTP, etc.
UDP (User Datagram Protocol)Fără conexiune, mai rapid dar mai puțin fiabil, utilizat de DNS, NTP, etc.

Verificarea Porturilor cu netstat

Ce este netstat?

netstat (statistici de rețea) este un utilitar clasic de linie de comandă care oferă informații detaliate despre conexiunile de rețea, tabele de rutare, statistici de interfață și porturi în ascultare. Deși a fost oficial depreciat în favoarea ss pe distribuțiile moderne, rămâne utilizat pe scară largă și se găsește încă pe multe sisteme moștenite.

Instalarea netstat

Comanda netstat face parte din pachetul net-tools, care poate să nu fie instalat implicit pe distribuțiile Linux moderne.

Debian / Ubuntu:

sudo apt install net-tools

CentOS / RHEL / AlmaLinux / Rocky Linux:

sudo yum install net-tools

Utilizarea netstat pentru a Verifica Porturile Deschise și în Ascultare

Pentru a afișa toate porturile TCP și UDP în ascultare pe sistemul dvs., executați următoarea comandă:

sudo netstat -tuln

Detalii despre flaguri:

FlagulDescriere
-tAfișează porturile TCP
-uAfișează porturile UDP
-lAfișează doar porturile în ascultare
-nAfișează adresele numerice în loc să rezolve numele de gazdă

Exemplu de Rezultat

Proto  Recv-Q  Send-Q  Local Address     Foreign Address   State
tcp         0       0  0.0.0.0:22        0.0.0.0:*         LISTEN
tcp         0       0  0.0.0.0:80        0.0.0.0:*         LISTEN
tcp6        0       0  :::443            :::*              LISTEN
udp         0       0  0.0.0.0:53        0.0.0.0:*

Înțelegerea Coloanelor Rezultatului

  • Adresa Locală — Adresa IP și numărul portului unde serviciul este în ascultare. 0.0.0.0 înseamnă că serviciul este în ascultare pe toate interfețele disponibile.
  • Adresa Externă — IP-ul și portul la distanță pentru conexiunile active. Un asterisc (*) înseamnă că nicio conexiune nu este încă stabilită.
  • Stare — Starea conexiunii. LISTEN indică faptul că portul este deschis și așteaptă conexiuni primite.

Filtrarea Porturilor Specifice cu netstat

Puteți canaliza rezultatul prin grep pentru a izola un port sau serviciu specific. De exemplu, pentru a verifica dacă ceva este în ascultare pe portul 80 (HTTP):

sudo netstat -tuln | grep ":80"

Pentru a verifica portul 443 (HTTPS), care este esențial pentru serverele cu Certificatele SSL instalate:

sudo netstat -tuln | grep ":443"

Pentru a afișa, de asemenea, numele procesului și PID-ul responsabil pentru fiecare conexiune, adăugați flagul -p:

sudo netstat -tulnp

Verificarea Porturilor cu ss

Ce Este ss?

ss (socket statistics) este înlocuitorul modern pentru netstat. Este mai rapid, mai eficient și oferă o ieșire mai bogată — în special pe sistemele cu un număr mare de conexiuni simultane. Comanda ss este inclusă implicit pe practic toate distribuțiile Linux moderne și nu necesită instalare suplimentară.

Utilizarea ss pentru Verificarea Porturilor Deschise și în Ascultare

Sintaxa ss reflectă îndeaproape pe cea a netstat, ceea ce face tranziția simplă:

ss -tuln

Detalii despre flaguri:

FlagDescriere
-tAfișează socketurile TCP
-uAfișează socketurile UDP
-lAfișează doar socketurile în ascultare
-nAfișează adresele numerice

Exemplu de Ieșire

Netid  State   Recv-Q  Send-Q  Local Address:Port   Peer Address:Port
tcp    LISTEN  0       128     0.0.0.0:22            0.0.0.0:*
tcp    LISTEN  0       511     0.0.0.0:80            0.0.0.0:*
tcp    LISTEN  0       511        [::]:443             [::]:*
udp    UNCONN  0       0       0.0.0.0:53            0.0.0.0:*

Utilizare avansată a ss

Comanda ss oferă o gamă de opțiuni avansate de filtrare și afișare care depășesc cu mult ceea ce netstat poate oferi.

Afișare doar a porturilor TCP în ascultare

ss -tl

Afișare doar a porturilor UDP în ascultare

ss -ul

Afișare nume procese și PID-uri

Pentru a identifica exact care proces utilizează un port specific, utilizați steagul -p:

ss -tulnp

Aceasta este una dintre cele mai utile comenzi pentru depanare — afișează numele procesului și PID-ul alături de fiecare socket în ascultare, făcând imediat clar care aplicație deține care port.

Exemplu de ieșire cu steagul -p

Netid  State   Local Address:Port   Process
tcp    LISTEN  0.0.0.0:80           users:(("nginx",pid=1234,fd=6))
tcp    LISTEN  0.0.0.0:22           users:(("sshd",pid=987,fd=3))
tcp    LISTEN  0.0.0.0:3306         users:(("mysqld",pid=2345,fd=21))

Filtrare după un port specific

Pentru a verifica care proces ascultă pe portul 8080:

ss -tulnp | grep ":8080"

Afișare toate conexiunile TCP stabilite

ss -tn state established

Afișare statistici rezumat

ss -s

Aceasta oferă un rezumat rapid al socketurilor totale după tip și stare — util pentru a detecta volume de conexiuni neobișnuite.

netstat vs. ss: O comparație directă

Funcționalitate`netstat``ss`
PerformanțăMai lent pe sisteme ocupateSemnificativ mai rapid
Disponibilitate implicităNecesită pachetul net-toolsPre-instalat pe distribuții moderne
Opțiuni de filtrareBază (grep necesar)Filtre avansate încorporate
Informații despre procesDisponibil cu -pDisponibil cu -p
Detaliul rezultatuluiStandardInformații mai detaliate despre socket
Recomandat pentruSisteme moștenite, familiaritateMedii Linux moderne

Când să utilizați netstat

  • Pe sistemele Linux mai vechi unde ss nu este disponibil
  • Când lucrați cu scripturi sau documentație scrisă în jurul sintaxei netstat
  • Pentru verificări rapide pe sisteme unde net-tools este deja instalat

Când să utilizați ss

  • Pe orice distribuție Linux modernă (Ubuntu 20.04+, CentOS 8+, Debian 10+, etc.)
  • Când aveți nevoie de rezultate mai rapide pe servere cu trafic ridicat
  • Pentru filtrare avansată și analiză detaliată a socket-urilor

Instrumente suplimentare pentru auditarea porturilor

Dincolo de netstat și ss, mai multe alte utilitare sunt valoroase pentru un audit complet al porturilor.

Utilizarea lsof

lsof (list open files) tratează socketurile de rețea ca fișiere, ceea ce o face o altă modalitate puternică de a identifica care proces utilizează un port dat.

Pentru a verifica care proces este legat la portul 80:

sudo lsof -i :80

Pentru a verifica toate porturile în ascultare:

sudo lsof -i -P -n | grep LISTEN

Exemplu de ieșire:

COMMAND   PID     USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nginx    1234     root   6u  IPv4   23456      0t0  TCP *:80 (LISTEN)
sshd      987     root   3u  IPv4   12345      0t0  TCP *:22 (LISTEN)

Utilizarea nmap

nmap este un instrument puternic de scanare a rețelei care poate detecta porturile deschise atât local, cât și pe gazde la distanță. Este deosebit de util pentru a verifica configurația firewall-ului din perspectiva externă.

Instalați nmap dacă nu este deja prezent:

sudo apt install nmap       # Debian/Ubuntu
sudo yum install nmap       # CentOS/RHEL

Scanați toate porturile TCP pe mașina locală:

sudo nmap -sT localhost

Scanați porturile deschise pe o adresă IP specifică:

sudo nmap -sV 192.168.1.100

Steagul -sV încearcă, de asemenea, să detecteze versiunea serviciului care rulează pe fiecare port deschis, ceea ce este neprețuit pentru identificarea software-ului învechit sau vulnerabil.

> Notă de securitate: Executați scanări nmap doar pe sisteme pe care le dețineți sau pentru care aveți permisiune explicită de a scana.

Flux de lucru practic de securitate: Auditarea porturilor serverului dvs.

Iată un flux de lucru recomandat pas cu pas pentru auditarea porturilor deschise pe un server Linux:

  1. Enumerați toate porturile în ascultare cu informații despre proces:
   ss -tulnp
  1. Comparați fiecare port cu serviciile așteptate. Dacă vedeți un proces necunoscut pe un port neașteptat, investigați imediat.
  1. Verificați dacă serviciile ascultă pe toate interfețele (0.0.0.0) care ar trebui să fie accesibile doar local. De exemplu, un server de baze de date (port 3306) ar trebui de obicei să se conecteze la 127.0.0.1, nu la 0.0.0.0.
  1. Verificați regulile firewall-ului cu iptables -L -n sau ufw status verbose pentru a vă asigura că doar porturile dorite sunt expuse extern.
  1. Utilizați nmap de pe un host extern pentru a confirma care porturi sunt de fapt accesibile din internet, deoarece regulile firewall-ului pot diferi de ceea ce ss raportează local.
  1. Închideți sau restricționați orice porturi care nu sunt necesare folosind firewall-ul sau oprind serviciul asociat.

Referință rapidă: Comenzile cele mai utile

# List all listening TCP and UDP ports (modern, recommended)
ss -tuln

# List listening ports with process names and PIDs
ss -tulnp

# List all listening ports using netstat (legacy)
sudo netstat -tulnp

# Check which process is using port 443
ss -tulnp | grep ":443"

# Check open ports with lsof
sudo lsof -i -P -n | grep LISTEN

# Scan local machine for open ports with nmap
sudo nmap -sT localhost

Concluzie

Auditarea regulată a porturilor deschise și în ascultare este o parte indispensabilă a administrării serverelor Linux. Instrumente precum netstat și ss vă oferă vizibilitate imediată și detaliată asupra serviciilor care rulează, porturilor pe care le ocupă și dacă există ceva neașteptat pe sistemul dumneavoastră.

Pentru mediile Linux moderne, ss este alegerea clară — este mai rapid, mai capabil și disponibil în mod implicit. Cu toate acestea, netstat rămâne o soluție de rezervă fiabilă pentru sistemele moștenite sau administratorii deja familiarizați cu sintaxa acestuia. Completarea acestor instrumente cu lsof și nmap oferă o imagine completă a expunerii rețelei serverului dumneavoastră.

Indiferent dacă consolidați o implementare nouă de VPS Hosting, gestionați o flotă de Dedicated Servers sau asigurați un mediu de Email Hosting, stăpânirea auditării porturilor este o abilitate esențială care contribuie direct la securitatea și fiabilitatea infrastructurii dumneavoastră.