Ako sa SSH líši od Telnetu?


Zhrnutie: TELNET nemá žiadne šifrovanie, takže všetko sa prenáša v obyčajnom texte. SSH je šifrované, takže je súkromné a bezpečné. To je dôvod, prečo by sa SSH malo používať prednostne pred TELNETom.

SSH a TELNET vám umožňujú pripojiť sa k vzdialeným počítačom v sieti a používať ich, ako keby ste sedeli pred nimi. Aký je teda rozdiel medzi týmito dvoma úctyhodnými protokolmi a je skutočne vždy výhodné používať SSH oproti TELNETu?

TELNET a SSH: Príbeh pôvodu

Nutnosť je matka vynálezu. Správcovia systému potrebovali spôsob prístupu a správy počítačov, ktoré boli fyzicky umiestnené inde. Ak bolo pre správcu nepraktické alebo nepohodlné postaviť sa pred počítač, potreboval spôsob prístupu k vzdialenému počítaču, ktorý by im umožňoval zadávať príkazy, ako keby ich písali do tohto počítača.

TELNET, skratka pre teletype over network protocol, bol vyvinutý v roku 1969 ako odpoveď na tento problém. Pokiaľ bol vzdialený počítač sieťovo prístupný, umožňoval správcovi alebo inej oprávnenej osobe pripojiť sa k nemu a používať ho tak, ako keby fyzicky stláčali klávesy vzdialenej klávesnice.

SSH bol vytvorený oveľa neskôr – v roku 1995 – ako priama odpoveď na Telnet a iné podobné riešenia. Nevyhnutnosťou bola tentoraz bezpečnosť. Protokoly TELNET, rlogin, FTP a ďalšie protokoly tej doby boli navrhnuté bez akéhokoľvek zvažovania alebo vnímania potreby zabezpečenia.

SSH je skratka pre secure shell, takže môžete vidieť, že bezpečnosť bola hlavnou zásadou od jej počiatku. V súčasnosti SSH takmer úplne nahradil TELNET.

TELNET je nočná mora v oblasti bezpečnosti

Veľkým problémom TELNET-u je, že používa obyčajný text. Nešifruje žiadnu svoju prevádzku vrátane používateľských mien a hesiel. Čokoľvek, čo vysiela po sieti, môže byť zachytené čítaním a čítaním paketov s najväčšou ľahkosťou. Toto je bezpečnostné riziko aj v lokálnej sieti, pokiaľ nie ste jediným používateľom. Každý používateľ môže zachytiť prevádzku TELNETu a získať prihlasovacie údaje, na ktoré nemá právo.

Ak sa vzdialený počítač nachádza mimo lokality a na dosiahnutie si vyžaduje pripojenie cez internet, problém sa nezmerateľne zväčšuje. TELNET bol produktom svojej doby a aby sme boli k nim spravodliví, autori takmer určite neočakávali, že ho ľudia budú používať o viac ako päťdesiat rokov neskôr, v dnešnom diametrálne odlišnom prostredí IT.

Aj keď si TELNET zaslúži svoje miesto na zozname dôležitých programov, ktoré nám spoločne pomohli dostať sa tam, kde sme dnes, nie je to niečo, čo by sme v dnešnom svete mali stále používať.

Ako sa SSH líši od TELNETu?

Na prvý pohľad sú TELNET a SSH dve odpovede na rovnaký problém. Obaja vám umožňujú pristupovať k oknu terminálu na vzdialenom počítači a vydávať mu príkazy. Ale pretože SSH bolo vyvinuté oveľa neskôr ako TELNET, problém bol dôkladnejšie pochopený a odpoveď bola lepšie navrhnutá.

TELNET bol navrhnutý s ohľadom na súkromné siete, ale SSH bol navrhnutý tak, aby si poradil s verejnými sieťami a potrebou zachovať súkromie a bezpečnosť pri prenose údajov a vytváraní vzdialených pripojení.

TELNET používa port 23 a toto číslo portu nemožno zmeniť. SSH štandardne používa port 22, ale dá sa nakonfigurovať a zmeniť. Konfigurácia SSH na používanie neznámeho čísla portu útočníkom sťažuje identifikáciu portu SSH. Ak je možné identifikovať port SSH, je triviálnou záležitosťou spustiť útok hrubou silou, pri ktorom sa postupne skúšajú tisíce hesiel získaných z úniku údajov pomocou automatizovaného softvéru.

Ešte lepšie je, že SSH sa môže úplne vzdať hesiel. Na overenie na vzdialených počítačoch môže použiť šifrovanie verejným kľúčom. Heslá sa nikdy neprenášajú, pretože ich nie je potrebné posielať do vzdialeného počítača. Jeho šifrovanie údajov a autentifikácia kľúčom SSH znamená, že SSH je schopný poskytovať bezpečné pripojenia a komunikáciu cez nezabezpečené siete, ako je internet.

V skutočnosti možno SSH použiť na autentifikáciu s rôznymi službami, nielen so vzdialenými počítačmi so serverom SSH. Môžete napríklad pristupovať k archívom Git hosteným na GitHub, GitLab a BitBucket pomocou SSH namiesto hesiel.

Ďalšou výhodou používania SSH cez TELNET je to, že SSH môže robiť spätné tunelovanie SSH. To vyžaduje, aby server vytvoril spojenie s klientskym počítačom. Kým sa lokálny používateľ nebude chcieť pripojiť k serveru, pripojenie sa ignoruje.

Keď sa klient chce pripojiť k serveru, používateľ vytvorí pripojenie SSH k svojmu vlastnému počítaču. SSH odošle spojenie po už nadviazanom spojení na server. To poskytuje súkromný tunel vo vnútri už šifrovaného pripojenia zo servera ku klientovi.

Jedinou výhrou pre TELNET je, že využíva menšiu šírku pásma. Ale toto nie je rok 1969, kedy bola šírka pásma vzácna, a SSH tiež nie je práve šírkou pásma.

SSH malo tiež svoje problémy

Hoci SSH prekonáva TELNET, pokiaľ ide o bezpečnosť, musíme si uvedomiť, že je to stále softvér a softvér môže mať chyby. Tieto chyby môžu viesť k zraniteľnostiam, ktoré môžu zneužiť kyberzločinci. Tiež šifrovacie štandardy a algoritmy sa časom menia a sú nahradené. Ako každý softvér založený na šifrovaní, staršie verzie SSH môžu byť menej bezpečné. Preto je dôležité uistiť sa, že používate najnovšie vydanie SSH.

Verzia SSH používaná vo väčšine počítačov so systémom Linux je OpenSSH, implementácia SSH, ktorá stavia na súprave nástrojov a knižniciach OpenSSL. V roku 2012 knižnica OpenSSL omylom zaviedla chybu, ktorá umožnila útočníkovi požiadať o odpoveď zo servera SSL a určiť, koľko údajov má odpoveď obsahovať.

Mohli požiadať o odpoveď (povedzme) 64 kB, keď by skutočná odpoveď nepotrebovala viac ako 64 bajtov. Prvá sekvencia bajtov v týchto údajoch by bola skutočná, očakávaná odpoveď, po ktorej by nasledovalo všetko, čo sa stalo v pamäti, ktorú nedávno použil OpenSSL. To, čo bolo obsiahnuté v týchto údajoch, bolo šťastie, ale mohli obsahovať citlivé informácie, ako sú súbory cookie relácie a heslá, alebo iné informácie, ktoré útočníkovi umožnili získať napríklad súkromné kľúče.

Po zistení v roku 2014 sa zraniteľnosť stala známou ako Heartbleed. V softvéri to bolo rýchlo opravené. Zraniteľnosť však v tomto bode nezmizne. Zraniteľnosť je úplne zrušená len vtedy, keď všetky počítače so zraniteľným softvérom majú nainštalovanú fixnú verziu. Inými slovami, keď boli počítače opravené. Pretože mnohí správcovia reagovali pomaly, zavádzanie opraveného softvéru bolo pomalé.

Znepokojujúce sú aj dva roky medzi rokom 2012, keď bola chyba predstavená, a rokom 2014, keď bola objavená a vyriešená. Počas týchto dvoch rokov bol každý server SSH so zraniteľnou verziou OpenSSL ohrozený.

Aby sme boli spravodliví, stalo sa to prakticky pred desiatimi rokmi a odvtedy bolo vydaných veľa vydaní, vylepšení, opráv chýb a recenzií kódu.

Mali by ste používať SSH alebo TELNET?

Je ťažké vymyslieť dôvod, prečo by ste dnes mali používať TELNET. To nie je to isté, ako povedať, či existuje nejaký scenár, v ktorom je bezpečné používať TELNET. V samostatnej sieti, ktorá nie je pripojená k vonkajšiemu svetu a ste si istí, že nikto nebude snímať paketové prenosy, môžete použiť TELNET. Ale nie je na to dôvod. Bezpečnostný kompromis nie je možné ospravedlniť.

SSH je bezpečnejšie a flexibilnejšie – to je výhoda používania SSH cez TELNET. Implementácia OpenSSH je bezplatná pre všetky použitia vrátane komerčného a je dostupná pre všetky populárne operačné systémy.