OpenSSH 7.2: SHA-2 a chytřejší ssh-agent

Jakub Jelen 3. 3. 2016

Po několika rychle vydaných verzích OpenSSH, opravujících několik závažných bezpečnostních chyb, přichází opět verze s novými funkcemi.

Bezpečnost (nejen posledních verzí)

Poslední verze, která přišla s novými funkcemi a prošla řádným testováním, byla verze 6.9. Následující verze 7.0p1 přinesla několik nových funkcí, ale hlavně opravovala čtyři závažné bezpečnostní chyby, primárně související s integrací PAM (CVE-2015–6563, CVE-2015–6564), špatným nastavením přístupu k TTY na serveru (CVE-2015–6565) a možností překročit povolený počet pokusů o zadání hesla při využití ChallengeResponseAuthentication (CVE-2015–5600).

Následující verze 7.1p1 vyšla deset dní po verzi 7.0 a opravovala logickou chybu ve vyhodnocování nastavení PermitRootLogin without-password, která mohla nastat v závislosti na nastavení v čase kompilace.

Roaming

Další verze, 7.1p2, přišla v polovině ledna a zakazovala funkci Roaming, která byla ve výchozím nastavení povolená a zneužitelná ze strany modifikovaného serveru (CVE-2016–0777, CVE-2016–0778, CVE-2016–1907). V posledních verzích již existovaly různé obranné mechanismy zabraňující úspěšnému zneužití, ale tato funkce existovala od verze 5.4, tedy více než 6 let a při určitých okolnostech mohla vést k odeslání části paměti s privátním klíčem zákeřnému serveru.

Aktuální verze tedy odebírá celý kód související s funkcí Roaming, který nikdy nebyl pořádně zdokumentovaný, otestovaný a mohl by být zdrojem dalších problémů. Výchozí konfigurace nově nastavuje sandbox před-autentizačního procesu (na Linuxu je dnes většinou použitý seccomp, na OpenBSD pledge) minimalizující jeho privilegia.

X11 a staré algoritmy

Nová verze opravuje další problém spojený s tunelováním X11 protokolu na dnešních systémech bez rozšíření XSECURITY, kdy výchozím chováním bylo tiché ignorování selhání požadavku na Untrusted spojení a použití neomezeného.

Aktuální verze posouvá minimální velikost akceptovaných prvočísel pro výměnu klíčů pomocí DH na 2048 bitů, která je zatím za hranicí potenciálního prolomení (Logjam).

Dále je ve výchozím nastavení klienta zakázána většina historických algoritmů ( blowfish-cbc, cast128-cbc, arcfour-*, ...) na straně klienta. Ty byly již dříve odebrány z výchozí serverové konfigurace. Stejně tak jsou nově zakázány HMAC algoritmy používající ořezané/zkrácené MD5.

Nové funkce

SHA-2

První novinkou, které se můžeme dočkat, je možnost použití SHA-2 256 a SHA-2 512 při autentizaci privátním RSA nebo DSA klíčem. V původním protokolu SSH2 (rfc4253) je pevně určen hashovací algoritmus SHA-1, který již není doporučovaný. Proto došlo k rozšíření protokolu (zatím k dispozici jako návrhy, pod hlavičkou Bitvise – komerční SSH server a klient pro Windows) o tyto nové algoritmy pro podpis, o standardní možnost tyto algoritmy oznamovat druhé straně a následně používat. Pro uživatele se v tomto směru nic nemění, ale jedná se o další krok k větší flexibilitě, robustnosti a vyšší bezpečnosti samotného protokolu.

Inteligentní ssh-agent

Další užitečnou funkcí je změna procesu, jakým je možné používat ssh-agent. Dosud bylo potřeba před použitím klíče z ssh, ručně přidat klíče do agenta a klíč „odemknout“. Nyní je možnost přidávat klíče „za běhu“, v tu chvíli kdy klíč poprvé použijeme. To umožňuje omezit počet odemčených klíčů při startu systému na minimum a s vhodným nastavením životnosti klíčů v agentovi (přepínač -t), je můžeme také automaticky „zamykat“. Tato funkce je ve výchozím nastavení vypnutá, ale věřím, že si brzo najde své uživatele, až většina distribucí aktualizuje.

Příklad chování:

[me@f24 ~]$ ssh-copy-id -f -i ./rsa.pub test@f24
test@f24's password:
[me@f24 ~]$ ssh-add -l
The agent has no identities.
[me@f24 ~]$ ssh -i ./rsa -oAddKeysToAgent=yes test@f24
Enter passphrase for key './rsa':
[test@f24 ~]$ logout
Connection to localhost closed.
[me@f24 ~]$ ssh -i ./rsa -oAddKeysToAgent=yes test@f24
[test@f24 ~]$

Kromě striktních možností, které zakazují nebo povolují tuto funkci, existuje také možnost „ask“, která se před přidáním klíče zeptá pomocí dialogu  ssh-askpass.

Omezení klíčů na serveru

K dalšímu zjednodušení došlo na straně serveru v možnosti přidávat omezení jednotlivým klíčům. Tato funkce je většinou použita pro skripty provádějící vzdáleně jeden určitý úkol. Dosud bylo potřeba přidávat dlouhý seznam privilegií ( no-pty,no-port-forwarding,no-agent-forwarding,no-X11-forwarding,...), kterými chceme připojujícího se uživatele omezit. Nyní je možné použít klíčové slovo restrict, které nahrazuje všechna zákazová klíčová slova, včetně těch v budoucnosti přidaných, a pokud chceme některou akci povolit, je to možné pomocí explicitního whitelistu ( restrict,pty,port-forwarding,...).

Další rozšíření dostaly také nástroje ssh-keygen a ssh-keyscan, hlavně v souvislostí se zpracováním certifikátů a otisků klíčů.

Opravy chyb

Proběhla aktualizace nástroje ssh-copy-id, který obsahoval v posledních verzích několik problémů. Možnost obměny klíčů sezení (rekey) se dočkala revize pro velké množství přenesených dat, které bylo problémové.

widgety

SFTP server vyžaduje rozšířený glob(), jehož struktury nejsou binárně kompatibilní s verzí poskytovanou Linuxem. Tato funkce a její struktury byly přejmenovány jako příprava pro podporu klíčového slovaInclude v rámci konfiguračních souborů.

Více informací naleznete v oficiálním oznámení. Pokud si chcete nové funkce OpenSSH vyzkoušet, balíčky pro aktuální Fedoru jsou již k dispozici.

Našli jste v článku chybu?
Podnikatel.cz: Vyrábějí dětské knížky. Tady je příběh

Vyrábějí dětské knížky. Tady je příběh

Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?

Podnikatel.cz: Letáky? Lidi zuří, ale ony stále fungují

Letáky? Lidi zuří, ale ony stále fungují

Podnikatel.cz: Babiš: Článek Soukupa k EET je plný nesmyslů

Babiš: Článek Soukupa k EET je plný nesmyslů

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Vitalia.cz: Tradiční čínská medicína a rakovina

Tradiční čínská medicína a rakovina

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Lupa.cz: Adblock Plus začal prodávat reklamy

Adblock Plus začal prodávat reklamy

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Podnikatel.cz: Nemá dluhy? Zjistíte to na poště

Nemá dluhy? Zjistíte to na poště

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

Podnikatel.cz: ČSSZ posílá přehled o důchodovém kontě

ČSSZ posílá přehled o důchodovém kontě

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI

Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků