Telnet

Telnet (zkratka z „teletype network“[1]) je v informatice označení protokolu používaného v počítačových sítích, který pomocí stejnojmenné aplikace umožňuje uživateli připojení ke vzdálenému počítači pomocí textového uživatelského rozhraní. Protože není přenášená komunikace šifrována, ustupuje se od jeho používání ve prospěch šifrovaného spojení nástrojem SSH. Nástroj telnet je možné použít pro ruční komunikaci otevřenými protokoly jako je SMTP, HTTP a podobně a je stále používán pro nastavování různých síťových zařízení (switch s managmentem, router, DSL modem a podobně).

Charakteristika

Protokol telnet pracuje na aplikační vrstvě používaný TCP/IP. Používá se v Internetu pro realizaci spojení typu klient–server protokolem TCP, přičemž přenáší osmibitové znaky oběma směry (duplexní spojení). Serverová část standardně naslouchá na portu číslo 23. Součástí protokolu je vyjednání nastavení určitých voleb důležitých pro vzájemnou komunikaci a řídící kódy používané v již navázaném spojení (podpora vzdáleného terminálu).

Program telnet

Telnet je též označení pro program, který realizoval komunikaci mezi dvěma počítači pomocí telnet protokolu. Program je dodnes součástí Microsoft Windows a unixových systémů. Dříve se používal (spolu s protokolem telnet) pro připojení ke vzdálenému počítači prostřednictvím počítačové sítě jako emulace terminálu, která poskytovala možnost práce uživatele na vzdáleném počítači v příkazovém řádku. Telnet tak byl nástupcem terminálů, ze kterých se uživatelé připojovali ke vzdálenému počítači pomocí sériové linky. Hlavní nevýhodou telnetu je absence šifrování přenášených dat, a proto dnes uživatelé místo telnetu používají protokol SSH.

V současné době se program telnet používá pro ruční komunikaci mezi počítačovými programy (například simulace připojení webového prohlížeče k webovému serveru, při simulaci SMTP protokolu pro přepravu elektronické pošty a podobně).

Základní služby Telnetu

V dokumentu RFC 854 jsou definovány tři základní služby:

  • Síťový virtuální terminál (NVT – Network Virtual Terminal), který poskytuje standardní rozhraní.
  • Vyjednávání klienta/serveru o nastavení určitých voleb
  • Symetrické zobrazení terminálu a procesů.

Síťový virtuální terminál zajišťuje průhlednost všech operací vůči uživateli. Nejsou zde rozdíly mezi jednotlivými komunikujícími zařízeními. Virtuální terminál poskytuje obecnou sadu příkazů pro všechny typy zařízení. Pro přenos využívá spolehlivé přenosové služby TCP, ale jen poloduplexním způsobem.

Definovaný formát NVT používá sedmibitový kód ASCII pro znaky a zobrazení. Díky tomu může Telnet operovat na různých operačních systémech. Klávesnice NVT generuje všech 128 kódů ASCII pomocí kláves, klávesových kombinací.

Příkazy Telnetu vyjednávání o volbách

Přestože obě komunikující strany předpokládají, že je protější strana vybavena NVT, proběhne nejdříve výměna údajů, ve které se obě strany dohodnou na určitých parametrech a volbách komunikace. Pokud jedna strana neumí použít danou volbu, požadavek zamítne. Strany však musí dodržet minimální standard NVT.

Existují čtyři možné požadavky:

  • WILL – odesílatel chce danou volbu zapnout
  • DO – odesílatel chce, aby příjemce danou volbu zapnul
  • WONT – odesílatel chce danou volbu vypnout
  • DONT – odesílatel chce, aby příjemce danou volbu vypnul

Lidé si občas pletou protokol telnet s programem telnet, který dokáže sloužit jako klient pro připojení na telnetový nebo jiný server používající plaintext TCP protokol.

Bezpečnost

Když byl telnet vyvinut v roce 1969, většina uživatelů počítačové sítě byla buď na univerzitách, ve vládě nebo ve velkých společnostech. Za této skutečnosti nebyla bezpečnost brána tak vážně jako po celosvětovém rozmachu Internetu. Jak se zvyšoval počet uživatelů internetu, rostl také počet těch, kteří se zkoušeli nabourat do serverů ostatních. Tím vzrostla potřeba šifrování.

Experti na počítačovou bezpečnost již nadále nedoporučovali použití telnetu pro vzdálený přístup k serverům pro následují důvody: Telnet standardně nešifroval žádná data odesílaná do internetu (včetně hesel), často se také dala komunikace přímo odposlouchávat a dále takto odposlechnutá hesla zneužít; kdokoliv kdo měl přístup do routeru, přepínače, hubu nebo jen ke kabeláži mezi dvěma zařízeními, kde byl telnet používán, mohl zachytit celou jejich komunikaci a získat tak hesla a vše co bylo napsáno použitím běžných programů. Standard TELNETu neobsahuje mechanismus pro ověření spojení o ten se začal objevovat nejprve jako pomocná vrstva kterou byl následně telnet přenášen už šifrovaný (například ssl). Většina běžně užívaných klientů telnetu měla několik zranitelných míst zjištěných v průběhu let.[zdroj?]

Tyto bezpečnostní nedostatky způsobily rapidní opouštění od použití samotného telnetu, zvláště pak v internetu ve prospěch protokolu ssh, který byl poprvé uvolněn v roce 1995. SSH poskytuje vlastní implementaci telnetu a silné šifrování, které podstatně snižuje možnost zachycení hesla. Podporuje také ověření pomocí certifikátů a mechanismu veřejných a privátních klíčů což umožňuje navíc ověřit identitu stroje před samotným přihlášením.

Jak se stalo u mnoha původních internetových protokolů, vznikla rozšíření, která telnetu dala TLS bezpečnost a SASL ověřování a snažila se opravit původní nedostatky. Stále však byly části protokolu, které tyto rozšíření nepodporovaly.

Využití pro ladění

Klientským programem telnetu se lze pro testovací účely připojit na jinou textově orientovanou službu Internetu. Lze tak například simulovat činnost webového prohlížeče – zadáním příkazu v příkazovém řádku (pozor na velikost písmen):

telnet cs.wikipedia.org 80
GET / HTTP/1.0
Host: cs.wikipedia.org

a stisknutím 2× Enter se pomocí HTTP protokolu provede nejprve připojení k webovému serveru a pak žádost o zobrazení hlavní stránky Wikipedie. Podobným jednoduchým postupem můžeme snadno v případě problémů zjistit, zda nějaká služba vůbec běží a zda alespoň v základních rysech funguje.

Související články

  • SSH – šifrovaný přenos v protokolu TCP/IP – o mnoho bezpečnější, než telnet

Externí odkazy

Reference