Nedávno se stalo známým oficiální spuštění první experimentální verze serveru a klienta pro Protokol SSH3 navržený jako doplněk protokolu HTTP3 a který používá QUIC (založené na UDP), TLS 1.3, který využívá mechanismy HTTP pro autentizaci uživatelů a také pro vytvoření zabezpečeného komunikačního kanálu
SSH3 využívá autorizační mechanismy založené na protokolu HTTP, které kromě klasické autentizace pomocí hesla a páru klíčů umožňují nové autentizační metody, navíc v SSH3 můžete nakonfigurovat přístup ke vzdálenému serveru přes poskytovatele identity organizace nebo pomocí Google účtu či GitHubu. SSH3 je založen na HTTP/3 a QUIC a kromě běžného přesměrování TCP nabízí také přesměrování portů UDP a rychlejší a bezpečnější vytvoření relace.
O SSH3
Vývojáři projektu zmiňují, že vytvoření SSH3 vznikly jako výsledek kompletní revize protokolu SSH, prováděné nezávislou skupinou výzkumníků oddělených od týmů pracujících na projektech jako OpenSSH a dalších implementacích klasického protokolu SSH. v SSH3, sémantika klasického protokolu SSH je implementována prostřednictvím mechanismů HTTP, což nejenže umožňuje další funkce, ale také zajišťuje, že aktivity související s SSH jsou skryty mezi jiným provozem, mimo jiné, SSH3 umožňuje následující vylepšení oproti protokolu SSH2 nemohl poskytnout, stejně jako mnoho oblíbených funkcí OpenSSH:
- Výrazně rychlejší vytvoření relace
- Nové metody ověřování HTTP, jako je OAuth 2.0 a OpenID Connect, kromě klasické autentizace SSH.
- Analýza ~/.ssh/authorized_keys na serveru.
Analyzuje ~/.ssh/config na klientovi a zpracovává možnosti Hostname, User a Portconfig IdentityFile (ostatní možnosti jsou aktuálně ignorovány)
Ověření serveru na základě certifikátu - Odolnost proti útokům skenování portů: váš server SSH3 se může stát neviditelným pro ostatní uživatele internetu
- Přesměrování portů UDP – Nyní můžete přistupovat ke svému QUIC, DNS, RTP nebo jakémukoli serveru založenému na UDP, ke kterému lze přistupovat pouze z vašeho hostitele SSH3.
- Certifikáty X.509: Nyní můžete k ověření svého serveru SSH3 použít své klasické certifikáty HTTPS. Tento mechanismus je bezpečnější než klasický mechanismus hostitelského klíče SSHv2.
- Schopnost skrýt server za tajný odkaz.
- Všechny funkce povolené moderním protokolem QUIC: včetně migrace připojení a vícecestných připojení
- Automaticky používat ověřování pomocí veřejného klíče ssh-agent
- Přesměrování agenta SSH k použití místních klíčů na vzdáleném serveru
- Zabezpečte bezklíčové ověřování uživatelů pomocí OpenID Connect.
Pro šifrování komunikačního kanálu používá SSH3 protokol TLS 1.3 a lze použít tradiční metody založené na heslech a veřejných klíčích (RSA a EdDSA/ed25519). SSH3 navíc nabízí možnost použití metod založených na protokolu OAuth 2.0, což umožňuje přenos autentizace na externí poskytovatele.
Další z nich Silnou stránkou SSH3 je, že nabízí výrazně rychlejší vytvoření relace než SSH2, Například vytvoření nové relace s SSH2 může trvat 5 až 7 iterací sítě (zpáteční cesta), čehož si uživatel může snadno všimnout, protože SSH3 potřebuje pouze 3 iterace.
Pokud se o tom chcete dozvědět více, měli byste vědět, že klient a server jsou napsány v Go a distribuovány pod licencí Apache 2.0, podrobnosti si můžete prohlédnout Na následujícím odkazu.
Kromě toho stojí za zmínku, že SSH3 je stále experimentální a jeho použití se nedoporučuje pro produkční nebo kritická prostředí a jako takový je jeho instalace doporučena pouze pro seznámení se s jeho funkcemi nebo pro možnost testování.
Stáhněte a nainstalujte SSH3
pro zájem o možnost implementovat server SSH3 pro testování, Můžete to provést kompilací zdrojového kódu pomocí Go podle pokynů, které sdílíme níže.
git clone https://github.com/francoismichel/ssh3 cd ssh3 go build -o ssh3 cmd/ssh3/main.go CGO_ENABLED=1 go build -o ssh3-server cmd/ssh3-server/main.go
Jakmile je toto hotovo, přistoupíme nyní k přidání naší proměnné prostředí do .bashrc s:
export PATH=$PATH:/path/to/the/ssh3/directory
Pokud jde o implementaci serveru, protože SSH3 běží přes HTTP3, je nutný certifikát, který lze vygenerovat pomocí skriptu:
sh ./generate_openssl_selfsigned_certificate.sh
Nakonec vás vyzývám k nahlédnutí do dokumentace o použití a implementaci doplňkových funkcí v následující odkaz.