Release van OpenSSH 8.4

Na vier maanden ontwikkeling ingediend release van OpenSSH 8.4, een open client- en serverimplementatie voor het werken met de SSH 2.0- en SFTP-protocollen.

Grote veranderingen:

  • Beveiligingswijzigingen:
    • Wanneer in ssh-agent FIDO-sleutels worden gebruikt die niet zijn gemaakt voor SSH-authenticatie (de sleutel-ID begint niet met de tekenreeks "ssh:"), wordt nu gecontroleerd of het bericht wordt ondertekend met behulp van de methoden die in het SSH-protocol worden gebruikt. Door de wijziging kan de ssh-agent niet worden omgeleid naar externe hosts die FIDO-sleutels hebben om de mogelijkheid te blokkeren om deze sleutels te gebruiken om handtekeningen te genereren voor webauthenticatieverzoeken (het omgekeerde geval, wanneer een browser een SSH-verzoek kan ondertekenen, wordt in eerste instantie uitgesloten vanwege het gebruik van het voorvoegsel “ssh:” in de sleutelidentificatie).
    • De residente sleutelgeneratie van ssh-keygen omvat ondersteuning voor de credProtect-add-on beschreven in de FIDO 2.1-specificatie, die extra bescherming biedt voor sleutels door een pincode te vereisen voordat een bewerking wordt uitgevoerd die zou kunnen resulteren in het extraheren van de residente sleutel uit het token.
  • Mogelijk verbrekende compatibiliteitswijzigingen:
    • Om FIDO/U2F te ondersteunen, wordt aanbevolen om de libfido2-bibliotheek ten minste versie 1.5.0 te gebruiken. De mogelijkheid om oudere edities te gebruiken is gedeeltelijk geïmplementeerd, maar in dit geval zijn functies zoals residente sleutels, pincodeverzoek en het verbinden van meerdere tokens niet beschikbaar.
    • In ssh-keygen zijn de authenticatiegegevens die nodig zijn voor het verifiëren van bevestigende digitale handtekeningen toegevoegd aan het formaat van de bevestigingsinformatie, optioneel opgeslagen bij het genereren van een FIDO-sleutel.
    • De API die wordt gebruikt wanneer OpenSSH communiceert met de laag voor toegang tot FIDO-tokens is gewijzigd.
    • Bij het bouwen van een draagbare versie van OpenSSH is automake nu vereist om het configuratiescript en de bijbehorende build-bestanden te genereren (als er wordt gebouwd vanuit een gepubliceerd tar-codebestand, is het opnieuw genereren van configuratie niet vereist).
  • Ondersteuning toegevoegd voor FIDO-sleutels waarvoor pincodeverificatie vereist is in ssh en ssh-keygen. Om sleutels met pincode te genereren is de “verify-required” optie toegevoegd aan ssh-keygen. Als dergelijke sleutels worden gebruikt, wordt de gebruiker, voordat de handtekening wordt aangemaakt, gevraagd zijn acties te bevestigen door een pincode in te voeren.
  • In sshd is de optie “verify-required” geïmplementeerd in de instelling geautoriseerde_sleutels, wat het gebruik van mogelijkheden vereist om de aanwezigheid van de gebruiker tijdens bewerkingen met het token te verifiëren. De FIDO-standaard biedt verschillende opties voor een dergelijke verificatie, maar momenteel ondersteunt OpenSSH alleen verificatie op basis van een pincode.
  • sshd en ssh-keygen hebben ondersteuning toegevoegd voor het verifiëren van digitale handtekeningen die voldoen aan de FIDO Webauthn-standaard, waardoor FIDO-sleutels in webbrowsers kunnen worden gebruikt.
  • In ssh in de CertificateFile-instellingen,
    ControlPath, IdentityAgent, IdentityFile, LocalForward en
    RemoteForward maakt vervanging van waarden mogelijk uit omgevingsvariabelen die zijn gespecificeerd in het formaat "${ENV}".

  • ssh en ssh-agent hebben ondersteuning toegevoegd voor de omgevingsvariabele $SSH_ASKPASS_REQUIRE, die kan worden gebruikt om de ssh-askpass-aanroep in of uit te schakelen.
  • In ssh in ssh_config in de AddKeysToAgent-richtlijn is de mogelijkheid toegevoegd om de geldigheidsperiode van een sleutel te beperken. Nadat de opgegeven limiet is verstreken, worden de sleutels automatisch verwijderd uit de ssh-agent.
  • In scp en sftp kunt u, met behulp van de vlag "-A", nu expliciet omleiding naar scp en sftp toestaan ​​met behulp van ssh-agent (omleiding is standaard uitgeschakeld).
  • Ondersteuning toegevoegd voor '%k'-vervanging in ssh-instellingen, die de hostsleutelnaam specificeert. Deze functie kan worden gebruikt om sleutels in afzonderlijke bestanden te distribueren (bijvoorbeeld "UserKnownHostsFile ~/.ssh/known_hosts.d/%k").
  • Sta het gebruik van de bewerking "ssh-add -d -" toe om sleutels uit stdin te lezen die moeten worden verwijderd.
  • In sshd worden het begin en het einde van het proces voor het opsnoeien van verbindingen weerspiegeld in het logboek, geregeld met behulp van de parameter MaxStartups.

De OpenSSH-ontwikkelaars herinnerden zich ook aan de aanstaande buitengebruikstelling van algoritmen die SHA-1-hashes gebruiken vanwege Promotie de effectiviteit van botsingsaanvallen met een bepaald voorvoegsel (de kosten voor het selecteren van een botsing worden geschat op ongeveer 45 duizend dollar). In een van de komende releases zijn ze van plan om standaard de mogelijkheid uit te schakelen om het algoritme voor digitale handtekeningen met openbare sleutels “ssh-rsa” te gebruiken, dat wordt genoemd in de oorspronkelijke RFC voor het SSH-protocol en in de praktijk wijdverbreid blijft (om het gebruik te testen van ssh-rsa in uw systemen, kunt u proberen verbinding te maken via ssh met de optie “-oHostKeyAlgorithms=-ssh-rsa”).

Om de overgang naar nieuwe algoritmen in OpenSSH te vergemakkelijken, zal de volgende release standaard de instelling UpdateHostKeys inschakelen, waardoor clients automatisch naar betrouwbaardere algoritmen worden gemigreerd. Aanbevolen algoritmen voor migratie zijn onder meer rsa-sha2-256/512 gebaseerd op RFC8332 RSA SHA-2 (ondersteund sinds OpenSSH 7.2 en standaard gebruikt), ssh-ed25519 (ondersteund sinds OpenSSH 6.5) en ecdsa-sha2-nistp256/384/521 gebaseerd op RFC5656 ECDSA (ondersteund sinds OpenSSH 5.7).

Bron: opennet.ru

Voeg een reactie