SSH3, en säker version av SSH som använder HTTP3

Ssh3

SSH3: Snabbare, rikare säkert skal med HTTP/3

Nyligen blev känd den officiella lanseringen av den första experimentella versionen av servern och klienten för SSH3-protokollet utformat som ett komplement till HTTP3-protokollet och som använder QUIC (baserat på UDP), TLS 1.3 som drar fördel av HTTP-mekanismer för användarautentisering, samt för att etablera en säker kommunikationskanal

Ssh3 använder auktoriseringsmekanismer baserade på HTTP-protokollet, som tillåter nya autentiseringsmetoder, förutom klassisk autentisering med ett lösenord och ett nyckelpar, plus i SSH3 kan du konfigurera åtkomst till en fjärrserver genom en organisations identitetsleverantör eller med ett Google-konto eller GitHub. SSH3 är baserat på HTTP/3 och QUIC och erbjuder, förutom normal TCP-vidarebefordran, även UDP-portvidarebefordran och snabbare, säkrare sessionsetablering.

Om SSH3

Projektutvecklarna nämner att skapandet av SSH3 uppstod som ett resultat av en fullständig genomgång av SSH-protokollet, utförd av en oberoende grupp forskare skild från de team som arbetar med projekt som OpenSSH och andra implementeringar av det klassiska SSH-protokollet. I SSH3, semantiken för det klassiska SSH-protokollet implementeras genom HTTP-mekanismer, vilket inte bara möjliggör ytterligare möjligheter, utan också ser till att SSH-relaterade aktiviteter döljs bland annan trafik, bl.a. SSH3 tillåter följande förbättringar jämfört med SSH2-protokollet kunde inte tillhandahålla, liksom många av de populära OpenSSH-funktionerna:

  • Betydligt snabbare sessionsetablering
  • Nya HTTP-autentiseringsmetoder, som OAuth 2.0 och OpenID Connect, förutom klassisk SSH-autentisering.
  • Parsar ~/.ssh/authorized_keys på servern.
    Parsar ~/.ssh/config på klienten och hanterar alternativen Hostname, User och Portconfig IdentityFile (de andra alternativen ignoreras för närvarande)
    Certifikatbaserad serverautentisering
  • Robusthet mot portskanningsattacker: din SSH3-server kan bli osynlig för andra Internetanvändare
  • UDP Port Forwarding – Du kan nu komma åt din QUIC, DNS, RTP eller vilken UDP-baserad server som helst som endast kan nås från din SSH3-värd.
  • X.509-certifikat: Du kan nu använda dina klassiska HTTPS-certifikat för att autentisera din SSH3-server. Denna mekanism är säkrare än den klassiska SSHv2-värdnyckelmekanismen.
  • Möjlighet att gömma servern bakom en hemlig länk.
  • Alla funktioner aktiverade av det moderna QUIC-protokollet: inklusive anslutningsmigrering och flervägsanslutningar
  • Använd automatiskt ssh-agent autentisering med publik nyckel
  • Vidarebefordran av SSH-agent för att använda dina lokala nycklar på din fjärrserver
  • Säker nyckellös användarautentisering med OpenID Connect.

För att kryptera kommunikationskanalen använder SSH3 TLS 1.3-protokollet och traditionella metoder baserade på lösenord och publika nycklar (RSA och EdDSA/ed25519) kan användas. Dessutom erbjuder SSH3 möjligheten att använda metoder baserade på OAuth 2.0-protokollet, vilket gör att autentisering kan överföras till externa leverantörer.

En annan av SSH3s styrkor är att den erbjuder betydligt snabbare sessionsetablering än SSH2, Att till exempel etablera en ny session med SSH2 kan ta 5 till 7 nätverksiterationer (tur och retur), vilket användaren lätt kan märka eftersom SSH3 bara behöver 3 iterationer.

Om du är intresserad av att lära dig mer om det bör du veta att klienten och servern är skrivna i Go och distribueras under Apache 2.0-licensen, du kan konsultera detaljerna I följande länk.

Dessutom är det värt att nämna att SSH3 fortfarande är experimentell och dess användning rekommenderas inte för produktion eller kritiska miljöer och som sådan rekommenderas dess installation endast för att lära sig om dess funktionalitet eller för att kunna testa.

Ladda ner och installera SSH3

För intresserad av att kunna implementera en SSH3-server för testning, Du kan göra detta genom att kompilera källkoden med Go genom att följa instruktionerna vi delar nedan.

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

När detta är gjort fortsätter vi nu att lägga till vår miljövariabel i .bashrc med:

export PATH=$PATH:/path/to/the/ssh3/directory

När det gäller implementeringen av servern, eftersom SSH3 körs över HTTP3, är ett certifikat nödvändigt och ett kan genereras med skriptet:

sh ./generate_openssl_selfsigned_certificate.sh

Slutligen inbjuder jag dig att konsultera dokumentationen om användning och implementering av ytterligare funktioner i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.