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.