Release av OpenSSH 8.2 med stöd för FIDO/U2F tvÄfaktorsautentiseringstoken

Efter fyra mÄnaders utveckling presenteras slÀpp OpenSSH 8.2, en öppen klient- och serverimplementering för att arbeta via SSH 2.0- och SFTP-protokollen.

En viktig förbÀttring i OpenSSH 8.2-versionen Àr möjligheten att anvÀnda tvÄfaktorsautentisering med enheter som stöder protokollet. U2F, utvecklad av alliansen FIDO. U2F möjliggör skapandet av billiga hÄrdvarutokens för att verifiera den fysiska nÀrvaron av en anvÀndare, som interagerar med vilken utförs via USB, Bluetooth eller NFC. SÄdana enheter marknadsförs som ett sÀtt för tvÄfaktorsautentisering pÄ webbplatser, stöds redan av stora webblÀsare och Àr tillgÀngliga frÄn en mÀngd olika tillverkare, inklusive Yubico, Feitian, Thetis och Kensington.

För att interagera med enheter som bekrÀftar anvÀndarens nÀrvaro har OpenSSH lagt till nya nyckeltyper "ecdsa-sk" och "ed25519-sk" som anvÀnder ECDSA och Ed25519 digitala signaturalgoritmer, kombinerat med SHA-256 hash. Procedurerna för att interagera med tokens flyttas till ett mellanliggande bibliotek, som laddas pÄ samma sÀtt som biblioteket för att stödja PKCS#11 och Àr ett omslag runt biblioteket. libfido2, som ger möjlighet att kommunicera med tokens via USB (protokollen FIDO U2F/CTAP 1 och FIDO 2.0/CTAP 2 stöds). Det mellanliggande biblioteket libsk-libfido2 framstÀllt av OpenSSH-utvecklarna ingÄr in i kÀrnan libfido2-kompositionen, samt HID-drivrutin för OpenBSD.

För att autentisera och generera en nyckel mĂ„ste du ange parametern "SecurityKeyProvider" i instĂ€llningarna eller stĂ€lla in miljövariabeln SSH_SK_PROVIDER och ange sökvĂ€gen till det externa biblioteket libsk-libfido2.so (exportera SSH_SK_PROVIDER=/path/to/libsk-libfido2.so). Det Ă€r möjligt att bygga openssh med inbyggt stöd för mellanbiblioteket (—with-security-key-builtin), i det hĂ€r fallet Ă€r det nödvĂ€ndigt att stĂ€lla in parametern "SecurityKeyProvider=internal".
DÀrefter mÄste du köra "ssh-keygen -t ecdsa-sk" eller, om nycklarna redan har skapats och konfigurerats, ansluta till servern med "ssh". NÀr du kör ssh-keygen kommer det genererade nyckelparet att sparas i "~/.ssh/id_ecdsa_sk" och kan anvÀndas som andra nycklar.

Den publika nyckeln (id_ecdsa_sk.pub) ska kopieras till servern i filen authorized_keys. PÄ serversidan kontrolleras endast den digitala signaturen och interaktion med tokens utförs pÄ klientsidan (servern behöver inte installera libsk-libfido2, men servern mÄste stödja nyckeltypen "ecdsa-sk"). Den genererade privata nyckeln (id_ecdsa_sk) Àr i huvudsak en nyckelbeskrivning som bildar en riktig nyckel endast nÀr den kombineras med den hemliga sekvensen lagrad pÄ U2F-tokensidan. Om id_ecdsa_sk-nyckeln hamnar i hÀnderna pÄ en angripare, för att passera autentisering, mÄste han ocksÄ fÄ tillgÄng till en hÄrdvarutoken, utan vilken den privata nyckeln som sparats i filen id_ecdsa_sk Àr vÀrdelös.

Dessutom, som standard, krÀver alla nyckeloperationer (bÄde generering och autentisering) lokal bekrÀftelse av anvÀndarens fysiska nÀrvaro, som att röra en sensor pÄ en token, vilket gör det svÄrt att utföra fjÀrrattacker pÄ system med en ansluten token. Som en annan försvarslinje kan ett lösenord för att komma Ät nyckelfilen ocksÄ anges vid ssh-keygen-startstadiet.

Den nya versionen av OpenSSH meddelade ocksÄ den kommande utfasningen av algoritmer som anvÀnder SHA-1-hashar p.g.a. befordran effektiviteten av kollisionsattacker med ett givet prefix (kostnaden för att vÀlja en kollision uppskattas till cirka 45 tusen dollar). I en av de kommande utgÄvorna planerar de att som standard inaktivera möjligheten att anvÀnda den digitala signaturalgoritmen för publik nyckel "ssh-rsa", som nÀmns i den ursprungliga RFC för SSH-protokollet och som fortfarande Àr utbredd i praktiken (för att testa anvÀndningen av ssh-rsa i dina system, kan du försöka ansluta via ssh med alternativet "-oHostKeyAlgorithms=-ssh-rsa").

För att smidiga övergÄngen till nya algoritmer i OpenSSH, i en framtida version kommer UpdateHostKeys-instÀllningen att vara aktiverad som standard, vilket automatiskt kommer att migrera klienter till mer pÄlitliga algoritmer. Rekommenderade algoritmer för migrering inkluderar rsa-sha2-256/512 baserad pÄ RFC8332 RSA SHA-2 (stöds sedan OpenSSH 7.2 och anvÀnds som standard), ssh-ed25519 (stöds sedan OpenSSH 6.5) och ecdsa-sha2-nistp256/384 baserat pÄ RFC521 ECDSA (stöds sedan OpenSSH 5656).

I OpenSSH 8.2 Àr möjligheten att ansluta med "ssh-rsa" fortfarande tillgÀnglig, men denna algoritm har tagits bort frÄn CASignatureAlgorithms-listan, som definierar de algoritmer som Àr tillÄtna för digital signering av nya certifikat. PÄ liknande sÀtt har diffie-hellman-group14-sha1-algoritmen tagits bort frÄn de standardstödda nyckelutbytesalgoritmerna. Det noteras att anvÀndning av SHA-1 i certifikat Àr förknippad med ytterligare risk, eftersom angriparen har obegrÀnsad tid pÄ sig att hitta en kollision för ett befintligt certifikat, medan attacktiden pÄ vÀrdnycklar begrÀnsas av anslutningstiden (LoginGraceTime).

NÀr du kör ssh-keygen anvÀnds rsa-sha2-512-algoritmen, som stöds sedan OpenSSH 7.2, nu som standard, vilket kan skapa kompatibilitetsproblem nÀr du försöker bearbeta OpenSSH 8.2-signerade certifikat pÄ system med Àldre OpenSSH-utgÄvor (för att komma runt problemet kan du uttryckligen ange "ssh-keygen" eller anvÀnd signaturen -sa. ecdsa-sha2-nistp256/384/521 algoritmer som stöds sedan OpenSSH 5.7).

Andra Àndringar:

  • Inkludera-direktivet har lagts till i sshd_config, vilket gör att innehĂ„llet i andra filer kan inkluderas i den aktuella positionen för konfigurationsfilen (globmasker kan anvĂ€ndas nĂ€r filnamnet specificeras);
  • Alternativet 'no-touch-required' har lagts till i ssh-keygen, vilket inaktiverar behovet av fysisk bekrĂ€ftelse av Ă„tkomst till token nĂ€r en nyckel genereras;
  • Ett PubkeyAuthOptions-direktiv har lagts till i sshd_config för att gruppera olika alternativ relaterade till autentisering med publik nyckel. För nĂ€rvarande stöds endast flaggan "no-touch-required" för att hoppa över den fysiska nĂ€rvarokontrollen vid auktorisering med en token. I analogi har alternativet "no-touch-required" lagts till i filen authorized_keys;
  • Lade till alternativet "-O write-attestation=/path" till ssh-keygen för att tillĂ„ta skrivning av ytterligare FIDO-attestationscertifikat vid generering av nycklar. OpenSSH anvĂ€nder för nĂ€rvarande inte dessa certifikat, men de kan anvĂ€ndas i framtiden för att verifiera att nyckeln Ă€r lagrad i en betrodd hĂ„rdvarulagring;
  • I ssh- och sshd-instĂ€llningarna Ă€r det nu möjligt att stĂ€lla in trafikprioriteringslĂ€get via IPQoS-direktivet LE DSCP (LĂ€gre anstrĂ€ngning per hop-beteende);
  • I ssh, nĂ€r du stĂ€ller in "AddKeysToAgent=yes", om en nyckel inte innehĂ„ller ett kommentarsfĂ€lt, kommer den att lĂ€ggas till i ssh-agent med sökvĂ€gen till nyckeln specificerad som en kommentar. I
    ssh-keygen och ssh-agent anvÀnder nu ocksÄ PKCS#11-etiketter och X.509-Àmnesnamn som kommentarer i nyckeln istÀllet för bibliotekssökvÀgen;
  • Lagt till möjlighet att exportera PEM för DSA- och ECDSA-nycklar till ssh-keygen;
  • Lade till ny körbar ssh-sk-helper som anvĂ€nds för att isolera FIDO/U2F-tokenĂ„tkomstbiblioteket;
  • Lade till "--with-zlib" byggalternativ till ssh och sshd för att kompilera med zlib-biblioteksstöd;
  • I enlighet med RFC4253 visar bannern som visas vid anslutning nu en varning om att Ă„tkomst blockeras pĂ„ grund av att MaxStartups-grĂ€nserna överskrids. För att förenkla diagnostiken visar sshd-processhuvudet, som Ă€r synligt nĂ€r du anvĂ€nder ps-verktyget, nu antalet för nĂ€rvarande autentiserade anslutningar och MaxStartups grĂ€nsstatus;
  • I ssh och ssh-agent, nĂ€r ett program anropas för att visa en prompt pĂ„ skĂ€rmen, specificerad via $SSH_ASKPASS, skickas nu dessutom en flagga med prompttypen: "confirm" - bekrĂ€ftelsedialogruta (ja/nej), "ingen" - informationsmeddelande, "tom" - lösenordsbegĂ€ran;
  • En ny digital signaturoperation "find-principals" har lagts till i ssh-keygen för att söka i filen för tillĂ„tna undertecknare efter anvĂ€ndaren som Ă€r associerad med den specificerade digitala signaturen;
  • FörbĂ€ttrat stöd för isolering av sshd-processer i Linux med hjĂ€lp av seccomp-mekanismen: IPC-systemanrop Ă€r inaktiverade, clock_gettime64(), clock_nanosleep_time64 och clock_nanosleep() Ă€r tillĂ„tna.

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster