Porturile sunt unul dintre principalele motive pentru care pachetele de date pot ajunge la destinația dorită. Acestea servesc ca interfețe între computere și servicii sau programe de sistem și sunt utilizate de protocoalele de rețea TCP și UDP. Împreună cu adresa IP, sistemele de operare pot afla către ce computer și aplicație trebuie să trimită datele.

Ce este scanarea porturilor? O scurtă explicație

Scanarea porturilor se referă la procesul țintit de verificare a porturilor deschise într-un sistem informatic cu ajutorul unor instrumente speciale. Înainte de a aprofunda ce este scanarea porturilor, ar fi util să vedem mai întâi ce sunt porturile. Porturile servesc ca interfață între programele active și internet. Ele sunt utilizate pentru a direcționa pachetele de date de intrare și de ieșire către aplicațiile corecte și sunt gestionate de sistemele de operare.

Notă

Pentru ca o aplicație să poată comunica printr-un port, acesta trebuie să fie deschis. Deschiderea porturilor prezintă însă un risc. Dacă una dintre aplicațiile care utilizează portul are vulnerabilități de securitate, portul poate servi ca punct de intrare potențial pentru atacatori. Pentru a minimiza riscul unui atac, trebuie să știți întotdeauna care porturi sunt deschise în sistemul dvs. și care aplicații sunt asociate cu acestea.

Nu este necesar să fiți conectat la sistemul țintă pentru a efectua o scanare a porturilor pe acesta. Trebuie doar să fiți conectat la acesta printr-o rețea locală sau prin internet. Cu ajutorul scanerelor de porturi, puteți trimite pachete de date speciale ca teste către diferite porturi. Veți primi apoi răspunsuri sau mesaje de eroare, care vor fi analizate de instrumentul pe care îl utilizați. În funcție de gama de funcții a programului de scanare, puteți obține informații despre porturile deschise și cele închise. De asemenea, puteți primi date despre serviciile și/sau aplicațiile utilizate de porturile respective.

Scanarea porturilor oferă administratorilor de sistem un mijloc foarte eficient de monitorizare a traficului de date într-o rețea. Cu ajutorul scanării porturilor, pot fi filtrate potențialele puncte slabe și poate fi redusă suprafața de atac a sistemului. În unele cazuri, poate ajuta administratorii să rezolve probleme concrete de rețea. În plus, instrumentele nu au nicio influență vizibilă asupra performanței sistemelor pe care le scanează. Drept urmare, ele pot fi utilizate pentru măsuri de securitate fără a fi nevoie să vă faceți griji cu privire la efectele neintenționate asupra performanței sistemului.

Scanerele de porturi sunt utile și pentru computerele personale. De îndată ce începeți să utilizați aplicații care necesită o conexiune la internet, porturile sunt deschise automat, cu excepția cazului în care firewall-ul dvs. împiedică deschiderea acestora. O scanare a porturilor vă poate ajuta să aveți o imagine de ansamblu asupra situației, arătându-vă porturile care nu mai sunt necesare. Le puteți închide apoi pentru a reduce riscurile de securitate.

Cum funcționează scanarea porturilor?

Scanerele de porturi oferă multe metode diferite. Cu toate acestea, majoritatea implică protocolul TCP orientat către conexiune. Pentru a înțelege procesele de bază care au loc în timpul scanării porturilor, este util să aruncăm o privire asupra structurii generale a conexiunilor TCP:

  • Cunoscut și sub denumirea de „strângere de mână în trei pași”, acest proces începe cu trimiterea de către client a unui pachet SYN (sincronizare) către portul de destinație.
  • Odată ce pachetul ajunge la o aplicație, clientul primește un pachet combinat SYN/ACK (sincronizare/confirmare), care confirmă că conexiunea a fost stabilită.
  • Pentru al treilea și ultimul pas, clientul trimite un pachet ACK (confirmare), care stabilește conexiunea, permițând începerea schimbului de date.

Dacă se contactează un port închis, clientul va primi un pachet RST (resetare) în timpul celui de-al doilea pas, încheind astfel procesul de handshake.

Deoarece schimbul de date cu diferite tipuri de aplicații ar fi dificil și ar necesita mult timp, scanarea porturilor se limitează la simple încercări de stabilire a conexiunilor, așa cum arată următoarele metode de scanare.

Scanare TCP-SYN

Scopul unei scanări TCP-SYN nu este acela de a stabili o conexiune TCP completă. De aceea, acest tip de scanare este denumit în mod obișnuit scanare de port semi-deschis. Folosind scanerul de porturi, această metodă trimite pachete SYN tipice către porturi individuale și așteaptă un răspuns de la gazda țintă. Dacă gazda trimite înapoi un pachet SYN/ACK, aceasta semnalează că portul respectiv este deschis și că este posibilă stabilirea unei conexiuni. Dacă răspunsul este un pachet RST, înseamnă că portul este închis. Dacă nu există un răspuns, acest lucru poate fi probabil atribuit unui filtru de pachete (de exemplu, un firewall) situat în amonte.

Scanările TCP-SYN nu sunt vizibile pentru aplicațiile evaluate și, din acest motiv, nu generează date de jurnal. De aceea, ele sunt denumite și scanări ascunse.

Scanare conexiune TCP

Dacă executați o scanare de conectare cu scanerul de porturi, nu generați și nu trimiteți efectiv pachetul de date. În schimb, utilizați apelul de sistem connect. Acesta este disponibil pe aproape toate sistemele de operare. Dacă încercarea de conectare are succes, înseamnă că portul este deschis. Dacă încercarea de conectare eșuează, înseamnă că portul este închis. Dacă conexiunea a fost stabilită cu succes (adică un port era deschis), veți putea vedea că această tehnică de scanare a fost utilizată în fișierele jurnal ale aplicației. Cu toate acestea, nu vor fi furnizate informații despre programele de filtrare utilizate. Dacă nu aveți drepturi pentru a trimite pachete de date brute, scanarea TCP connect poate fi o alternativă utilă la scanările SYN.

Scanări TCP-FIN, Xmas și Null

Aceste trei metode de scanare a porturilor vă permit, de asemenea, să faceți diferența între porturile deschise și cele închise. Aici sunt utilizate două concepte de bază, care sunt documentate în RFC 793„):

  1. Porturile închise trebuie să răspundă întotdeauna la pachete (atâta timp cât acestea nu sunt pachete RST) cu propriul pachet RST.
  2. Porturile deschise trebuie să ignore toate pachetele care nu sunt marcate ca SYN, RST sau ACK.

Atunci când scanează sisteme compatibile cu RCF, aceste metode de scanare exploatează aceste principii utilizând propriile pachete:

  • Scanarea Null nu utilizează niciun marcaj special.
  • În cazul scanărilor FIN, scanerul de porturi trimite pachete FIN (finish).
  • ScanărileXmas utilizează o combinație de marcaje FIN, PSH (push) și URG (urgent), care fac ca pachetele să lumineze ca un pom de Crăciun.

Toate cele trei metode de scanare funcționează în același mod. Datorită regulilor RCF, pachetele de testare asigură că porturile închise răspund cu pachete RST, iar porturile deschise nu oferă niciun răspuns. Nu toate routerele trimit mesaje de eroare dacă un port este filtrat, ceea ce ar putea însemna că este implicat un port filtrat dacă nu apare niciun mesaj (pe lângă posibilitatea ca acesta să fie un port deschis). Și, deși această metodă este mult mai discretă decât scanările SYN, este posibil să nu funcționeze corect dacă sistemele nu respectă perfect RFC 793. Un exemplu elocvent în acest sens este Windows.

Scanare UDP

Cu scanările UPD, anteturile UDP goale fără date sunt trimise către toate porturile goale. Dacă un serviciu răspunde cu un pachet UDP, portul corespunzător este deschis. Dacă scanerul de porturi primește mesajul de eroare „Port inaccesibil” de la router (tip 3, cod 3), acesta recunoaște portul ca fiind închis. Alte mesaje de eroare servesc pentru a informa utilizatorii că filtrele de pachete sunt responsabile pentru blocarea porturilor. Problema cu testarea porturilor UDP este timpul imens pe care îl necesită. Acest lucru se datorează faptului că, pentru multe sisteme, poate dura mult timp să afișeze mesaje de eroare din motive de securitate. Mai mult, multe dintre aceste sisteme răspund la porturi doar sporadic. Kernel-ul Linux limitează numărul de rapoarte pe secundă, ceea ce înseamnă că ar dura aproximativ 18 ore pentru a scana complet 65.535 de porturi.

Ce scanere de porturi există?

Există multe scanere diferite, care se diferențiază prin gama de funcții pe care le oferă. Majoritatea acestor instrumente sunt disponibile ca opțiuni freeware sau open-source. Multe dintre acestea dispun de programe clasice cu linie de comandă care pot fi utilizate prin intermediul unor interfețe grafice separate. În plus, există multe soluții online care permit utilizatorilor să scaneze porturile direct într-un browser. Serviciile precum scanerul de porturi oferit de DNS Tools sunt limitate în ceea ce privește funcționalitățile și oferă doar posibilitatea de a verifica porturi individuale. Din acest motiv, ele sunt opțiuni potrivite pentru efectuarea de verificări rapide pe computerele personale.

Netcat

Netcat (prescurtat: nc) a fost publicat de un dezvoltator anonim cunoscut sub numele de „Hobbit” în 1996. Scris inițial pentru platformele Unix, există acum multe opțiuni de portare pentru sisteme precum Windows, precum și alte extensii precum GNU Netcat, OpenBSD Netcat, Cryptcat și Netcat6 (care acceptă și IPv6), care sunt incluse în mod implicit în multe distribuții Linux. Versiunea de bază a instrumentului de linie de comandă este concepută în principal pentru a trimite sau citi date prin conexiuni de rețea TCP și UDP. Cu toate acestea, poate fi utilizată și pentru sarcini simple de scanare a porturilor. Acest lucru permite utilizatorilor să verifice starea porturilor 20-30 pe un sistem specificat cu comenzi simple, cum ar fi:

nc -zv localhost 20-30
bash

Verificarea porturilor UDP necesită parametrul suplimentar*-u*. De asemenea, puteți utiliza numele gazdei sau adresa IP a unui sistem extern (dacă o cunoașteți) în locul localhost.

Nmap

Un instrument mult mai puternic, care este deosebit de util pentru scanarea porturilor, este Network Mapper, denumit adesea Nmap. Conceput pentru sisteme unixoid, Nmap are licență GPL și este disponibil pentru sistemele Windows din anul 2000 (deși cu anumite limitări). Acest lucru înseamnă că scanările TCP Connect durează disproporționat de mult și că scanarea porturilor propriului sistem este posibilă numai folosind căi indirecte. În general, Nmap poate fi operat prin intermediul unei linii de comandă. Zenmap, pe de altă parte, dispune de o interfață grafică de înaltă performanță, care permite utilizatorilor să utilizeze cu ușurință instrumentul de rețea.

Creatorul Nmap, Gordon Lyon, și echipa de dezvoltatori Nmap sunt responsabili pentru dezvoltarea programului și a funcțiilor sale de scanare a porturilor. În special, tehnologii precum amprentarea sistemului de operare (adică recunoașterea sistemului de operare al unui gazdă țintă) și citirea serviciilor ascunse în spatele porturilor fac din Nmap una dintre cele mai populare soluții de scanare a porturilor. Tabelul următor prezintă varietatea de metode pe care le oferă acest program:

Metode de scanare a porturilor Comanda Nmap Descriere
Scanare TCP connect nmap -sT gazdă Verificare clasică pentru non-administratori
Scanare TCP Syn nmap -sS gazdă Metode rapide și discrete de verificare pentru administratori.
Scanare TCP FIN-/XMAS-/Null nmap -sF gazdă nmap -sX gazdă nmap -sN gazdă Metode care pot evita firewall-urile
Scanare TCP ping nmap -sP gazdă Pentru scanări tradiționale ale porturilor; ajută la verificarea disponibilității unui host.
Scanare TCP ACK nmap -sA gazdă Determină porturile livrate, dar nu oferă nicio distincție între porturile deschise și cele închise
Scanare TCP Window nmap -sW gazdă Comparabil cu scanarea ACK; poate verifica unele porturi deschise și închise.
Scanare TCP Maimon nmap -sM gazdă Combinație între scanările FIN și ACK.
Scanare TCP inactivă nmap -sI zombie host host Cea mai puțin vizibilă, cea mai complexă și, prin urmare, cea mai lentă metodă de scanare; se execută prin intermediul unui al treilea computer etichetat ca „zombie” de Nmap.
Scanare UDP nmap -sU gazdă Metode de scanare pentru porturi UDP fără conexiune
Scanare SCTP init nmap -sY host Scanare port cu SCTP, o alternativă la TCP și UDP
Scanare protocol IP nmap -sO gazdă Fără scanare port; verifică ce protocol bazat pe IP este acceptat pe sistemul țintă

Puteți descărca atât Nmap, cât și interfața Zenmap pentru sistemul dvs. de operare de pe site-ul oficial al Nmap. Sunt disponibile atât versiunea actuală (stabilă), cât și o versiune beta (în dezvoltare).

Verificarea porturilor nu este întotdeauna legală. De îndată ce se încearcăo exploatare (termenul utilizat de profesioniștii în domeniul securității cibernetice pentru a se referi la actul de a profita de o breșă sau lacună de securitate), persoana sau grupul responsabil pentru aceasta ar putea suferi consecințe legale.

Cu toate acestea, situația juridică este mai puțin clară atunci când un sistem informatic este blocat din cauza scanării intensive a porturilor. Datorită frecvenței ridicate a cererilor de conectare, astfel de metode de monitorizare pot reprezenta o provocare pentru sistemul țintă, ducând uneori la blocarea sistemului. Mai mult, administratorii sistemului vizat ar putea deveni conștienți de activitățile atacatorilor înainte de blocare și ar putea interpreta acțiunile ca fiind primii pași ai unui atac.

În astfel de cazuri, este important să nu se excludă consecințele legale. Dacă sistemul vizat este supraîncărcat în mod intenționat, acest lucru poate fi considerat un atac DDoS, ceea ce poate duce la intentarea unei acțiuni în justiție de către victima atacului.

Trebuie să vă asigurați întotdeauna că aveți autorizația necesară pentru a efectua o scanare a porturilor pe un sistem și să utilizați această tehnică numai în scopuri de securitate, nu doar pentru a vă satisface curiozitatea. Metodele de scanare a porturilor discutate aici evidențiază cât de important este să supravegheați porturile propriului sistem și computerele din rețea, precum și serviciile care le accesează.

Mergi la meniul principal