Efter fire måneders udvikling udgivelsen af OpenSSH 8.4, en open source-implementering af klient og server til arbejde med SSH 2.0 og SFTP-protokoller.
Vigtige ændringer:
- Ændringer relateret til sikkerhed:
- I ssh-agenten, ved brug af FIDO-nøgler, der ikke er oprettet til autentificering via SSH (nøgleidentifikatoren starter ikke med strengen «ssh:»), bliver der nu kontrolleret, at meddelelsen vil blive underskrevet ved hjælp af metoder, der anvendes i SSH-protokollen. Denne ændring vil forhindre videresendelse af ssh-agenten til fjernhoste med FIDO-nøgler, for at blokere muligheden for at bruge disse nøgler til at generere underskrifter til webautentificering (den omvendte situation, hvor browseren kan underskrive SSH-anmodningen, er oprindeligt udelukket, takket være brugen af præfikset «ssh:» i nøgleidentifikatoren).
- I ssh-keygen er understøttelse af credProtect-udvidelsen, der er beskrevet i FIDO 2.1-specifikationen, indført ved generering af residentnøgler, hvilket giver ekstra beskyttelse for nøglerne via en obligatorisk anmodning om indtastning af PIN-kode før udførelse af enhver operation, der kan føre til udtrækning af den residentnøgle fra tokenet.
- Ændringer, der potentielt kan bryde kompatibiliteten:
- For at understøtte FIDO/U2F anbefales det at bruge bibliotektet libfido2 i det mindste version 1.5.0. Der er delvist implementeret mulighed for at bruge ældre versioner, men i så fald vil funktioner som residentnøgler, PIN-anmodning og tilslutning af flere tokens ikke være tilgængelige.
- I ssh-keygen er der tilføjet data til autentificatoren, der er nødvendige for at verificere bekræftende digitale underskrifter, i formatet af bekræftelsesinformation, der valgfrit gemmes ved generering af FIDO-nøglen.
- API'et, der anvendes ved interaktion mellem OpenSSH og tjenesten til adgang til FIDO-tokens, er ændret.
- Ved opbygningen af den bærbare version af OpenSSH kræves automake nu for at generere konfigurationsscriptet og de tilhørende bygge-filer (hvis bygningen udføres fra den offentliggjorte tar-fil med koden, kræves der ikke regenerering af konfigurationen).
- I ssh og ssh-keygen er der tilføjet støtte til FIDO-nøgler, som kræver bekræftelse via en PIN-kode. For at generere nøgler med en PIN er der tilføjet en mulighed "verify-required" i ssh-keygen. Hvis der bruges sådanne nøgler, vises der en anmodning til brugeren før signeringsoperationen, der kræver, at de bekræfter deres handlinger ved at indtaste PIN-koden.
- I sshd er der i konfigurationen af authorized_keys implementeret en mulighed "verify-required", der kræver brug af funktioner til bekræftelse af brugerens tilstedeværelse under operationer med token. FIDO-standarden foreskriver flere varianter af sådan bekræftelse, men i øjeblikket understøtter OpenSSH kun PIN-baseret verifikation.
- I sshd og ssh-keygen er der tilføjet støtte til verifikation af digitale signaturer, der overholder FIDO Webauthn-standarden, som muliggør brugen af FIDO-nøgler i web-browserne.
- I ssh i indstillingerne CertificateFile,
ControlPath, IdentityAgent, IdentityFile, LocalForward og
RemoteForward er der tilladt substitution af værdier fra miljøvariabler angivet i formatet "${ENV}". - I ssh og ssh-agent er der tilføjet støtte til miljøvariablen $SSH_ASKPASS_REQUIRE, som kan bruges til at aktivere eller deaktivere kaldet til ssh-askpass.
- I ssh er der i ssh_config under direktivet AddKeysToAgent tilføjet muligheden for at begrænse nøglernes gyldighedsperiode. Efter udløbet af den specificerede grænse fjernes nøglerne automatisk fra ssh-agent.
- I scp og sftp kan man nu med flaget "-A" eksplicit tillade forwarding i scp og sftp ved brug af ssh-agent (som standard er forwarding forbudt).
- I ssh-indstillingerne er der tilføjet støtte til substitution af ‘%k’, der definerer navnet på værtsnøglen. Denne mulighed kan bruges til at adskille nøgler i separate filer (for eksempel "UserKnownHostsFile ~/.ssh/known_hosts.d/%k").
- Det er tilladt at bruge operationen "ssh-add -d -" til at læse nøgler, der skal fjernes, fra stdin.
- I sshd er der sikret logføring af begyndelsen og afslutningen af processen med at begrænse forbindelser, reguleret af parameteren MaxStartups.
Udviklerne af OpenSSH minder også om den kommende overgang til at betragte algoritmer, der bruger SHA-1-hash, som forældede, i forbindelse med effektiviteten af kollisionsangreb med et givet præfiks (omkostningerne ved at finde en kollisionsvurdering er cirka 45.000 dollars). I en af de kommende udgivelser planlægges det at deaktivere algoritmen for digitale signaturer baseret på den offentlige nøgle "ssh-rsa" som standard, hvilket nævnes i den oprindelige RFC for SSH-protokollen og forbliver udbredt i praksis (for at tjekke anvendelsen af ssh-rsa i dine systemer kan du prøve at tilslutte via ssh med indstillingen "-oHostKeyAlgorithms=-ssh-rsa").
For at lette overgangen til de nye algoritmer i OpenSSH vil konfigurationen UpdateHostKeys som standard blive aktiveret i den næste udgivelse, hvilket vil gøre det muligt automatisk at overføre klienterne til mere pålidelige algoritmer. Blandt de anbefalede algoritmer til migration nævnes rsa-sha2-256/512 baseret på RFC8332 RSA SHA-2 (understøttet siden OpenSSH 7.2 og brugt som standard), ssh-ed25519 (understøttet siden OpenSSH 6.5) og ecdsa-sha2-nistp256/384/521 baseret på RFC5656 ECDSA (understøttet siden OpenSSH 5.7).
Kilde: opennet.ru
