OpenSSH är ett fritt distribuerat och open source-program, ett bibliotek och kommandoradsprogram som körs i bakgrunden av ditt GNU / Linux-operativsystem och skyddar hela ditt nätverk från inkräktare och angripare. Det är open source-versionen av SSH (Secure Shell) specifikationen, speciellt utformad för
Funktioner i ett ögonkast
OpenSSH är ett open source-projekt som distribueras under en fri licens. Den erbjuder stark autentisering baserad på Public Key, Kerberos Authentication och One-Time Password-standarder, stark kryptering baserad på AES, Blowfish, Arcfour och 3DES-algoritmer, X11-vidarebefordringsstöd genom att kryptera hela X Window System-trafiken, samt AFS och Kerberos biljett som passerar.
Programvarufunktionsporten vidarebefordrar stöd genom att kryptera kanaler för äldre protokoll, datakomprimeringsstöd, agenter som vidarebefordrar stöd genom att använda SSO-autentiseringsstandard och SFTP (Secure FTP) -server och klientsupport i antingen SSH2 eller SSH1 protokoll.
En annan intressant egenskap är driftskompatibilitet, vilket innebär att projektet uppfyller versionerna 1.3, 1.5 och 2.0 i det ursprungliga SSH-protokollet (Secure Shell). Efter installationen kommer OpenSSH automatiskt att ersätta standard FTP, Telnet, RCP och rlogin-program med säkra versioner av dem, till exempel SFTP, SCP och SSH.
Under huven, tillgänglighet och stödja operativsystem
OpenSSH-projektet är skrivet helt i C-programmeringsspråket. Den bestod av det huvudsakliga SSH-genomförandet och SSH-demonen, som löper i bakgrunden. Programvaran distribueras huvudsakligen som ett universellt källarkiv som fungerar med alla GNU / Linux-operativsystem på både 32-bitars och 64-bitars arkitekturer.
Bärbar OpenSSH
En bärbar version av OpenSSH-protokollet är också tillgängligt för nedladdning på Softoware, gratis, kallad Portable OpenSSH. Det är en öppen källkodsimplementering av SSH version 1 och SSH version 2 protokoll för Linux, BSD och Solaris operativsystem.
Vad är nytt i den här utgåvan:
- Potentiellt oförenliga ändringar:
- Den här utgåvan innehåller ett antal ändringar som kan påverka befintliga konfigurationer:
- Den här utgåvan tar bort serverns support för SSH v.1-protokollet.
- ssh (1): Ta bort 3des-cbc från klientens standardförslag. 64-bitars blockcifrar är inte säkra i 2016 och vi vill inte vänta tills attacker som SWEET32 utökas till SSH. Eftersom 3des-cbc var den enda obligatoriska chiffern i SSH-RFC: erna, kan detta orsaka problem med att ansluta till äldre enheter med standardkonfigurationen, men det är högst troligt att sådana enheter redan behöver en exakt konfiguration för nyckelutbyte och värdnycklaralgoritmer. sshd (8): Ta bort support för pre-autentiseringskomprimering. Att göra komprimering tidigt i protokollet verkade troligen rimligt under 1990-talet, men idag är det tydligt en dålig idé när det gäller både kryptering (se OCT-attacker med flera komprimeringar) och angreppsytan. Förstörande komprimeringsstöd har vanligtvis avaktiverats i> 10 år. Stöd kvarstår i klienten. ssh-agent kommer att vägra att ladda PKCS # 11-moduler utanför en vitlista med betrodda sökvägar som standard. Väglistan kan anges vid körtid.
- sshd (8): När en tvingad kommando visas i både ett certifikat och en behörig nycklar / principals kommando = begränsning, kommer sshd nu att vägra att acceptera certifikatet om de inte är identiska. Det tidigare (dokumenterade) beteendet att få certifikatet tvingad kommandot åsidosätta det andra kan vara lite förvirrande och felaktigt. sshd (8): Ta bort UseLogin-konfigurationsdirektivet och stöd för att ha / bin / login hantera inloggningssessioner.
- Ändringar sedan OpenSSH 7.3:
- Säkerhet:
- ssh-agent (1): Kommer nu vägra att ladda PKCS # 11-moduler från vägar utanför en betrodd vitlista (körtid konfigurerbar). Begäran att ladda moduler kan skickas via agenten vidarebefordran och en angripare kan försöka ladda en fientlig PKCS # 11-modul över den vidarebefordrade agenten kanal: PKCS # 11-moduler är delade bibliotek, så detta skulle leda till att kodkörning på systemet körs ssh -agent om angriparen har kontroll över det vidarebefordrade agent-uttaget (på värd som kör sshd-servern) och förmågan att skriva till filsystemet för den värd som kör ssh-agent (vanligtvis värd som kör ssh-klienten). Rapporterad av Jann Horn av Project Zero.
- sshd (8): När behörighetsseparation är avaktiverad, kommer vidarekopplade Unix-domänuttag att skapas av sshd (8) med privilegierna för "root" istället för den autentiserade användaren. Den här utgåvan vägrar vidarebefordran av Unix-domänen när behörighetsseparation är avstängd (Privilegeseparation har aktiverats som standard i 14 år). Rapporterad av Jann Horn av Project Zero.
- sshd (8): Undvik teoretisk läcka av värdens privata nyckelmaterial till privilegierade separata barnprocesser via realloc () när du läser nycklar. Ingen sådan läcka iakttogs i praktiken för nycklar i normal storlek, och läckage till barnet behandlar inte heller direkt nyckelmaterial till icke-privilegierade användare. Rapporterad av Jann Horn av Project Zero.
- sshd (8): Den delade minneshanteraren som användes av pre-autentiseringskomprimeringsstöd hade gränskontroller som skulle kunna löstas av några optimerande kompilatorer. Dessutom var den här minneshanteraren felaktigt tillgänglig när förkomprimeringskomprimering inaktiverades. Detta kan möjligen tillåta attacker mot den privilegierade övervakningsprocessen från sandboxed privilegiseparationsprocessen (en kompromiss av sistnämnda skulle krävas först). Den här utgåvan tar bort stöd för pre-autentiseringskomprimering från sshd (8). Rapporterad av Guido Vranken med hjälp av Stack instabil optimeringsidentifieringsverktyg (http://css.csail.mit.edu/stack/)
- sshd (8): Fix avkallningsstatus där en angripare som skickar flera KEXINIT-meddelanden kan konsumera upp till 128 MB per anslutning. Rapporterad av Shi Lei of Gear Team, Qihoo 360.
- sshd (8): Bekräfta adressintervall för AllowUser och DenyUsers-direktiver vid konfigurationens laddningstid och vägra att acceptera ogiltiga. Det var tidigare möjligt att ange ogiltiga CIDR-adressintervall (t ex user@127.1.2.3/55) och dessa skulle alltid matcha, eventuellt resulterande i att ge åtkomst där den inte var avsedd. Rapporterad av Laurence Parry.
- Nya funktioner:
- ssh (1): Lägg till ett proxymultiplexeringsläge till ssh (1) inspirerat av versionen i PuTTY av Simon Tatham. Detta gör det möjligt för en multiplexeringsklient att kommunicera med huvudprocessen med hjälp av en delmängd av SSH-paketet och kanalprotokollet över ett Unix-domänuttag, varvid huvudprocessen fungerar som en proxy som översätter kanal-ID-er etc. Det gör att multiplexeringsläget kan köras på system som saknar fildeskriptor som passerar (används av nuvarande multiplexeringskod) och eventuellt tillsammans med Unix-domän-sändning, med klient- och multiplexeringsmasterns process på olika maskiner. Multiplexeringsproxysläget kan åberopas med användning av "ssh -O proxy ..."
- sshd (8): Lägg till ett sshd_config DisableForwarding alternativ som inaktiverar X11, agent, TCP, tunnel och Unix domän socket vidarekoppling, liksom allt annat vi kan implementera i framtiden. I likhet med flaggan "limit" authorized_keys, är detta avsett att vara ett enkelt och framtidsbestämt sätt att begränsa ett konto.
- sshd (8), ssh (1): Stöd "curve25519-sha256" nyckelbytesmetod. Detta är identiskt med den för närvarande stödda metoden heter "curve25519-sha256@libssh.org".
- sshd (8): Förbättra hanteringen av SIGHUP genom att kontrollera om sshd redan är demoniserad vid start och hoppa över samtalet till daemon (3) om det är. Detta säkerställer att en SIGHUP-omstart av sshd (8) kommer att behålla samma process-ID som den ursprungliga körningen. sshd (8) kommer nu också att koppla bort PidFile före SIGHUP omstart och återskapa det efter en lyckad omstart, snarare än att lämna en gammal fil vid ett konfigurationsfel. BZ # 2641
- sshd (8): Tillåt ClientAliveInterval och ClientAliveCountMax-direktiven att visas i sshd_config Matchblock.
- sshd (8): Lägg till% -scapes till AuthorizedPrincipalsCommand för att matcha de som stöds av AuthorizedKeysCommand (nyckel, nyckeltyp, fingeravtryck, etc.) och några få till att ge tillgång till innehållet i certifikatet som erbjuds.
- Tillagda regressionstester för strängmatchning, adressmatchning och stränghanteringsfunktioner.
- Förbättrad nyckelbygeln.
- Felkorrigeringar:
- ssh (1): Tillåt IdentityFile att framgångsrikt ladda och använda certifikat som inte har någon motsvarande, offentlig nyckel. bz # 2617 certifikat id_rsa-cert.pub (och inget id_rsa.pub).
- ssh (1): Fixa autentisering av public key när flera autentisering används och publickey är inte bara den första metoden som försökt. BZ # 2642
- regress: Tillåt att PuTTY-interop-testen körs obevakad. BZ # 2639
- ssh-agent (1), ssh (1): förbättra rapporteringen när du försöker ladda nycklar från PKCS # 11-tokens med färre meningslösa loggmeddelanden och mer detaljer i felsökningsmeddelanden. BZ # 2610
- ssh (1): När du slår ner ControlMaster-anslutningar, förorena inte stderr när LogLevel = tyst.
- sftp (1): På ^ Z vänta på underliggande ssh (1) att avbryta innan du sätter i sftp (1) för att säkerställa att ssh (1) återställer terminalläget korrekt om det är inställt under en lösenordsprompt.
- ssh (1): Undvik upptagen-vänta när ssh (1) stängs av under en lösenordsprompt.
- ssh (1), sshd (8): Felaktigt rapportera fel vid sändning av ext-info.
- sshd (8): Fix NULL-deref-kraschen om sshd (8) fick ett nytt NEWKEYS-meddelande som inte är i följd.
- sshd (8): Korrekt lista över signaturalgoritmer som stöds i serverns-sig-algs-tillägget. BZ # 2547
- sshd (8): Fix skicka ext_info-meddelande om privsep är inaktiverat.
- sshd (8): strikt tillämpa den förväntade beställningen av samtal för privilegierad separationsövervakning som används för autentisering och tillåta dem endast när deras respektive autentiseringsmetoder är aktiverade i konfigurationen
- sshd (8): Fix uninitialised optlen i getockopt () call; oskadlig på Unix / BSD men potentiellt crashy på Cygwin.
- Fixa falska positiva rapporter som orsakas av explicit_bzero (3) inte erkänns som en minnesinitierare när den sammanställs med -fsanitize-minne. sshd_config (5): Använd 2001: db8 :: / 32, det officiella IPv6-subnetet för konfigurationsexempel.
- Bärbarhet:
- På miljöer som är konfigurerade med turkiska lokaliteter faller du tillbaka till C / POSIX-platsen för att undvika fel i konfigurationsparsning orsakad av den lokala hanteringen av bokstäverna 'i' och 'I'. BZ # 2643
- sftp-server (8), ssh-agent (1): Avvisa ptrace på OS X med ptrace (PT_DENY_ATTACH, ..)
- ssh (1), sshd (8): Unbreak AES-CTR-cifrar på gamla (~ 0.9.8) OpenSSL.
- Fix kompilering för libcrypto kompilerat utan stöd för RIPEMD160.
- bidrag: Lägg till en gnome-ssh-askpass3 med GTK + 3-support. bz # 2640 sshd (8): Förbättra PRNG reseeding över privilegiseparation och tvinga libcrypto att få ett högkvalitativt frö före chroot eller sandboxing.
- Alla: Explicit test för brutna strnvis. NetBSD lade till en strnvis och gjorde det tyvärr oförenligt med den befintliga i OpenBSD och Linux libbsd (den tidigare har existerat i över tio år). Försök att upptäcka denna röra och antar det enda säkra alternativet om vi är tvärsammansättning.
Vad är nytt i version:
- Potentiellt oförenliga ändringar:
- Den här utgåvan innehåller ett antal ändringar som kan påverka befintliga konfigurationer:
- Den här utgåvan tar bort serverns support för SSH v.1-protokollet.
- ssh (1): Ta bort 3des-cbc från klientens standardförslag. 64-bitars blockcifrar är inte säkra i 2016 och vi vill inte vänta tills attacker som SWEET32 utökas till SSH. Eftersom 3des-cbc var den enda obligatoriska chiffern i SSH-RFC: erna, kan detta orsaka problem med att ansluta till äldre enheter med standardkonfigurationen, men det är högst troligt att sådana enheter redan behöver en exakt konfiguration för nyckelutbyte och värdnycklaralgoritmer. sshd (8): Ta bort support för pre-autentiseringskomprimering. Att göra komprimering tidigt i protokollet verkade troligen rimligt under 1990-talet, men idag är det tydligt en dålig idé när det gäller både kryptering (se OCT-attacker med flera komprimeringar) och angreppsytan. Förstörande komprimeringsstöd har vanligtvis avaktiverats i> 10 år. Stöd kvarstår i klienten. ssh-agent kommer att vägra att ladda PKCS # 11-moduler utanför en vitlista med betrodda sökvägar som standard. Väglistan kan anges vid körtid.
- sshd (8): När en tvingad kommando visas i både ett certifikat och en behörig nycklar / principals kommando = begränsning, kommer sshd nu att vägra att acceptera certifikatet om de inte är identiska. Det tidigare (dokumenterade) beteendet att få certifikatet tvingad kommandot åsidosätta det andra kan vara lite förvirrande och felaktigt. sshd (8): Ta bort UseLogin-konfigurationsdirektivet och stöd för att ha / bin / login hantera inloggningssessioner.
- Ändringar sedan OpenSSH 7.3:
- Säkerhet:
- ssh-agent (1): Kommer nu vägra att ladda PKCS # 11-moduler från vägar utanför en betrodd vitlista (körtid konfigurerbar). Begäran att ladda moduler kan skickas via agenten vidarebefordran och en angripare kan försöka ladda en fientlig PKCS # 11-modul över den vidarebefordrade agenten kanal: PKCS # 11-moduler är delade bibliotek, så detta skulle leda till att kodkörning på systemet körs ssh -agent om angriparen har kontroll över det vidarebefordrade agent-uttaget (på värd som kör sshd-servern) och förmågan att skriva till filsystemet för den värd som kör ssh-agent (vanligtvis värd som kör ssh-klienten). Rapporterad av Jann Horn av Project Zero.
- sshd (8): När behörighetsseparation är avaktiverad, kommer vidarekopplade Unix-domänuttag att skapas av sshd (8) med privilegierna för "root" istället för den autentiserade användaren. Den här utgåvan vägrar vidarebefordran av Unix-domänen när behörighetsseparation är avstängd (Privilegeseparation har aktiverats som standard i 14 år). Rapporterad av Jann Horn av Project Zero.
- sshd (8): Undvik teoretisk läcka av värdens privata nyckelmaterial till privilegierade separata barnprocesser via realloc () när du läser nycklar. Ingen sådan läcka iakttogs i praktiken för nycklar i normal storlek, och läckage till barnet behandlar inte heller direkt nyckelmaterial till icke-privilegierade användare. Rapporterad av Jann Horn av Project Zero.
- sshd (8): Den delade minneshanteraren som användes av pre-autentiseringskomprimeringsstöd hade gränskontroller som skulle kunna löstas av några optimerande kompilatorer. Dessutom var den här minneshanteraren felaktigt tillgänglig när förkomprimeringskomprimering inaktiverades. Detta kan möjligen tillåta attacker mot den privilegierade övervakningsprocessen från sandboxed privilegiseparationsprocessen (en kompromiss av sistnämnda skulle krävas först). Den här utgåvan tar bort stöd för pre-autentiseringskomprimering från sshd (8). Rapporterad av Guido Vranken med hjälp av Stack instabil optimeringsidentifieringsverktyg (http://css.csail.mit.edu/stack/)
- sshd (8): Fix avkallningsstatus där en angripare som skickar flera KEXINIT-meddelanden kan konsumera upp till 128 MB per anslutning. Rapporterad av Shi Lei of Gear Team, Qihoo 360.
- sshd (8): Bekräfta adressintervall för AllowUser och DenyUsers-direktiver vid konfigurationens laddningstid och vägra att acceptera ogiltiga. Det var tidigare möjligt att ange ogiltiga CIDR-adressintervall (t ex user@127.1.2.3/55) och dessa skulle alltid matcha, eventuellt resulterande i att ge åtkomst där den inte var avsedd. Rapporterad av Laurence Parry.
- Nya funktioner:
- ssh (1): Lägg till ett proxymultiplexeringsläge till ssh (1) inspirerat av versionen i PuTTY av Simon Tatham. Detta gör det möjligt för en multiplexeringsklient att kommunicera med huvudprocessen med hjälp av en delmängd av SSH-paketet och kanalprotokollet över ett Unix-domänuttag, varvid huvudprocessen fungerar som en proxy som översätter kanal-ID-er etc. Det gör att multiplexeringsläget kan köras på system som saknar fildeskriptor som passerar (används av nuvarande multiplexeringskod) och eventuellt tillsammans med Unix-domän-sändning, med klient- och multiplexeringsmasterns process på olika maskiner. Multiplexeringsproxysläget kan åberopas med användning av "ssh -O proxy ..."
- sshd (8): Lägg till ett sshd_config DisableForwarding alternativ som inaktiverar X11, agent, TCP, tunnel och Unix domän socket vidarekoppling, liksom allt annat vi kan implementera i framtiden. I likhet med flaggan "limit" authorized_keys, är detta avsett att vara ett enkelt och framtidsbestämt sätt att begränsa ett konto.
- sshd (8), ssh (1): Stöd "curve25519-sha256" nyckelbytesmetod. Detta är identiskt med den för närvarande stödda metoden heter "curve25519-sha256@libssh.org".
- sshd (8): Förbättra hanteringen av SIGHUP genom att kontrollera om sshd redan är demoniserad vid start och hoppa över samtalet till daemon (3) om det är. Detta säkerställer att en SIGHUP-omstart av sshd (8) kommer att behålla samma process-ID som den ursprungliga körningen. sshd (8) kommer nu också att koppla bort PidFile före SIGHUP omstart och återskapa det efter en lyckad omstart, snarare än att lämna en gammal fil vid ett konfigurationsfel. BZ # 2641
- sshd (8): Tillåt ClientAliveInterval och ClientAliveCountMax-direktiven att visas i sshd_config Matchblock.
- sshd (8): Lägg till% -scapes till AuthorizedPrincipalsCommand för att matcha de som stöds av AuthorizedKeysCommand (nyckel, nyckeltyp, fingeravtryck, etc.) och några få till att ge tillgång till innehållet i certifikatet som erbjuds.
- Tillagda regressionstester för strängmatchning, adressmatchning och stränghanteringsfunktioner.
- Förbättrad nyckelbygeln.
- Felkorrigeringar:
- ssh (1): Tillåt IdentityFile att framgångsrikt ladda och använda certifikat som inte har någon motsvarande, offentlig nyckel. bz # 2617 certifikat id_rsa-cert.pub (och inget id_rsa.pub).
- ssh (1): Fixa autentisering av public key när flera autentisering används och publickey är inte bara den första metoden som försökt. BZ # 2642
- regress: Tillåt att PuTTY-interop-testen körs obevakad. BZ # 2639
- ssh-agent (1), ssh (1): förbättra rapporteringen när du försöker ladda nycklar från PKCS # 11-tokens med färre meningslösa loggmeddelanden och mer detaljer i felsökningsmeddelanden. BZ # 2610
- ssh (1): När du slår ner ControlMaster-anslutningar, förorena inte stderr när LogLevel = tyst.
- sftp (1): På ^ Z vänta på underliggande ssh (1) att avbryta innan du sätter i sftp (1) för att säkerställa att ssh (1) återställer terminalläget korrekt om det är inställt under en lösenordsprompt.
- ssh (1): Undvik upptagen-vänta när ssh (1) stängs av under en lösenordsprompt.
- ssh (1), sshd (8): Felaktigt rapportera fel vid sändning av ext-info.
- sshd (8): Fix NULL-deref-kraschen om sshd (8) fick ett nytt NEWKEYS-meddelande som inte är i följd.
- sshd (8): Korrekt lista över signaturalgoritmer som stöds i serverns-sig-algs-tillägget. BZ # 2547
- sshd (8): Fix skicka ext_info-meddelande om privsep är inaktiverat.
- sshd (8): strikt tillämpa den förväntade beställningen av samtal för privilegierad separationsövervakning som används för autentisering och tillåta dem endast när deras respektive autentiseringsmetoder är aktiverade i konfigurationen
- sshd (8): Fix uninitialised optlen i getockopt () call; oskadlig på Unix / BSD men potentiellt crashy på Cygwin.
- Fixa falska positiva rapporter som orsakas av explicit_bzero (3) inte erkänns som en minnesinitierare när den sammanställs med -fsanitize-minne. sshd_config (5): Använd 2001: db8 :: / 32, det officiella IPv6-subnetet för konfigurationsexempel.
- Bärbarhet:
- På miljöer som är konfigurerade med turkiska lokaliteter faller du tillbaka till C / POSIX-platsen för att undvika fel i konfigurationsparsning orsakad av den lokala hanteringen av bokstäverna 'i' och 'I'. BZ # 2643
- sftp-server (8), ssh-agent (1): Avvisa ptrace på OS X med ptrace (PT_DENY_ATTACH, ..)
- ssh (1), sshd (8): Unbreak AES-CTR-cifrar på gamla (~ 0.9.8) OpenSSL.
- Fix kompilering för libcrypto kompilerat utan stöd för RIPEMD160.
- bidrag: Lägg till en gnome-ssh-askpass3 med GTK + 3-support. bz # 2640 sshd (8): Förbättra PRNG reseeding över privilegiseparation och tvinga libcrypto att få ett högkvalitativt frö före chroot eller sandboxing.
- Alla: Explicit test för brutna strnvis. NetBSD lade till en strnvis och gjorde det tyvärr oförenligt med den befintliga i OpenBSD och Linux libbsd (den tidigare har existerat i över tio år). Försök att upptäcka denna röra och antar det enda säkra alternativet om vi är tvärsammansättning.
Vad är nytt i version 7.4:
- Potentiellt oförenliga förändringar:
- Den här utgåvan innehåller ett antal ändringar som kan påverka befintliga konfigurationer:
- Den här utgåvan tar bort serverns support för SSH v.1-protokollet.
- ssh (1): Ta bort 3des-cbc från klientens standardförslag. 64-bitars blockcifrar är inte säkra i 2016 och vi vill inte vänta tills attacker som SWEET32 utökas till SSH. Eftersom 3des-cbc var den enda obligatoriska chiffern i SSH-RFC: erna, kan detta orsaka problem med att ansluta till äldre enheter med standardkonfigurationen, men det är högst troligt att sådana enheter redan behöver en exakt konfiguration för nyckelutbyte och värdnycklaralgoritmer. sshd (8): Ta bort support för pre-autentiseringskomprimering. Att göra komprimering tidigt i protokollet verkade troligen rimligt under 1990-talet, men idag är det tydligt en dålig idé när det gäller både kryptering (se OCT-attacker med flera komprimeringar) och angreppsytan. Förstörande komprimeringsstöd har vanligtvis avaktiverats i> 10 år. Stöd kvarstår i klienten. ssh-agent kommer att vägra att ladda PKCS # 11-moduler utanför en vitlista med betrodda sökvägar som standard. Väglistan kan anges vid körtid.
- sshd (8): När en tvingad kommando visas i både ett certifikat och en behörig nycklar / principals kommando = begränsning, kommer sshd nu att vägra att acceptera certifikatet om de inte är identiska. Det tidigare (dokumenterade) beteendet att få certifikatet tvingad kommandot åsidosätta det andra kan vara lite förvirrande och felaktigt. sshd (8): Ta bort UseLogin-konfigurationsdirektivet och stöd för att ha / bin / login hantera inloggningssessioner.
- Ändringar sedan OpenSSH 7.3:
- Säkerhet:
- ssh-agent (1): Kommer nu vägra att ladda PKCS # 11-moduler från vägar utanför en betrodd vitlista (körtid konfigurerbar). Begäran att ladda moduler kan skickas via agenten vidarebefordran och en angripare kan försöka ladda en fientlig PKCS # 11-modul över den vidarebefordrade agenten kanal: PKCS # 11-moduler är delade bibliotek, så detta skulle leda till att kodkörning på systemet körs ssh -agent om angriparen har kontroll över det vidarebefordrade agent-uttaget (på värd som kör sshd-servern) och förmågan att skriva till filsystemet för den värd som kör ssh-agent (vanligtvis värd som kör ssh-klienten). Rapporterad av Jann Horn av Project Zero.
- sshd (8): När behörighetsseparation är avaktiverad, kommer vidarekopplade Unix-domänuttag att skapas av sshd (8) med privilegierna för "root" istället för den autentiserade användaren. Den här utgåvan vägrar vidarebefordran av Unix-domänen när behörighetsseparation är avstängd (Privilegeseparation har aktiverats som standard i 14 år). Rapporterad av Jann Horn av Project Zero.
- sshd (8): Undvik teoretisk läcka av värdens privata nyckelmaterial till privilegierade separata barnprocesser via realloc () när du läser nycklar. Ingen sådan läcka iakttogs i praktiken för nycklar i normal storlek, och läckage till barnet behandlar inte heller direkt nyckelmaterial till icke-privilegierade användare. Rapporterad av Jann Horn av Project Zero.
- sshd (8): Den delade minneshanteraren som användes av pre-autentiseringskomprimeringsstöd hade gränskontroller som skulle kunna löstas av några optimerande kompilatorer. Dessutom var den här minneshanteraren felaktigt tillgänglig när förkomprimeringskomprimering inaktiverades. Detta kan möjligen tillåta attacker mot den privilegierade övervakningsprocessen från sandboxed privilegiseparationsprocessen (en kompromiss av sistnämnda skulle krävas först). Den här utgåvan tar bort stöd för pre-autentiseringskomprimering från sshd (8). Rapporterad av Guido Vranken med hjälp av Stack instabil optimeringsidentifieringsverktyg (http://css.csail.mit.edu/stack/)
- sshd (8): Fix avkallningsstatus där en angripare som skickar flera KEXINIT-meddelanden kan konsumera upp till 128 MB per anslutning. Rapporterad av Shi Lei of Gear Team, Qihoo 360.
- sshd (8): Bekräfta adressintervall för AllowUser och DenyUsers-direktiver vid konfigurationens laddningstid och vägra att acceptera ogiltiga. Det var tidigare möjligt att ange ogiltiga CIDR-adressintervall (t ex user@127.1.2.3/55) och dessa skulle alltid matcha, eventuellt resulterande i att ge åtkomst där den inte var avsedd. Rapporterad av Laurence Parry.
- Nya funktioner:
- ssh (1): Lägg till ett proxymultiplexeringsläge till ssh (1) inspirerat av versionen i PuTTY av Simon Tatham. Detta gör det möjligt för en multiplexeringsklient att kommunicera med huvudprocessen med hjälp av en delmängd av SSH-paketet och kanalprotokollet över ett Unix-domänuttag, varvid huvudprocessen fungerar som en proxy som översätter kanal-ID-er etc. Det gör att multiplexeringsläget kan köras på system som saknar fildeskriptor som passerar (används av nuvarande multiplexeringskod) och eventuellt tillsammans med Unix-domän-sändning, med klient- och multiplexeringsmasterns process på olika maskiner. Multiplexing proxy-läge kan åberopas med "ssh -O proxy ..."
- sshd (8): Lägg till ett sshd_config DisableForwarding alternativ som inaktiverar X11, agent, TCP, tunnel och Unix domän socket vidarekoppling, liksom allt annat vi kan implementera i framtiden. I likhet med flaggan "limit" authorized_keys, är detta avsett att vara ett enkelt och framtidsbestämt sätt att begränsa ett konto.
- sshd (8), ssh (1): Stöd för "curve25519-sha256" -utbytesmetoden. Detta är identiskt med den för närvarande stödda metoden heter "curve25519-sha256@libssh.org".
- sshd (8): Förbättra hanteringen av SIGHUP genom att kontrollera om sshd redan är demoniserad vid start och hoppa över samtalet till daemon (3) om det är. Detta säkerställer att en SIGHUP-omstart av sshd (8) kommer att behålla samma process-ID som den ursprungliga körningen. sshd (8) kommer nu också att koppla bort PidFile före SIGHUP omstart och återskapa det efter en lyckad omstart, snarare än att lämna en gammal fil vid ett konfigurationsfel. BZ # 2641
- sshd (8): Tillåt ClientAliveInterval och ClientAliveCountMax-direktiven att visas i sshd_config Matchblock.
- sshd (8): Lägg till% -scapes till AuthorizedPrincipalsCommand för att matcha de som stöds av AuthorizedKeysCommand (nyckel, nyckeltyp, fingeravtryck, etc.) och några få till att ge tillgång till innehållet i certifikatet som erbjuds.
- Tillagda regressionstester för strängmatchning, adressmatchning och stränghanteringsfunktioner.
- Förbättrad nyckelbygeln.
- Felkorrigeringar:
- ssh (1): Tillåt IdentityFile att framgångsrikt ladda och använda certifikat som inte har någon motsvarande, offentlig nyckel. bz # 2617 certifikat id_rsa-cert.pub (och inget id_rsa.pub).
- ssh (1): Fixa autentisering av public key när flera autentisering används och publickey är inte bara den första metoden som försökt. BZ # 2642
- regress: Tillåt att PuTTY-interop-testen körs obevakad. BZ # 2639
- ssh-agent (1), ssh (1): förbättra rapporteringen när du försöker ladda nycklar från PKCS # 11-tokens med färre meningslösa loggmeddelanden och mer detaljer i felsökningsmeddelanden. BZ # 2610
- ssh (1): När du slår ner ControlMaster-anslutningar, förorena inte stderr när LogLevel = tyst.
- sftp (1): På ^ Z vänta på underliggande ssh (1) att avbryta innan du sätter i sftp (1) för att säkerställa att ssh (1) återställer terminalläget korrekt om det är inställt under en lösenordsprompt.
- ssh (1): Undvik upptagen-vänta när ssh (1) stängs av under en lösenordsprompt.
- ssh (1), sshd (8): Felaktigt rapportera fel vid sändning av ext-info.
- sshd (8): Fix NULL-deref-kraschen om sshd (8) fick ett nytt NEWKEYS-meddelande som inte är i följd.
- sshd (8): Korrekt lista över signaturalgoritmer som stöds i serverns-sig-algs-tillägget. BZ # 2547
- sshd (8): Fix skicka ext_info-meddelande om privsep är inaktiverat.
- sshd (8): strikt tillämpa den förväntade beställningen av samtal för privilegierad separationsövervakning som används för autentisering och tillåta dem endast när deras respektive autentiseringsmetoder är aktiverade i konfigurationen
- sshd (8): Fix uninitialised optlen i getockopt () call; oskadlig på Unix / BSD men potentiellt crashy på Cygwin.
- Fixa falska positiva rapporter som orsakas av explicit_bzero (3) inte erkänns som en minnesinitierare när den sammanställs med -fsanitize-minne. sshd_config (5): Använd 2001: db8 :: / 32, det officiella IPv6-subnetet för konfigurationsexempel.
- Bärbarhet:
- På miljöer som är konfigurerade med turkiska lokaliteter faller du tillbaka till C / POSIX-platsen för att undvika fel i konfigurationsparsning orsakad av den lokala hanteringen av bokstäverna 'i' och 'I'. BZ # 2643
- sftp-server (8), ssh-agent (1): Avvisa ptrace på OS X med ptrace (PT_DENY_ATTACH, ..)
- ssh (1), sshd (8): Unbreak AES-CTR-cifrar på gamla (~ 0.9.8) OpenSSL.
- Fix kompilering för libcrypto kompilerat utan stöd för RIPEMD160.
- bidrag: Lägg till en gnome-ssh-askpass3 med GTK + 3-stöd. bz # 2640 sshd (8): Förbättra PRNG reseeding över privilegiseparation och tvinga libcrypto att få ett högkvalitativt frö före chroot eller sandboxing.
- Alla: Explicit test för brutna strnvis. NetBSD lade till en strnvis och gjorde det tyvärr oförenligt med den befintliga i OpenBSD och Linux libbsd (den tidigare har existerat i över tio år). Försök att upptäcka denna röra och antar det enda säkra alternativet om vi är tvärsammansättning.
Vad är nytt i version 7.3:
- Säkerhet:
- sshd (8): Mitigate en potentiell avkänning av service attack mot systemets krypta (3) funktion via sshd (8). En angripare kan skicka mycket långa lösenord som skulle orsaka överdriven CPU-användning i kryptering (3). sshd (8) vägrar nu att acceptera önskemål om lösenordsautentisering med längd större än 1024 tecken. Oberoende rapporterad av Tomas Kuthan (Oracle), Andres Rojas och Javier Nieto.
- sshd (8): Mitigate timing skillnader i lösenord autentisering som kan användas för att urskilja giltiga från ogiltiga kontonamn när långa lösenord skickades och särskilda lösenordshastighetsalgoritmer används på servern. CVE-2016-6210, rapporterad av EddieEzra.Harari på verint.com
- ssh (1), sshd (8): Fix observerbar tidssvaghet i CBC-polstring av oracle-motåtgärder. Rapporterad av Jean Paul Degabriele, Kenny Paterson, Torben Hansen och Martin Albrecht. Observera att CBC-cifrar är inaktiverade som standard och ingår endast för äldre kompatibilitet.
- ssh (1), sshd (8): Förbättra operativ ordering av MAC-verifiering för krypterings-sedan-MAC (EtM) -läget transport-MAC-algoritmer för att verifiera MAC innan de dekrypterar någon chiffertext. Detta tar bort möjligheten att tidsskillnader som leder till fakta om rentexten, även om inget sådant läckage har observerats. Rapporterad av Jean Paul Degabriele, Kenny Paterson, Torben Hansen och Martin Albrecht. sshd (8): (endast bärbar) Ignorera PAM-miljö vars när UseLogin = ja. Om PAM är konfigurerad att läsa användardefinierade miljövariabler och UseLogin = ja i sshd_config, kan en fientlig lokal användare angripa / bin / inloggning via LD_PRELOAD eller liknande miljövariabler som ställts in via PAM. CVE-2015-8325, hittad av Shayan Sadigh.
- Nya funktioner:
- ssh (1): Lägg till ett ProxyJump-alternativ och motsvarande -J-kommandoraden flagga för att tillåta förenklad indirektion genom en eller flera SSH-bastioner eller "jump hosts".
- ssh (1): Lägg till ett IdentityAgent-alternativ för att tillåta specificering av specifika agentuttag istället för att acceptera en från miljön. ssh (1): Tillåt att ExitOnForwardFailure och ClearAllForwardings överfras eventuellt när du använder ssh -W. BZ # 2577
- ssh (1), sshd (8): Implementera stöd för IUTF8-terminalläge enligt utkast sgtatham-secsh-iutf8-00. ssh (1), sshd (8): Lägg till support för ytterligare fasta Diffie-Hellman 2K, 4K och 8K grupper från draft-ietf-curdle-ssh-kex-sha2-03.
- ssh-keygen (1), ssh (1), sshd (8): stödja SHA256- och SHA512 RSA-signaturer i certifikat; ssh (1): Lägg till ett Inkludera direktiv för ssh_config (5) filer.
- ssh (1): Tillåt UTF-8 tecken i förkännandebannor som skickats från servern. BZ # 2058
- Felkorrigeringar:
- ssh (1), sshd (8): Minska syslognivån för några relativt vanliga protokollhändelser från LOG_CRIT. BZ # 2585
- sshd (8): Refuse AuthenticationMethods = "" i konfigurationer och acceptera AuthenticationMethods = någon för standardbeteendet som inte kräver flera autentiseringar. BZ # 2398
- sshd (8): Ta bort föråldrade och vilseledande "MÖJLIGT BREAK-IN ATTEMPT!" meddelande när framåt och omvänd DNS matchar inte. BZ # 2585
- ssh (1): Stäng ControlPersist bakgrundsprocess stderr utom i debug-läge eller när du loggar på syslog. BZ # 1988
- Misc: Gör PROTOCOL-beskrivning för direkt-streamlocal@openssh.com kanalöppnade meddelanden matcha använd kod. BZ # 2529
- ssh (1): Deduplicate LocalForward och RemoteForward-poster för att fixa fel när både ExitOnForwardFailure och värdnamn kanonicalization är aktiverade. BZ # 2562
- sshd (8): Ta bort fallback från moduli till föråldrad "primes" -fil som avlägsnades 2001. bz # 2559.
- sshd_config (5): Korrekt beskrivning av UseDNS: det påverkar ssh värdnamnbehandling för authorized_keys, not known_hosts; bz # 2554 ssh (1): Fix autentisering med ensam certifikatnycklar i ett agent utan motsvarande privata nycklar på filsystemet. BZ # 2550
- sshd (8): Skicka ClientAliveInterval pings när en tidsbaserad RekeyLimit är inställd; tidigare keepalive paket skickades inte. BZ # 2252
Vad är nytt i version 7.2:
- Säkerhet:
- ssh (1), sshd (8): Ta bort oavslutad och oanvänd roamingkod (har redan tvingats in i OpenSSH 7.1p2).
- ssh (1): eliminera återgång från otillförlitlig X11-vidarebefordran till betrodd vidarebefordran när X-servern inaktiverar Säkerhetsförlängningen.
- ssh (1), sshd (8): öka minsta modulstorleken som stöds för diffie-hellman-gruppbyte till 2048 bitar.
- sshd (8): Förhandsauth sandboxing är nu aktiverat (tidigare utgåvor aktiverade det för nya installationer via sshd_config).
- Nya funktioner:
- alla: Lägg till stöd för RSA-signaturer med hjälp av SHA-256/512 hash-algoritmer baserade på draft-rsa-dsa-sha2-256-03.txt och draft-ssh-ext-info-04.txt.
- ssh (1): Lägg till ett AddKeysToAgent-klientalternativ som kan ställas in på "ja", "nej", "fråga" eller "bekräfta" och vanligtvis "nej". När den är aktiverad kommer en privat nyckel som används under autentisering att läggas till ssh-agent om den körs (med bekräftelse aktiverad om den är inställd på att "bekräfta").
- sshd (8): Lägg till ett nytt authorized_keys-alternativ "begränsa" som innehåller alla nuvarande och framtida nyckelbegränsningar (nej - * - vidarebefordran, etc.). Lägg även till tillåtna versioner av befintliga begränsningar, t.ex. "no-pty" - & gt; "PTY". Detta förenklar uppgiften att upprätta begränsade nycklar och säkerställer att de är maximalt begränsade, oavsett vilka rättigheter vi kan genomföra i framtiden. ssh (1): lägg till ssh_config CertificateFile-alternativet för att explicit ange certifikat. BZ # 2436
- ssh-keygen (1): tillåta ssh-keygen att ändra nyckelkommentaren för alla stödda format.
- ssh-keygen (1): tillåta fingeravtryck från standardinmatning, t.ex. "ssh-keygen -ff -"
- ssh-keygen (1): tillåta fingeravtryck flera offentliga nycklar i en fil, t.ex. "ssh-keygen -lf ~ / .ssh / authorized_keys" bz # 1319
- sshd (8): stöd "none" som ett argument för sshd_config Foreground och ChrootDirectory. Användbar inuti Match-block för att åsidosätta en global standard. BZ # 2486
- ssh-keygen (1): stödja flera certifikat (en per rad) och läsa från standardinmatning (med "-f -") för "ssh-keygen -L" ssh-keyscan (1): lägg till "ssh- keycan -c ... "flaggan för att tillåta hämtning av certifikat istället för vanliga nycklar.
- ssh (1): Bättre hantera förankrade FQDNs (t ex 'cvs.openbsd.org.') i värdnamn kanonicalisation - behandla dem som redan kanoniska och ta bort efterföljande '.' innan matchning ssh_config.
- Felkorrigeringar:
- sftp (1): befintliga målkataloger bör inte avsluta rekursiva uppladdningar (regression i openssh 6.8) bz # 2528
- ssh (1), sshd (8): Skicka tillbaka SSH2_MSG_UNIMPLEMENTED svar på oväntade meddelanden under nyckelutbyte. BZ # 2949
- ssh (1): vägra försök att ställa in ConnectionAttempts = 0, vilket inte är meningsfullt och skulle orsaka att ssh skriver ut en uninitialiserad stackvariabel. BZ # 2500
- ssh (1): fixa fel när du försöker ansluta till scoped IPv6-adresser med värdnamn kanonicalization enabled.
- sshd_config (5): lista ett par fler alternativ som kan användas i Match-block. BZ # 2489
- sshd (8): fixa "PubkeyAcceptedKeyTypes + ..." i ett Match-block. ssh (1): expand tilde-tecken i filnamn skickade till -i alternativ innan du kontrollerar om identitetsfilen finns eller inte. Undvik förvirring för fall där skal inte expanderar (t ex "-i ~ / fil" vs "-i ~ / fil"). BZ # 2481
- ssh (1): Förbered inte "exec" på shell-kommandot som körs med "Match exec" i en config-fil, vilket kan få vissa kommandon att misslyckas i vissa miljöer. BZ # 2471
- ssh-keyscan (1): fixa utdata för flera värdar / addrs på en rad när värdhas eller en icke standardport är i bruk bz # 2479
- sshd (8): hoppa över "Kunde inte chdir till hemkatalog" när ChrootDirectory är aktivt. BZ # 2485
- ssh (1): Inkludera PubkeyAcceptedKeyTypes i ssh -G config dump. sshd (8): Undvik att ändra TunnelForwarding Device flaggor om de redan är vad som behövs; gör det möjligt att använda tun / tap-nätverk som icke-root-användare om enhetsbehörigheter och gränssnittsflaggor är fördefinierade
- ssh (1), sshd (8): RekeyLimits kan överskridas med ett paket. BZ # 2521
- ssh (1): Fix multiplexing master misslyckande att märka klientutgång.
- ssh (1), ssh-agent (1): Undvik dödlig () för PKCS11-tokens som innehåller tomma nyckel-ID. BZ # 1773
- sshd (8): Undvik printf av NULL-argumentet. BZ # 2535
- ssh (1), sshd (8): tillåta RekeyLimits större än 4GB. BZ # 2521
- ssh-keygen (1): sshd (8): åtgärda flera fel i (oanvänd) KRL-signaturstöd.
- ssh (1), sshd (8): fixa anslutningar med kamrater som använder protokollets huvudutbytes gissningsfunktion. BZ # 2515
- sshd (8): Inkludera fjärrportnummer i loggmeddelanden. BZ # 2503
- ssh (1): Försök inte ladda SSHv1-privata nyckeln när den sammanställs utan SSHv1-support. BZ # 2505
- ssh-agent (1), ssh (1): åtgärda felaktiga felmeddelanden under nyckelladdnings- och signeringsfel. BZ # 2507
- ssh-keygen (1): Lämna inte tomma temporära filer när du utför known_hosts-filändringar när known_hosts inte existerar.
- sshd (8): Korrekt paketformat för tcpip-forward svar på förfrågningar som inte allokerar en port bz # 2509
- ssh (1), sshd (8): fixa möjligt hänga på sluten utmatning. bz # 2469 ssh (1): expand% i i ControlPath till UID. BZ # 2449
- ssh (1), sshd (8): fix returtyp av openssh_RSA_verify. BZ # 2460
- ssh (1), sshd (8): fixa ett visst alternativ för att parsa minneläckor. BZ # 2182
- ssh (1): lägg till en del felsökningsutmatning före DNS-upplösning; Det är en plats där ssh tidigare kunde tysta stall i fall av icke-svarande DNS-servrar. bz # 2433 ssh (1): ta bort nyfiken newline i visuell värdnyckel. BZ # 2686
- ssh (1): fixa utskrift (ssh -G ...) av HostKeyAlgorithms = + ...
- ssh (1): Fix expansion av HostkeyAlgorithms = + ...
- Dokumentation:
- ssh_config (5), sshd_config (5): uppdatera standardalgoritmslistorna för att matcha aktuell verklighet. BZ # 2527
- ssh (1): nämna -Q-nyckel-vanliga och -Q-nyckel-cert-sökningsalternativ. BZ # 2455
- sshd_config (8): Beskriv tydligare vilken AuthorizedKeysFile = ingen gör.
- ssh_config (5): bättre dokument ExitOnForwardFailure. BZ # 2444
- sshd (5): ange interna DH-GEX fallback-grupper i manuell. BZ # 2302
- sshd_config (5): bättre beskrivning för MaxSessions-alternativet. BZ # 2531
- Bärbarhet:
- ssh (1), sftp-server (8), ssh-agent (1), sshd (8): Stöd Illumos / Solaris finkorniga rättigheter. Inklusive en pre-auth privsep sandlåda och flera löften () emuleringar. BZ # 2511
- Renovera redhat / openssh.spec, ta bort borttagna alternativ och syntax.
- konfigurera: tillåta - utan-ssl-motor med - utan-openssl
- sshd (8): Fix flera autentisering med S / Key. BZ # 2502
- sshd (8): läs tillbaka från libcrypto RAND_before släpp behörigheter. Avviker sandboxningsöverträdelser med BoringSSL.
- Fixa namnkollision med systemlevererade glob (3) funktioner. BZ # 2463
- Anpassa Makefile för att använda ssh-keygen -A när du skapar värdnycklar. BZ # 2459
- konfigurera: korrigera standardvärdet för - med-ssh1 bz # 2457
- konfigurera: bättre detektering av _res symbol bz # 2259
- stödja getrandom () syscall på Linux
Vad är nytt i version 7.1:
- Säkerhet:
- sshd (8): OpenSSH 7.0 innehöll ett logikfel i PermitRootLogin = förbjuda lösenord / utan lösenord som kan, beroende på konfigurationstidskonfigurationen, tillåta lösenordsautentisering att rotera samtidigt som andra former av autentisering hindras. Detta problem rapporterades av Mantas Mikulenas.
- Felkorrigeringar:
- ssh (1), sshd (8): lägg till kompatibilitetslösningar för FuTTY
- ssh (1), sshd (8): Förbättra lösningar för kompatibilitet för WinSCP
- Fixa ett antal minnesfel (dubbelfritt, fria från oinitialiserat minne etc) i ssh (1) och ssh-keygen (1). Rapporterad av Mateusz Kocielski.
Kommentarer hittades inte