- vineri, 27 iulie 2018
- Uncategorized
Când citiți tutoriale despre configurarea serverelor și firewall-uri, veți întâlni adesea adrese IP în acest format:
Prima parte s-ar putea să vă fie familiară, dar partea de după două puncte (:) s-ar putea să nu fie. Acel număr (8080) reprezintă un port de rețea.
O adresă IP este o secvență unică de numere care reprezintă o interfață pe o rețea, adesea pe internet. Cu o adresă IP, rețeaua poate direcționa pachetele de date către interfața de rețea a unui anumit dispozitiv, care poate fi un server sau un router sau chiar telefonul dumneavoastră.
Există o mulțime de programe care rulează pe aceste dispozitive și care ar putea fi interesate să primească date din rețea și să trimită date către alte dispozitive. Dar adresa IP nu spune nimic dispozitivului receptor despre programul căruia îi sunt destinate datele. Acesta este rolul portului de rețea.
În fiecare bucată de date trimisă prin intermediul unei conexiuni TCP sau UDP (inclusiv HTTP (web), SSH, FTP, DNS și majoritatea celorlalte protocoale cunoscute) există un număr de port sursă și un număr de port destinație.
Aceste numere nu reprezintă un echipament sau un port fizic, cum ar fi un port ethernet sau un port fulger. Ele sunt o construcție software care asociază un proces care furnizează un serviciu cu pachete de date care au portul de destinație relevant.
Un proces este o bucată de software care rulează pe server. Un server web este un proces, la fel ca și serverele SSH, serverele FTP și serverele DNS. Fiecare program care rulează pe un server este un proces.
Sistemul de operare al unui server utilizează porturile pentru a se asigura că datele sunt primite de procesul potrivit, adesea livrându-le la o bucată de memorie mapată în acest scop. Procesele sunt legate de un port specific și – în cazul conexiunilor TCP – doar un singur proces se poate lega de fiecare port. Dacă mai mult de un proces este legat la un port, ar exista un conflict și datele ar putea să nu fie livrate procesului corect.
Porturile sunt reprezentate prin numere care variază de la 0 la 65535, cel mai mult care încape într-un întreg fără semn pe 16 biți. Unele dintre aceste numere sunt asociate cu anumite tipuri de servicii. Porturile de la 0 la 1024 se numesc porturi bine cunoscute și sunt asociate în mod convențional cu cele mai comune tipuri de servicii de rețea. Serverele web folosesc portul 80, serverele SSH folosesc portul 22 și așa mai departe.
Porturile de la 1024 la 49151 sunt porturi înregistrate. Acestea pot fi înregistrate la ICANN de către organizații pentru a fi utilizate cu software-ul lor. Porturile de peste 49151 sunt porturi private care pot fi folosite în scopuri arbitrare.
Dacă rulați următoarea comandă pe serverul CentOS, veți putea vedea o listă de porturi și serviciile cărora le corespund.
less /etc/services
Înțelegerea modului în care funcționează porturile este utilă într-o varietate de circumstanțe. De exemplu, mulți roboți de forță brută vizează serverele SSH prin intermediul portului 22. S-ar putea să doriți să asociați SSH cu un port diferit, astfel încât serverul dvs. să nu fie nevoit să se confrunte cu mii de cereri de conectare nelegitime. Puteți schimba portul SSH cu unul dintre porturile private (peste 49151) prin editarea setării „Port” din „/etc/ssh/sshd_config”. Roboții de forță brută nu îl vor mai putea găsi. Dacă schimbați portul SSH, asigurați-vă că vă amintiți cu ce l-ați schimbat, altfel nu veți mai putea nici să vă conectați.
Portele sunt, de asemenea, utile pentru configurarea firewall-urilor și pentru rularea serverelor de dezvoltare: este obișnuit să se folosească portul 8080 ca alternativă la portul 80 pentru serverele web.
Într-un articol viitor, vom analiza modul în care sunt folosite porturile pentru a securiza serverele CentOS cu ajutorul firewall-ului iptables.
.