Cum este SSH diferit de Telnet?
Publicat: 2023-03-15Ambele SSH și TELNET vă permit să vă conectați la computere aflate la distanță în rețea și să le utilizați ca și cum ați fi așezat în fața lor. Deci, care este diferența dintre aceste două protocoale venerabile și există într-adevăr întotdeauna un avantaj în utilizarea SSH peste TELNET?
TELNET și SSH: Povestea originii
Necesitatea este mama inventiei. Administratorii de sistem aveau nevoie de o modalitate de a accesa și de a gestiona computerele care se aflau fizic în altă parte. Dacă era impractic sau incomod pentru administrator să se poziționeze în fața computerului, aveau nevoie de o modalitate de a accesa computerul de la distanță care să le permită să emită comenzi exact ca și cum le-ar fi tastat în acel computer.
TELNET, prescurtare de la tel etype over net work protocol, a fost dezvoltat în 1969 ca răspuns la această problemă. Atâta timp cât computerul de la distanță era accesibil în rețea, acesta permitea administratorului sau oricărei alte persoane autorizate să se conecteze la el și să-l folosească ca și cum ar fi apăsat fizic tastele tastaturii de la distanță.
SSH a fost creat mult mai târziu, în 1995, ca răspuns direct la Telnet și alte soluții similare. Necesitatea de data aceasta a fost securitatea. TELNET, rlogin, FTP și alte protocoale ale acelei epoci au fost concepute fără nicio luare în considerare a securității sau fără a fi percepută necesitatea acesteia.
SSH înseamnă shell s ecure, așa că puteți vedea că securitatea a fost un principiu călăuzitor încă de la început. În zilele noastre, SSH a înlocuit aproape în întregime TELNET.
TELNET este un coșmar de securitate în text simplu
Marea problemă cu TELNET este că folosește text simplu. Nu criptează niciunul din traficul său, inclusiv numele de utilizator și parolele. Orice transmite de-a lungul rețelei poate fi capturat prin sniffing și citire de pachete, cu cea mai mare ușurință. Acesta este un risc de securitate chiar și într-o rețea locală, cu excepția cazului în care sunteți singurul utilizator. Orice utilizator poate intercepta traficul TELNET și poate obține acreditări de conectare la care nu are niciun drept.
Dacă computerul de la distanță este în afara amplasamentului, necesitând o conexiune prin internet pentru a ajunge la el, problema este amplificată nemăsurat. TELNET a fost un produs al timpului său și, pentru a fi corect față de ei, autorii aproape sigur nu se așteptau ca oamenii să-l folosească peste cincizeci de ani mai târziu, în peisajul IT foarte diferit de astăzi.
În timp ce TELNET își merită locul pe lista programelor importante care ne-au ajutat colectiv să ne aducă acolo unde suntem astăzi, nu este ceva pe care ar trebui să-l folosim în continuare în lumea de astăzi.
Cum este SSH diferit de TELNET?
În realitate, TELNET și SSH sunt două răspunsuri la aceeași problemă. Ambele vă permit să accesați o fereastră de terminal de pe un computer la distanță și să îi trimiteți comenzi. Dar pentru că SSH a fost dezvoltat mult mai târziu decât TELNET, problema a fost înțeleasă mai bine, iar răspunsul a fost mai bine conceput.
TELNET a fost proiectat având în vedere rețelele private , dar SSH a fost conceput pentru a face față rețelelor publice și nevoii de a menține confidențialitatea și securitatea atunci când transferați date și faceți conexiuni la distanță.
TELNET folosește portul 23 și acel număr de port nu poate fi schimbat. În mod implicit, SSH utilizează portul 22, dar acesta poate fi configurat și modificat. Configurarea SSH pentru a utiliza un număr de port neevident face mai greu pentru atacatori să identifice portul SSH. Dacă portul SSH poate fi identificat, este o chestiune banală să lansați un atac de forță brută în care mii de parole culese din încălcări ale datelor sunt încercate la rândul lor, prin software automat.
Și mai bine, SSH poate renunța cu totul la parole. Poate folosi criptarea cu cheie publică pentru a se autentifica pe computere la distanță. Parolele nu sunt niciodată transmise deloc, deoarece nu este nevoie să le trimiteți la computerul de la distanță. Criptarea datelor și autentificarea cheii SSH înseamnă că SSH este capabil să furnizeze conexiuni și comunicații sigure prin rețele nesigure precum internetul.
De fapt, SSH poate fi folosit pentru a se autentifica cu diferite servicii, nu doar computere la distanță care rulează un server SSH. De exemplu, puteți accesa depozitele Git găzduite de GitHub, GitLab și BitBucket folosind SSH în loc de parole.
Un alt avantaj al folosirii SSH peste TELNET este că SSH poate face tunel SSH invers. Acest lucru necesită ca serverul să stabilească o conexiune cu computerul client. Până când utilizatorul local dorește să facă o conexiune la server, conexiunea este ignorată.
Când clientul dorește să se conecteze la server, utilizatorul stabilește o conexiune SSH la propriul computer. SSH trimite conexiunea pe conexiunea deja stabilită, către server. Aceasta oferă un tunel privat în interiorul conexiunii deja criptate de la server la client.
Singurul câștig pentru TELNET este că folosește mai puțină lățime de bandă. Dar nu este anul 1969 în care lățimea de bandă a fost redusă și nici SSH nu este chiar un porc de lățime de bandă.
SSH a avut și problemele sale
Deși SSH depășește TELNET când vine vorba de securitate, trebuie să ne amintim că este încă software, iar software-ul poate avea erori. Aceste erori pot duce la vulnerabilități care pot fi exploatate de infractorii cibernetici. De asemenea, standardele și algoritmii de criptare se modifică în timp și sunt înlocuiți. Ca toate programele bazate pe criptare, pe măsură ce versiunile mai vechi de SSH îmbătrânesc, acestea pot deveni mai puțin sigure. De aceea, este important să vă asigurați că utilizați cea mai recentă versiune a SSH.
Versiunea de SSH folosită în majoritatea computerelor Linux este OpenSSH, o implementare a SSH care se bazează pe setul de instrumente și bibliotecile OpenSSL. În 2012, biblioteca OpenSSL a introdus accidental un bug care permitea unui atacator să solicite un răspuns de la serverul SSL și să specifice câte date să conțină în răspuns.
Ei ar putea solicita un răspuns de (să zicem) 64KB atunci când răspunsul real ar fi avut nevoie de nu mai mult de 64 de octeți. Prima secvență de octeți din acele date ar fi răspunsul autentic, așteptat, urmat de orice s-a întâmplat să fie în memoria folosită recent de OpenSSL. Ceea ce era conținut în acele date era noroc, dar ar putea conține informații sensibile, cum ar fi cookie-uri și parole de sesiune, sau alte informații care au permis unui atacator să obțină chei private, de exemplu.
Odată ce a fost descoperită, în 2014, vulnerabilitatea a devenit cunoscută sub numele de Heartbleed. S-a rezolvat rapid în software. Cu toate acestea, vulnerabilitatea nu dispare în acel moment. Vulnerabilitatea este anulată complet numai atunci când toate computerele care rulează software-ul vulnerabil au versiunea fixă instalată. Cu alte cuvinte, atunci când computerele au fost corecţionate . Deoarece mulți administratori au reacționat lent, preluarea software-ului fix a fost lentă.
De asemenea, îngrijorător sunt cei doi ani dintre 2012 când a fost introdus bug-ul și 2014 când a fost descoperit și rezolvat. În acești doi ani, fiecare server SSH care rulează versiunea vulnerabilă a OpenSSL a fost în pericol.
Pentru a fi corect, asta s-a întâmplat cu aproape un deceniu în urmă, iar de atunci au existat multe lansări, îmbunătățiri, remedieri de erori și recenzii de cod.
RELATE: Cele mai bune modalități de a vă asigura serverul SSH
Ar trebui să utilizați SSH sau TELNET?
Este greu să te gândești la un motiv pentru care ar trebui să folosești TELNET astăzi. Acest lucru nu este același lucru cu a spune dacă există vreun scenariu în care este sigur să utilizați TELNET. Într-o rețea de sine stătătoare care nu este conectată la lumea exterioară și ești sigur că nimeni nu-ți va detecta traficul prin pachete, poți folosi TELNET. Dar nu există nici un motiv. Schimbul de securitate nu poate fi justificat.
SSH este mai sigur și mai flexibil - acesta este avantajul utilizării SSH prin TELNET. Implementarea OpenSSH este gratuită pentru toate utilizările, inclusiv comerciale, și este disponibilă pentru toate sistemele de operare populare.
LEGATE: Cum să vă conectați la un server SSH din Windows, macOS sau Linux