Efter fyra mÄnaders utveckling slÀpp , 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. , utvecklad av alliansen . 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. , 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 in i kÀrnan libfido2-kompositionen, samt 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. 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 (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
