PÀrast nelja kuu arendustööd vÀljalase , avatud realiseerimisega kliendi ja serveri jaoks, et töötada SSH 2.0 ja SFTP protokollide kaudu.
OpenSSH 8.2 vĂ€ljaande peamine tĂ€iustus on vĂ”imalus kasutada kahefaktorilist autentimist seadmete abil, mis toetavad protokolli , mida arendab ĂŒhendus . U2F vĂ”imaldab luua odavaid riistvaralisi tokeneid, et kinnitada kasutaja fĂŒĂŒsilist kohalolekut, millega suhtlemine toimub lĂ€bi USB, Bluetooth vĂ”i NFC. Selliseid seadmeid propageeritakse kahefaktorilise autentimise meetodina veebisaitidel, need on juba toetatud peamistes brauserites ning neid toodavad erinevad tootjad, sealhulgas Yubico, Feitian, Thetis ja Kensington.
Kasutaja kohaloleku kinnitamise seadmete toetamiseks on OpenSSH-sse lisatud uued vĂ”tme tĂŒĂŒbid «ecdsa-sk» ja «ed25519-sk», milles kasutatakse ECDSA ja Ed25519 digitaalse allkirja algoritme, koos SHA-256 rĂ€si kasutamisega. Tokeneid puudutavad toimingud on eraldatud vahepealsele teegile, mis laaditakse sarnaselt PKCS#11 toe teegiga ning toimib teekide , mis kommunikatsioonivahendeid USB-ĂŒlese tokenite jaoks (tugineb protokollidele FIDO U2F/CTAP 1 ja FIDO 2.0/CTAP 2). OpenSSH arendajate poolt ette valmistatud vahemoodul libsk-libfido2 libfido2 pĂ”hikomponentidesse, nagu ka OpenBSD jaoks.
Autentimiseks ja vĂ”tme genereerimiseks tuleb seadistustes mÀÀrata parameeter «SecurityKeyProvider» vĂ”i seadistada keskkonnamuutuja SSH_SK_PROVIDER, mÀÀrates tee vĂ€lise raamatukogu libsk-libfido2.so (export SSH_SK_PROVIDER=/path/to/libsk-libfido2.so). On vĂ”imalik koostada openssh koos sisseehitatud toega vahemoodulile (âwith-security-key-builtin), sel juhul tuleb mÀÀrata parameeter «SecurityKeyProvider=internal».
SeejĂ€rel tuleb kĂ€ivitada «ssh-keygen -t ecdsa-sk» vĂ”i, kui vĂ”tmed on juba loodud ja seadistatud, ĂŒhenduda serveriga «ssh» abil. KĂ€ivitades ssh-keygen, salvestatakse loodud vĂ”tmepaar «~/.ssh/id_ecdsa_sk» ja seda saab kasutada nagu teisi vĂ”tmeid.
AvaĂ€mĂ€rgi (id_ecdsa_sk.pub) tuleks kopeerida serverisse faili authorized_keys. Serveris kontrollitakse ainult digitaalse allkirja kehtivust, samas kui suhtlus tokenite kaudu toimub kliendi poolel (serveris ei pea installima libsk-libfido2, kuid server peab toetama vĂ”tme tĂŒĂŒpi âecdsa-skâ). Genereeritud privaatvĂ”ti (id_ecdsa_sk) on sisuliselt vĂ”tme descriptor, mis loob reaalse vĂ”tme ainult koos U2F tokenil salvestatud salajase jĂ€rjestusega. Kui id_ecdsa_sk vĂ”ti satub rĂŒndaja kĂ€tte, siis vajab ta autentimise lĂ€biviimiseks ka juurdepÀÀsu riistvaralist tokenit, ilma milleta on failis id_ecdsa_sk salvestatud privaatvĂ”ti kasutuks.
Lisaks on vaikimisi kĂ”ikide vĂ”tmekĂ€ikude (nii genereerimisel kui autentimisel) jaoks vajalik kasutaja kohaloleku fĂŒĂŒsiline kinnitamine, nĂ€iteks pakkuda sĂ”rmeanduri puudutamist vĂ”tmevahel, mis raskendab kaugrĂŒnnakute tegemist sĂŒsteemidesse, kus on ĂŒhendatud vĂ”tmevahe. Veel ĂŒhe kaitsesuuna loomisel ssh-keygen'i kĂ€ivitamise etapis vĂ”ib ka mÀÀrata parooli vĂ”tmefaili juurdepÀÀsu jaoks.
Uues OpenSSH versioonis on samuti kuulutatud, et SHA-1 hash'i kasutavad algoritmid viiakse peagi vananenud algoritmide hulka. (kolletsiooni genereerimise hind on umbes 45 tuhat dollarit). Ăhes jĂ€rgmises vĂ€ljaandes plaanitakse vaikelena vĂ€lja lĂŒlitada digitaalsete allkirjade algoritmi "ssh-rsa" kasutamine, mis mainitakse SSH protokolli originaalses RFC-s ja on praktikas endiselt laialdaselt levinud (ssh-rsa kontrollimiseks oma sĂŒsteemides saab proovida ssh-ga ĂŒhendust, kasutades valikut "-oHostKeyAlgorithms=-ssh-rsa").
OpenSSH jĂ€rgmistes vĂ€ljalasketes muudetakse vaikimisi seade nimega UpdateHostKeys, mis vĂ”imaldab automaatselt viia kliendid ĂŒle usaldusvÀÀrsematele algoritmidele, et sujuvamaks muuta ĂŒleminek uutele algoritmidele. Soovitatavateks ĂŒlemineku algoritmideks on rsa-sha2-256/512, mis pĂ”hineb RFC8332 RSA SHA-2-l (toetatakse alates OpenSSH 7.2 ja kasutatakse vaikimisi), ssh-ed25519 (toetatakse alates OpenSSH 6.5), ja ecdsa-sha2-nistp256/384/521, mis pĂ”hineb RFC5656 ECDSA-l (toetatakse alates OpenSSH 5.7).
OpenSSH 8.2 versioonis on âssh-rsaâ kasutamise vĂ”imalus endiselt olemas, kuid see algoritm on eemaldatud CASignatureAlgorithms loendist, mis mÀÀratleb uute sertifikaatide digitaalallkirjastamiseks lubatud algoritmid. Samuti on vaikimisi toetatavate vĂ”tmevahetusalgoritmide seast eemaldatud algoritm diffie-hellman-group14-sha1. MĂ€rgitakse, et SHA-1 kasutamine sertifikaatides kaasneb tĂ€iendava riskiga, kuna rĂŒndajal on piiramatult aega olemasoleva sertifikaadi kollisiooni leidmiseks, samas kui rĂŒndeaeg hosti vĂ”tmete suhtes on piiratud ĂŒhenduse ajavahemikuga (LoginGraceTime).
ssh-keygen'i kasutamisel rakendatakse nĂŒĂŒd vaikimisi algoritmi rsa-sha2-512, mis on toetatud alates OpenSSH 7.2-st, mis vĂ”ib tekitada ĂŒhilduvusprobleeme, kui proovida töödelda OpenSSH 8.2-s kinnitatud sertifikaate vanemate OpenSSH versioonidega sĂŒsteemides (probleemi lahendamiseks allkirja genereerimisel saab selgelt mĂ€rkida âssh-keygen -t ssh-rsaâ vĂ”i kasutada algoritme ecdsa-sha2-nistp256/384/521, mis on toetatud alates OpenSSH 5.7-st).
Muud muudatused:
- sshd_config faili on lisatud Include direktiiv, mis vÔimaldab lisada teiste failide sisu praegusesse konfiguratsioonifaili (failinime mÀÀramisel on lubatud glob-maske);
- ssh-keygenis on lisatud valik âno-touch-requiredâ, mis keelab fĂŒĂŒsilise kinnituse nĂ”ude juurdepÀÀsuks tokenile vĂ”tme genereerimisel;
- sshd_config faili on lisatud direktiiv PubkeyAuthOptions, mis ĂŒhendab erinevad valikud, mis on seotud avaliku vĂ”tme autentimisega. Praegu toetatakse ainult lippu âno-touch-requiredâ, mis vĂ”imaldab kĂ”rvaldada fĂŒĂŒsilise kohaloleku kontrolli autoriseerimise ajal tokeni kaudu. Sarnane valik on lisatud ka authorized_keys faili âno-touch-requiredâ;
- ssh-keygenis on lisatud valik â-O write-attestation=/pathâ, mis vĂ”imaldab salvestada lisatud FIDO atesteerimise sertifikaate vĂ”tmete genereerimisel. OpenSSH ei kasuta neid sertifikaate praegu, kuid neid saab tulevikus kasutada vĂ”tme kontrollimiseks usaldusvÀÀrses riistvarakollektsioonis;
- ssh ja sshd seadetes on nĂŒĂŒd tramite IPQoS direktiivi kaudu vĂ”imalik seadistada liiklprioriteedi reĆŸiimi (Lower-Effort Per-Hop Behavior);
- ssh konfiguratsioonis, kui vÀÀrtuseks on seadistatud «AddKeysToAgent=yes», kui vĂ”tme kommentaarivĂ€li puudub, lisatakse see ssh-agentâisse ja kommentaarina kasutatakse vĂ”tme teed.
ssh-keygen ja ssh-agent kasutavad vĂ”tme kommentaarides nĂŒĂŒd ka PKCS#11 silte ja X.509 teema nime, mitte raamatukogu teed; - ssh-keygenisse on lisatud vĂ”imalus eksportida PEM formaati DSA ja ECDSA vĂ”tmete jaoks;
- Lisatud uus tÀidetav fail ssh-sk-helper, mida kasutatakse FIDO/U2F tokeni juurdepÀÀsu raamatukogu isoleerimiseks;
- ssh ja sshd on lisatud koostamisvalik «âwith-zlib», et kompileerida zlib raamatukogu toe jaoks;
- RFC4253 nĂ”uete kohaselt nĂ€idatakse ĂŒhenduse loomise banneris hoiatust, kui juurdepÀÀs on blokeeritud MaxStartups piiri ĂŒletamise tĂ”ttu. Diagnostika lihtsustamiseks kuvatakse sshd protsessi pĂ€ises, mida nĂ€idatakse ps utiliidi kasutamisel, autentitud ĂŒhenduste arvu ja MaxStartups piiri oleku.
- SSH ja ssh-agent'i puhul, kui kĂ€ivitatakse programm, mis kuvab kĂ€su kaudu $SSH_ASKPASS, edastatakse nĂŒĂŒd tĂ€iendav lipu tĂŒĂŒbi kohta: âconfirmâ â kinnitamise dialoog (jah/ei), ânoneâ â teavitusteade, âblankâ â paroolikinnitus.
- ssh-keygen'is on lisatud uus digitaalsete allkirjade toiming âfind-principalsâ, et otsida kasutaja allowed-signers failist, mis on seotud mÀÀratud digitaalse allkirjaga.
- Parandatud on sshd protsessi isolatsiooni tuge Linuxis seccomp mehhanismi abil: keelatud IPC sĂŒsteemikutsed, lubatud on clock_gettime64(), clock_nanosleep_time64 ja clock_nanosleep().
Allikas: opennet.ru
