Protokol TELNET Schéma funkčních modulů komunikace protokolem TELNET Telnet klient Telnet server login shell terminal driver Operační systém TCP/IP TCP spojení TCP/IP Pseudo terminal driver Operační systém 1
TELNET RFC 854 Zajistí dvousměrný osmibitový komunikační kanál pro procesy terminálově orientované Vytváří TCP spojení pro přenos řídících informací a uživatelských dat (proud znaků) well-known port 23 Principy: Protokol TELNET NVT (Network VirtualTerminal) je imaginární zařízení vytvořené po ustavení TCP spojení - společný síťový terminál komunikujících stran NVT -znakové zařízení I/O s klávesnicí (pro vstup znaků) a tiskárnou (pro výstup znaků ) -na vzdáleném terminálu je virtuální tiskárna implementována zobrazovací jednotkou 2
Protokol TELNET Vyjednání podmínek komunikace mezi stranami rozšíření povinného minima definovaného v NVT Symetrie vyjednávání podmínek mezi klientem a serverem obě strany musí vyjednané podmínky akceptovat Příklad voleb: Echo Typ terminálu (např. vt100) Rychlost terminálu (rychlost přenosu bitů) Řádkový nebo znakový režim Geometrie okna (počet řádků a sloupců) 3
4
Princip virtuálních terminálů NVT NVT Keyboard Keyboard Printer Printer Server Mapování do lokální sady Příkazy TELNET TCP spojení 5
Protokol TELNET Příkazy protokolu TELNET, které následují prefix IAC (Interpret as Command) kód 255 (0xFF) Příklad (sekvence pro kontrolu kompatibility): Klient: <IAC><AYT> Are you there? Server: `Y` `E` `S` Příkazy <SB> <SE> -začátek a konec výměny hodnot vyjednávaných podmínek 6
Název Kód Popis funkce EOF 236 End-of-File SUSP 237 Pozastavení probíhajícího procesu Abort 238 Ukončení procesu EOR 239 End-of-Record SE 240 Konec nastavení voleb NOP 241 Nulová operace DM 242 Vyznačení dat BRK 243 Konec IP 244 Přerušení procesu AO 245 Ukončení výstupu 7
Název Kód Popis funkce AYT 246 Jsi tam? EC 247 Výmaz znaku EL 248 Výmaz řádku GA 249 Pokračuj SB 250 Začátek nastavení voleb WILL 251 WONT 252 DO 253 DONT 254 Vyjednávání podmínek komunikace IAC 255 Následuje příkaz 8
Řídící znaky ASCII Název Kód Popis funkce NULL 0 BELL 7 Zvukový signál BS 8 Znak zpět HT 9 Horizontální tabelátor LF 10 Nový řádek VT 11 Vertikální tabelátor FF 12 O stránku vpřed CR 13 Návrat vozu Rozložení znaků: 0 31 řídící znaky 32 126 běžné znaky 128 255 příkazy TELNET 9
Protokol TELNET Výměna podmínek komunikace Odesilatel: IAC,<type of operation>,<option> Příjemce: IAC,<type of operation>,<option> Typ operace DO, DONT, WILL, WONT Číselné kódy některých voleb: 1 Echo 24 Typ terminálu 32 Rychlost terminálu 34 Řádkový režim 36 Proměnné prostředí 10
Šest scénářů pro vyjednávání voleb (podmínek komunikace) protokolu TELNET SenderReceiver Popis děj WILL X WILL X DO X DO X DO X DONT X sender vyžaduje souhlas s nastavením volby receiver souhlas sender vyžaduje souhlas s nastavením volby receiver nesouhlasí sender vyžaduje, aby receiver nastavil volbu WILL X receiver souhlasí sender vyžaduje, aby receiver nastavil volbu WONT X receiver nesouhlasí WONT X DONT X sender chce zrušit nastavení volby DONT X receiver musí souhlasit sender chce, aby receiver zrušil nastavení volby WONT X receiver musí souhlasit 11
12
Protokol TELNET Příklad vyjednání podmínky -nastavení typu terminálu Klient 255(IAC),251(WILL),24 Server 255(IAC),253(DO),24 Výzva k nastavení hodnoty podmínky (tj. typu terminálu) Server 255(IAC),250(SB),24,1,255(IAC),240(SE) Klient 255(IAC),250(SB),24,0,'V','T','2','2','0',255(IAC),2 40(SE) Indikace nastavení hodnoty podmínky (tj. typu terminálu) 13
Zabezpečené relace řešení SSH Bezpečnostní problém relace Telnet SSH (Secure Shell) obecné označení pro protokoly i SW produkty Protokoly SSH-1.3, SSH-1.5, SSH-2 Klient server probíhá v zabezpečeném TCP spojení Šifrování symetrická a asymetrická šifra Kryptografická kontrola integrity přenášených dat 14
Zabezpečené relace řešení SSH Bezpečnostní záruky protokolu SSH důvěrnost dat integrita dat autentizace obou komunikujících stran autorizovaný přístup k uživatelským účtům přesměrování spojení (port forwarding), zapouzdření jiného protokolu (tunneling) A klient SSH přímé spojení přesměrované spojení server SSH B 15
Zabezpečené relace řešení SSH Architektura protokolu SSH-2 - protokol modulární (SSH-1 je monolitický) - RFC 4251 Aplikace Connection Protocol (SSH-CONN) specifikace přenosového kanálu pro různé síťové služby Authentication Protocol (SSH-AUTH) Transport Protocol (SSH-TRANS) TCP IP vlastní autentizace uživatele zahájení spojení, dělení dat do paketů, zajistí autentizaci serveru a základní služby šifrování a kontrola integrity 16
Zabezpečené relace řešení SSH Bezpečnostní aspekty SSH volba a dojednání algoritmů generování a výměna klíčů (varianty používaných klíčů: klíč uživatele, klíč hostitele, klíč relace) vazba mezi klíčem a identitou metoda certifikace veřejných klíčů, správa veřejných klíčů typ a postup autentizace kontrola integrity Implementace SSH sshd( naslouchá na portu 22) -server ssh, scp -klienti 17
Zabezpečené relace řešení SSH Zprávy SSH (záhlaví určuje typ zprávy, SSH definuje vlastní jazyk pro popis dat zpráv) data služebních protokolů (režijní data) aplikační data Datové pakety komprimace výpočet výtahu záhlaví + výplň šifrování záhlaví záhlaví DATA Komprimovaná DATA výtah Komprimovaná DATA výtah výplň Komprimovaná DATA výtah výplň 18
Kryptografické algoritmy Symetrické Asymetrické Hash funkce 19
Diffie Hellman algoritmus pro výměnu tajného klíče 20