Emailový klient Evolution v KDE – potíže s klíčenkou

Evolution je aplikace z GNOME desktopu a její používání mimo GNOME přináší potíže s ukládáním hesel k emailovým a kalendářovým službám. Následující příspěvek je psán s ohledem na Arch Linux, nicméně nastavení v ostatních distribucích bude obdobné. Cílem je, aby příslušná klíčenka v gnome-keyring byla odemčena automaticky při přihlášení uživatele. Předpokládá se, že uživatel chce používat klíčenku chráněnou heslem (viz poznámka na konci příspěvku).

Pokud není gnome-keyring vůbec nainstalován, pak Evolution vyžaduje opakované zadávání hesla pro každou službu (emailové účty, kalendáře) při synchronizaci dat.

Pokud je gnome-keyring nainstalován, ale není odemčen při přihlášení uživatele, pak jej Evolution spustí sám – nevýhodou je, že uživatel musí klíčenku odemknout – tedy zadat heslo.

Instalace balíčků

$ sudo pacman -S gnome-keyring
$ yaourt gnome-keyring-manager

První příkaz nainstaluje démona pro běh klíčenky (z repozitáře extra), druhý je volitelná GUI aplikace a slouží k možnosti kontroly obsahu klíčenky či změně hesla chránícího klíčenku.

Předpokladem fungování je i spuštěný démon D-Bus, nicméně ten je používán i KDE a je obvykle spouštěn již při startu samotným systemd, takže zde by neměl nastat problém.

Spouštění gnome-keyring při přihlášení do KDE

Cest je několik, nejjednodušší je upravit soubor pro automatické spouštění při přihlášení, aby na příslušném řádku obsahoval i klíčové slovo „KDE“:

$ cat /etc/xdg/autostart/gnome-keyring-secrets.desktop
...
OnlyShowIn=GNOME;Unity;MATE;KDE;
...

Ostatní soubory gnome-keyring-{pkcs11|ssh|gpg}.desktop není třeba editovat, neb tyto služby (certifikáty, ssh agent, gpg agent) obstará v KDE kwallet či jiné programy. Více informací viz Gnome Live.

Dále je vhodné zabránit Pacmanu přepsat uvedený soubor při aktualizaci balíčku gnome-keyring (je-li chráněných souborů více, oddělují se čárkami; pozor na to, že na začátku cesty není lomítko):

$ cat /etc/pacman.conf
...
NoUpgrade   = etc/xdg/autostart/gnome-keyring-secrets.desktop
...

 Odemykání gnome-keyring při přihlášení uživatele

V případě, že výchozí klíčenka v gnome-keyring (označená jako „login“) má heslo stejné jako je to přihlašovací do systému, pak modul PAM umí klíčenku automaticky odemknout při přihlášení uživatele.

Nastavení konkrétní souborů v adresáři /etc/pam.d se v jednotlivých linuxových distribucích liší. Arch Linux přešel na zjednoduššenou strukturu, kdy konfigurační soubory jednotlivých služeb (gdm, kde, login, sshd, passwd, …) obsahují pouze odkazy na konfigurační  soubor system-auth, nejlépe tedy editovat posledně uvedený soubor.

Na konec příslušných sekcí (auth, session) se přidá následujícící:

$ cat /etc/pam.d/system-auth
...
auth      optional  pam_gnome_keyring.so
...
session   optional  pam_gnome_keyring.so auto_start

Je-li kdekoliv v direktivách PAM použito sufficient (místo optional, required, etc.), viz info na Gnome Live.

Uvedené soubory je opět záhodno chránit proti přepsání při aktualizaci systému (sekce NoUpgrade v /etc/pacman.conf).

Poznámka: iluze bezpečí při používání gnome-keyring

Současná implementace gnome-keyring ochrání pouze před pasívními útoky: tj. hesla jsou na disk ukládána pouze šifrovaně a není-li otevřena (odemčena) klíčenka, není je možné zjistit.

Nicméně v případě aktivního útoku (uživatel je přihlášen, klíčenka odemčena) má možnost kterákoliv aplikace běžící v rámci stejného sezení X.org požádat klíčenku o vydání hesla. Tento problém souvisí s nedostatečně zabezpečenou architekturou jiných částí systému, která neumožňuje jednoznačně identifikovat dotazující se aplikace (škodlivý program může předstírat, že je e-mailovým klientem – je tedy zbytečné v rámci gnome-keyring zjišťovat jméno aplikace, neb by to byla pouhá iluze bezpečí).

Z toho plyne, že důležitá hesla se do klíčenky neukládají…

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..