Zabezpečení pomocí Telnet
Telnet (zkratka z Telecommunication Network) 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.
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.
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, switche nebo hubu umístěného na síti 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 několika běžných programů jako tcpdump a Wireshark. Většina implementací TELNETu postrádala jakékoliv ověřování, které by bylo schopno zajistit, aby nemohlo docházet k odposlouchávání. 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.
Tyto bezpečnostní nedostatky způsobily rapidní opouštění od použití telnetu, zvláště pak v internetu ve prospěch protokolu ssh, který byl poprvé uvolněn v roce 1995. SSH poskytovalo většinu funkcí telnetu a navíc silné šifrování, které bránilo v získávání hesel a veřejný klíč, který sloužil k ověření vzdáleného počítače.
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 (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.