15%

Economisește 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
25.12.2024

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țele 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 este importantă monitorizarea porturilor deschise

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. ascultătoare vă permite să:

  • Identificați serviciile neautorizate care rulează pe porturi neașteptate
  • Detectați încercări de intruziune sau procese 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 dvs. de atac

Acest lucru este deosebit de critic pentru administratorii care gestionează medii de Shared Web Hosting sau servere multi-tenant în care rulează simultan mai multe servicii.

Înțelegerea porturilor și tipurilor acestora

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

TermenDescriere
Port deschisUn port pe care o aplicație ascultă activ pentru conexiuni de intrare
Port ascultătorUn port legat de un serviciu care așteaptă traficul 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 conexiuni de rețea, tabele de rutare, statistici de interfață și porturi ascultătoare. 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 ascultătoare

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

sudo netstat -tuln

Detalii despre steaguri:

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

Rezultat exemplu

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 de rezultat

  • Adresa locală — Adresa IP și numărul portului unde serviciul ascultă. 0.0.0.0 înseamnă că serviciul ascultă pe toate interfețele disponibile.
  • Adresa externă — IP-ul și portul la distanță pentru conexiuni 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 de intrare.

Filtrarea porturilor specifice cu netstat

Puteți direcționa rezultatul prin grep pentru a izola un port sau serviciu specific. De exemplu, pentru a verifica dacă ceva ascultă pe portul 80 (HTTP):

sudo netstat -tuln | grep ":80"

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

sudo netstat -tuln | grep ":443"

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

sudo netstat -tulnp

Verificarea porturilor cu ss

Ce este ss?

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

Utilizarea ss pentru a verifica porturile deschise și ascultătoare

Sintaxa ss reflectă îndeaproape pe cea a netstat, făcând tranziția simplă:

ss -tuln

Detalii despre steaguri:

SteagDescriere
-tAfișează socketurile TCP
-uAfișează socketurile UDP
-lAfișează doar socketurile ascultătoare
-nAfișează adresele numerice

Rezultat exemplu

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 poate face netstat.

Afișează doar porturile TCP ascultătoare

ss -tl

Afișează doar porturile UDP ascultătoare

ss -ul

Afișează numele proceselor și PID-urile

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 — arată numele procesului și PID-ul alături de fiecare socket ascultător, făcând imediat clar care aplicație deține care port.

Rezultat exemplu 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șează toate conexiunile TCP stabilite

ss -tn state established

Afișează statistici de 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ă

Caracteristică`netstat``ss`
PerformanțăMai lentă pe sisteme ocupateSemnificativ mai rapidă
Disponibilitate implicităNecesită pachetul net-toolsPre-instalată pe distribuții moderne
Opțiuni de filtrareDe bază (grep necesar)Filtre avansate încorporate
Informații despre procesDisponibile cu -pDisponibile cu -p
Detaliu rezultatStandardInformații socket mai detaliate
Recomandat pentruSisteme moștenite, familiaritateMedii Linux moderne

Când să utilizați netstat

  • Pe sisteme Linux mai vechi în care ss nu este disponibil
  • Când lucrați cu scripturi sau documentație scrisă în jurul sintaxei netstat
  • Pentru verificări rapide pe sisteme în care 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 rezultat mai rapid pe servere cu trafic ridicat
  • Pentru filtrare avansată și analiză detaliată a socketurilor

Instrumente suplimentare pentru audit de porturi

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

Utilizarea lsof

lsof (listează fișierele deschise) tratează socketurile de rețea ca fișiere, făcând-o un alt mod puternic de a identifica care proces utilizează un port dat.

Pentru a verifica care proces este legat de portul 80:

sudo lsof -i :80

Pentru a verifica toate porturile ascultătoare:

sudo lsof -i -P -n | grep LISTEN

Rezultat exemplu:

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 porturi 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 pentru porturi 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. Listați toate porturile ascultătoare cu informații despre proces:
   ss -tulnp
  1. Corelați fie
15%

Economisește 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