Protokol SSH

Tato stránka je o protokolu SSH. Společnost, která za ním stojí, najdete v části Zabezpečení komunikace SSH. Použití příkazu ssh v systému Linux naleznete v části Použití příkazu ssh. Klienty SSH, servery a technické informace naleznete na domovské stránce SSH (Secure Shell).

Protokol SSH (označovaný také jako Secure Shell) je metoda pro bezpečné vzdálené přihlášení z jednoho počítače do druhého. Poskytuje několik alternativních možností silného ověření a chrání bezpečnost a integritu komunikace pomocí silného šifrování. Je bezpečnou alternativou nechráněných přihlašovacích protokolů (např. telnet, rlogin) a nezabezpečených metod přenosu souborů (např. FTP).

Typická použití protokolu SSH

Protokol se používá v podnikových sítích pro:

  • zajišťování bezpečného přístupu uživatelů a automatizovaných procesů

  • interaktivní a automatizované přenosy souborů

  • vydávání vzdálených příkazů

  • správu síťové infrastruktury a dalších kritických součástí systému.

Jak funguje protokol SSH

Protokol pracuje v modelu klient-server, což znamená, že spojení navazuje klient SSH připojením k serveru SSH. Proces navázání spojení řídí klient SSH a k ověření identity serveru SSH používá kryptografii veřejných klíčů. Po fázi nastavení používá protokol SSH silné symetrické šifrování a hashovací algoritmy k zajištění soukromí a integrity dat vyměňovaných mezi klientem a serverem.

Následující obrázek představuje zjednodušený průběh nastavení zabezpečeného připojení shellu.

Silné ověřování pomocí klíčů SSH

Pro ověřování uživatele lze použít několik možností. Nejběžnějšími jsou hesla a ověřování pomocí veřejných klíčů.

Metoda ověřování pomocí veřejných klíčů se používá především pro automatizaci a někdy i správci systému pro jednotné přihlášení. Ukázalo se, že je mnohem rozšířenější, než jsme kdy předpokládali. Podstatou je mít k dispozici dvojici kryptografických klíčů – veřejný a soukromý klíč – a nakonfigurovat veřejný klíč na serveru tak, aby autorizoval přístup a umožnil přístup k serveru každému, kdo má kopii soukromého klíče. Klíče používané k ověřování se nazývají klíče SSH. Ověřování pomocí veřejného klíče se používá také u čipových karet, jako jsou karty CAC a PIV používané vládou USA.

Hlavním využitím ověřování pomocí klíče je umožnění bezpečné automatizace. Automatizované bezpečné přenosy souborů shellu se používají pro bezproblémovou integraci aplikací a také pro automatizovanou správu konfigurace systémů &.

Zjistili jsme, že velké organizace mají mnohem více klíčů SSH, než si představují, a správa klíčů SSH se stala velmi důležitou. Klíče SSH udělují přístup stejně jako uživatelská jména a hesla. Vyžadují podobné procesy poskytování a ukončování.

V některých případech jsme v zákaznických prostředích našli několik milionů klíčů SSH opravňujících k přístupu k produkčním serverům, přičemž 90 % klíčů bylo ve skutečnosti nepoužívaných a představovalo přístup, který byl poskytnut, ale nikdy nebyl ukončen. Zajištění správných zásad, procesů a auditů i pro používání SSH je pro správnou správu identit a přístupu klíčové. Tradiční projekty správy identit přehlížely až 90 % všech pověření tím, že ignorovaly klíče SSH. Poskytujeme služby a nástroje pro implementaci správy klíčů SSH.

SSH poskytuje silné šifrování a ochranu integrity

Po navázání spojení mezi klientem SSH a serverem jsou přenášená data šifrována podle parametrů dohodnutých v nastavení. Během vyjednávání se klient a server dohodnou na symetrickém šifrovacím algoritmu, který bude použit, a vygenerují šifrovací klíč, který bude použit. Provoz mezi komunikujícími stranami je chráněn standardními silnými šifrovacími algoritmy (například AES (Advanced Encryption Standard)) a protokol SSH obsahuje také mechanismus, který zajišťuje integritu přenášených dat pomocí standardních hashovacích algoritmů (například SHA-2 (Standard Hashing Algorithm)).

Standard SSH organizace IETF a podrobná technická dokumentace

Jádro protokolu

Když se protokol SSH stal populárním, předal jej Tatu Ylonen organizaci IETF ke standardizaci. Nyní se jedná o internetový standard, který je popsán v následujících dokumentech:

RFC 4251 – Architektura protokolu SSH (Secure Shell)RFC 4253 – Protokol transportní vrstvy SSH (Secure Shell)RFC 4252 – Protokol ověřování SSH (Secure Shell)RFC 4254 – Protokol připojení SSH (Secure Shell)

Protokol pro přenos souborů SFTP

Protokol SFTP (SSH File Transfer Protocol) je dnes pravděpodobně nejpoužívanějším protokolem pro bezpečný přenos souborů. Probíhá přes SSH a v současné době je zdokumentován v dokumentu draft-ietf-secsh-filexfer-02

Formát souboru s veřejným klíčem

Formát souboru s veřejným klíčem není formálním standardem (jedná se o informační dokument), ale mnoho implementací tento formát podporuje.RFC 4716 – The Secure Shell (SSH) Public Key File Format

Jak citovat SSH

Chcete-li citovat SSH ve vědecké práci, použijte následující postup:

Tatu Ylonen: SSH - Secure Login Connections over the Internet.Proceedings of the 6th USENIX Security Symposium, pp. 37-42,USENIX, 1996.