Jak se přihlásit k pracovní ploše systému Linux pomocí aplikace Google Authenticator
Pro dodatečnou bezpečnost můžete požádat o autentizační token založený na čase a heslo pro přihlášení k počítači Linux. Toto řešení používá aplikaci Google Authenticator a další aplikace TOTP.
Tento proces byl proveden na Ubuntu 14.04 se standardním přihlašovacím manažerem Unity desktop a LightDM, ale principy jsou stejné na většině distribucí Linuxu a desktopů.
Předtím jsme vám ukázali, jak vyžadovat službu Google Authenticator pro vzdálený přístup prostřednictvím SSH a tento proces je podobný. To nevyžaduje aplikaci Google Authenticator, ale pracuje s libovolnou kompatibilní aplikací, která implementuje schéma ověřování TOTP, včetně Authy.
Nainstalujte PAM aplikace Google Authenticator
Stejně jako při nastavení pro přístup k SSH budeme nejdříve muset nainstalovat příslušný software PAM (modul "pluggable-authentication module"). PAM je systém, který nám umožňuje připojit různé typy ověřovacích metod do systému Linux a požadovat je.
Na Ubuntu nainstaluje PAM aplikace Google Authenticator následující příkaz. Otevřete okno Terminál, zadejte následující příkaz, stiskněte klávesu Enter a vložte své heslo. Systém stáhne PAM z repozitářů softwaru distribuce systému Linux a nainstaluje jej:
sudo apt-get nainstalovat libpam-google-authenticator
Jiné distribuce Linuxu by měly mít tento balíček k dispozici pro snadnou instalaci - otevřete své repozitáře softwaru pro distribuci systému Linux a proveďte vyhledávání. V nejhorším scénáři najdete zdrojový kód pro modul PAM v GitHub a sami jej kompilujte.
Jak jsme již uvedli dříve, toto řešení nezávisí na "telefonování domů" na servery společnosti Google. Implementuje standardní algoritmus TOTP a může být použit i v případě, že počítač nemá přístup k Internetu.
Vytvořte ověřovací klíče
Nyní budete muset vytvořit tajný ověřovací klíč a vložit jej do aplikace Google Authenticator (nebo podobné) v telefonu. Nejprve se přihlaste jako svůj uživatelský účet do systému Linux. Otevřete okno terminálu a spusťte google-authenticator příkaz. Typ y a postupujte podle pokynů zde. Tím vytvoříte speciální soubor v adresáři aktuálního uživatelského účtu s informacemi služby Google Authenticator.
Budete také procházet procesem získání tohoto dvojfaktorového ověřovacího kódu do aplikace Google Authenticator nebo podobné aplikace TOTP na vašem smartphonu. Váš systém může vygenerovat kód QR, který můžete skenovat, nebo ho můžete zadat ručně.
Ujistěte se, že si zapamatujete své nouzové kódy, které můžete použít pro přihlášení, pokud ztratíte telefon.
Projděte tento proces u každého uživatelského účtu, který používá váš počítač. Pokud jste například jedinou osobou, která váš počítač používá, můžete ji jednoduše provést na běžném uživatelském účtu. Pokud máte někoho jiného, kdo používá váš počítač, budete chtít, aby je přihlásili do svého vlastního účtu a vygenerovali vhodný dvoufaktorový kód pro svůj vlastní účet, aby se mohli přihlásit.
Aktivujte ověřování
Zde je místo, kde se trochu dicy. Když jsme vysvětlili, jak povolit dvoufaktorové přihlašování SSH, požadovali jsme jej pouze pro přihlašování SSH. To vám zajistilo, že se můžete stále přihlásit místně, pokud jste ztratili vaši autentizační aplikaci nebo se něco pokazilo.
Vzhledem k tomu, že povolíme dvoufaktorovou autentizaci pro místní přihlášení, jsou zde potenciální problémy. Pokud se něco pokazí, možná se nebudete moci přihlásit. S ohledem na tuto skutečnost vás budeme moci povolit pouze pro grafické přihlašování. To vám dává únikový poklop, pokud ho potřebujete.
Povolte službu Google Authenticator pro grafické přihlašování na Ubuntu
Vždy můžete povolit dvoustupňovou autentizaci pouze pro grafické přihlašování, přeskočení požadavku při přihlašování z textového příkazu. To znamená, že můžete snadno přepnout na virtuální terminál, přihlásit se tam a vrátit změny tak, aby Gogole Authenciator nebyl vyžadován, pokud se vyskytne problém.
Jistě, otevře se vám otvor ve vašem autentizačním systému, ale útočník s fyzickým přístupem k vašemu systému ji může stejně využít. Proto je dvoufaktorová autentizace zvlášť efektivní pro vzdálené přihlášení přes SSH.
Zde je postup pro Ubuntu, který používá správce přihlášení LightDM. Otevřete soubor LightDM pro úpravu příkazem, jako je následující:
sudo gedit /etc/pam.d/lightdm
(Nezapomeňte, že tyto konkrétní kroky budou fungovat pouze tehdy, použijete-li distribuci systému Linux a pracovní plochu LightDM správce přihlášení.)
Přidejte následující řádek na konec souboru a uložte jej:
auth required pam_google_authenticator.so nullok
Bit "nullok" na konci informuje systém, aby nechal přihlášení uživatele, i když neprovedl příkaz google-authenticator k nastavení dvoufaktorové autentizace. Pokud je nastaví, budou muset zadat časový kód - jinak nebudou. Odebrat účet "nullok" a uživatelské účty, které nenastavili kód Google Authenticator, se nebudou moci graficky přihlásit.
Při příštím přihlášení uživatele se zobrazí výzva k zadání hesla a poté se zobrazí výzva k zadání aktuálního ověřovacího kódu zobrazovaného v telefonu. Pokud nezadáte ověřovací kód, nebudou moci být přihlášeni.
Proces by měl být poměrně podobný pro jiné linuxové distribuce a desktopy, neboť většina běžných manažerů relací Linuxu používá PAM. Pravděpodobně budete muset upravit jiný soubor s podobným aktivačním modulem PAM.
Používáte-li šifrování domovského adresáře
Starší verze softwaru Ubuntu nabízejí snadnou možnost "šifrování domovské složky", která zašifruje celý domovský adresář, dokud nezadáte heslo. Konkrétně to používá ecryptfs. Protože však software PAM závisí na souboru Google Authenticator uloženém ve vašem domovském adresáři ve výchozím nastavení, šifrování zasahuje do PAM čtení souboru, dokud se nezjistí, že je k dispozici v nezašifrované podobě systému, než se přihlásíte. Další informace o README informace o vyloučení tohoto problému v případě, že stále používáte možnosti šifrování v zastaralém domovském adresáři.
Moderní verze softwaru Ubuntu nabízejí místo toho šifrování celého disku, které bude fungovat s výše uvedenými možnostmi. Nemusíte dělat nic zvláštního
Nápověda, to zlomilo!
Protože jsme to povolili pouze pro grafické přihlašování, mělo by být snadno zakázáno, pokud způsobí problém. Stisknutím kombinace kláves, jako jsou klávesy Ctrl + Alt + F2, získáte přístup k virtuálnímu terminálu a přihlaste se s jeho uživatelským jménem a heslem. Potom můžete použít příkaz sudo nano /etc/pam.d/lightdm, který otevře soubor pro editaci v terminálovém textovém editoru. Použijte náš průvodce Nano k odstranění řádku a uložení souboru a budete se moci znovu přihlásit normálně.
Můžete také nucit aplikaci Google Authenticator požadovat pro jiné typy přihlašovacích údajů - případně i pro všechna systémová přihlašování - přidáním řádku "auth required pam_google_authenticator.so" do ostatních konfiguračních souborů PAM. Buďte opatrní, pokud to uděláte. A nezapomeňte, můžete přidat "nullok", takže uživatelé, kteří neprošli procesem instalace, se mohou stále přihlásit.
Další dokumentaci k použití a nastavení tohoto modulu PAM lze nalézt v souboru README softwaru na adrese GitHub.