Nakon četiri mjeseca razvoja
Velike promjene:
- Sigurnosne promjene:
- U ssh-agentu, kada koristite FIDO ključeve koji nisu stvoreni za SSH autentifikaciju (ID ključa ne počinje nizom "ssh:"), sada provjerava hoće li poruka biti potpisana pomoću metoda koje se koriste u SSH protokolu. Promjena neće dopustiti preusmjeravanje ssh-agenta na udaljena računala koja imaju FIDO ključeve za blokiranje mogućnosti korištenja tih ključeva za generiranje potpisa za zahtjeve za web autentifikaciju (obrnuti slučaj, kada preglednik može potpisati SSH zahtjev, u početku je isključen zbog upotrebe prefiksa “ssh:” u identifikatoru ključa).
- Generiranje rezidentnog ključa ssh-keygena uključuje podršku za dodatak credProtect opisan u specifikaciji FIDO 2.1, koji pruža dodatnu zaštitu za ključeve zahtijevanjem PIN-a prije izvođenja bilo koje operacije koja bi mogla rezultirati izdvajanjem rezidentnog ključa iz tokena.
- Potencijalno kršenje promjena kompatibilnosti:
- Za podršku FIDO/U2F preporučuje se korištenje biblioteke libfido2 najmanje verzije 1.5.0. Mogućnost korištenja starijih izdanja je djelomično implementirana, ali u ovom slučaju funkcije kao što su rezidentni ključevi, PIN zahtjev i povezivanje više tokena neće biti dostupne.
- U ssh-keygenu, podaci autentifikatora potrebni za provjeru potvrđujućih digitalnih potpisa dodani su formatu potvrdnih informacija, po želji spremljenih prilikom generiranja FIDO ključa.
- API koji se koristi kada OpenSSH komunicira sa slojem za pristup FIDO tokenima je promijenjen.
- Prilikom izgradnje prijenosne verzije OpenSSH-a, automake je sada dužan generirati konfiguracijsku skriptu i prateće datoteke za izgradnju (ako se gradi iz objavljene kodne tar datoteke, ponovno generiranje konfiguracije nije potrebno).
- Dodana podrška za FIDO ključeve koji zahtijevaju provjeru PIN-a u ssh i ssh-keygen. Za generiranje ključeva s PIN-om, u ssh-keygen je dodana opcija “potrebna provjera”. Ako se koriste takvi ključevi, prije izvođenja operacije stvaranja potpisa, od korisnika se traži da potvrdi svoje radnje unosom PIN koda.
- U sshd-u, opcija “verify-required” implementirana je u postavci authorized_keys, koja zahtijeva upotrebu mogućnosti za provjeru prisutnosti korisnika tijekom operacija s tokenom. Standard FIDO nudi nekoliko opcija za takvu provjeru, ali trenutno OpenSSH podržava samo provjeru temeljenu na PIN-u.
- sshd i ssh-keygen dodali su podršku za provjeru digitalnih potpisa koji su u skladu sa standardom FIDO Webauthn, koji omogućuje korištenje FIDO ključeva u web preglednicima.
- U ssh u postavkama CertificateFile,
ControlPath, IdentityAgent, IdentityFile, LocalForward i
RemoteForward dopušta zamjenu vrijednosti iz varijabli okruženja navedenih u formatu "${ENV}". - ssh i ssh-agent dodali su podršku za $SSH_ASKPASS_REQUIRE varijablu okoline, koja se može koristiti za omogućavanje ili onemogućavanje ssh-askpass poziva.
- U ssh u ssh_config u AddKeysToAgent direktivi, dodana je mogućnost ograničavanja razdoblja valjanosti ključa. Nakon što navedeno ograničenje istekne, ključevi se automatski brišu iz ssh-agenta.
- U scp i sftp, koristeći zastavu "-A", sada možete eksplicitno dopustiti preusmjeravanje na scp i sftp pomoću ssh-agenta (preusmjeravanje je onemogućeno prema zadanim postavkama).
- Dodana je podrška za zamjenu '%k' u ssh postavkama, koja navodi naziv ključa glavnog računala. Ova se značajka može koristiti za distribuciju ključeva u zasebne datoteke (na primjer, “UserKnownHostsFile ~/.ssh/known_hosts.d/%k”).
- Dopustite korištenje operacije "ssh-add -d -" za čitanje ključeva iz stdin koji se trebaju izbrisati.
- U sshd-u, početak i kraj procesa rezanja veze odražava se u dnevniku, reguliran pomoću parametra MaxStartups.
Programeri OpenSSH-a također su podsjetili na nadolazeće ukidanje algoritama koji koriste SHA-1 hashove zbog
Kako bi se olakšao prijelaz na nove algoritme u OpenSSH-u, sljedeće izdanje omogućit će postavku UpdateHostKeys prema zadanim postavkama, koja će automatski migrirati klijente na pouzdanije algoritme. Preporučeni algoritmi za migraciju uključuju rsa-sha2-256/512 temeljen na RFC8332 RSA SHA-2 (podržan od OpenSSH 7.2 i koristi se prema zadanim postavkama), ssh-ed25519 (podržan od OpenSSH 6.5) i ecdsa-sha2-nistp256/384/521 temeljen na RFC5656 ECDSA (podržano od OpenSSH 5.7).
Izvor: opennet.ru