728b.gif

Architektura protokolu SSH – Jak to vlastně celé funguje

15.01.08 17:45 | Linux | autor: Longer (profil) | Čteno: 4449x |
Nic mocUjde toPrůměrDobréVýborné (Žádná hodnocení)

Open SSHV minulém článku jsme si popsali jak nainstalovat balík OpenSSH, během instalace došlo k automatickému spuštění démona sshd se základní konfigurací. To nám umožňuje bezpečné připojení k serveru s použitím uživatelského jména a hesla. V tomto pokračování si přiblížíme architekturu protokolu SSH a pokusíme se pochopit, k čemu jsou dobré jednotlivé podporované druhy ověřování.

Je více důvodů, proč je protokol SSH tak úspěšný a bezkonkurenční po tak dlouhou dobu. Nejvýznamnějším je od počátku dobře navržená struktura. Celý protokol je rozdělen na 3 vrstvy, které mezi sebou komunikují. Pokusím se dále jednotlivé vrstvy rozebrat teoreticky.

Transportní vrstva

tato vrstva se stará o počáteční výměnu klíčů a autentikaci, dále o kompresi a ověřování integrity dat. Poskytuje vyšší vrstvě rozhraní pro odesílání a přijímání 32,768 bajtových textových paketů. Transportní vrstva také hlídá regeneraci klíče, obvykle se tak děje po 1 hodině nebo po 1GB přenesených dat, podle toho která situace nastane dříve.

Ověřovací vrstva

tato vrstva zajišťuje autentikaci klientů a nabízí pro ni více možností. Je třeba si uvědomit, že samotnou autentikaci řídí SSH klient, ten se vás ptá na heslo, ne server. Server pouze odpovídá na autorizační požadavky klienta. Nejčastěji používané autorizační metody jsou následující:

  • password: Metoda přímého předání hesla serveru, umožňuje změnu hesla, metoda není implementována všemi programy.
  • publickey: Metoda přihlášení pomocí páru klíčů. Obvykle pomocí klíčů RSA a DSA. keyboard interactive: Mnohostranná metoda přihlášení, kdy server pošle klientovi více požadavků, na které vyžaduje správné odpovědi zadané uživatelem pomocí klávesnice. Nejčastěji používáno pro jednorázové přihlášení metodami, jako jsou S/Key nebo SecurID. Občas použito některými konfiguracemi OpenSSH, kdy je použit PAM jako poskytovatel autorizace pomocí hesla. Pro tento druh přihlášení je potřeba mít klienta, který ji podporuje (často je podporováno pouze přihlášení heslem).
  • GSSAPI: Tato metoda využívá rozšiřující mechanismy přihlašování. Těmi jsou nejčastěji Kerberos 5 a NTLM, ty poskytují single sign-on (SSO) přihlášení pro ssh sessions. Tyto metody přihlášení jsou v komerčním nasazení často z neznámého důvodu využívány s komerční verzí SSH, i přesto že OpenSSH má funkční implementaci GSSAPI a je opensource.

Vrstva spojení

Tato vrstva definuje koncept kanálů, požadavků kanálů a používání globálních požadavků, jejichž použití SSH nabízí. Jedno SSH spojení může hostovat více kanálů zároveň a každý z nich slouží zároveň pro oba směry přenosu dat. Požadavky kanálů jsou použity pro přenos mimopásmových dat, kterými jsou například změna velikosti terminálu, nebo exit kód procesu sshd na straně serveru. SSH klient vyžádá globálním požadavkem na straně serveru, aby mu byl přidělen předávací port. Standardní typy kanálů zahrnují:

  • Shell: pro terminálové shelly, SFTP a exec požadavky (zahrnující SCP přenosy)
  • Direct-tcpip: pro spojení předávaná klientem serveru
  • Forwarded-tcpip: pro spojení předávaná serverem klientovi

Tato otevřená architektura nabízí významnou flexibilitu, která předurčuje SSH k použití v mnoha nasazeních, nejen pro zabezpečený shell. Funkce transportní vrstvy samotné je velmi podobná k TLS (transport layer security). Vrstva přihlášení uživatelů je navržena pro snadné rozšíření vlastními autorizačními metodami. A vrstva spojení nabízí možnost použití více podružných sessions do jednoho SSH spojení, vlastnost srovnatelná s BEEP (Blocks Extensible Exchange protocol), kterou však TLS nenabízí.

Toť vše ke struktuře protokolu SSH, v následujícím článku se naučíme, jak nastavit SSH server pro přihlášení pomocí hesla a pomocí dvou bezpečnostních klíčů. Popíšeme si všechny direktivy k tomu potřebné, přeložil jsem pro vás jejich popis z anglické dokumentace. Česká není na internetu zatím dostupná. Tak snad se máte na co těšit.

336b.gif

Líbil se ti tento článek? Ukaž ho i ostatním! Pro snadné přidání odkazu na Facebook, Linkuj.cz nebo Twitter klikni na jednu z ikonek výše a nech další, ať si článek také přečtou.

Zanechat odpověď