Pro další zabezpečení můžete vyžadovat a token ověřování na základě času stejně jako heslo pro přihlášení do počítače se systémem Linux. Toto řešení používá Google Authenticator a další aplikace TOTP.
Tento proces byl proveden na Ubuntu 14.04 se standardem Unity desktop a správce přihlášení LightDM, ale principy jsou u většiny distribucí Linuxu a desktopů stejné.
Dříve jsme vám to ukázali jak vyžadovat Google Authenticator pro vzdálený přístup přes SSH a tento proces je podobný. To nevyžaduje aplikaci Google Authenticator, ale funguje s jakoukoli kompatibilní aplikací, která implementuje schéma ověřování TOTP, včetně Authy .
Nainstalujte si Google Authenticator PAM
PŘÍBUZNÝ: Jak zabezpečit SSH pomocí dvoufaktorového ověřování Google Authenticator
Protože při nastavování tohoto přístupu pro SSH budeme nejprve muset nainstalovat příslušný software PAM („pluggable-authentication module“). PAM je systém, který nám umožňuje zapojit různé typy metod ověřování do systému Linux a vyžadovat je.
V systému Ubuntu následující příkaz nainstaluje PAM Google Authenticator. Otevřete okno Terminál, zadejte následující příkaz, stiskněte klávesu Enter a zadejte své heslo. Systém stáhne PAM z repozitářů softwaru vaší distribuce Linuxu a nainstaluje jej:
sudo apt-get install libpam-google-authenticator
Doufejme, že i ostatní distribuce Linuxu budou mít tento balíček k dispozici pro snadnou instalaci - otevřete úložiště softwaru vaší distribuce Linuxu a vyhledejte jej. V nejhorším případě můžete najít zdrojový kód modulu PAM na GitHubu a sestavte si to sami.
Jak jsme již zdůraznili, toto řešení nezávisí na „telefonování domů“ na servery Google. Implementuje standardní algoritmus TOTP a lze jej použít, i když váš počítač nemá přístup k internetu.
Vytvořte své ověřovací klíče
Nyní budete muset vytvořit tajný ověřovací klíč a zadat jej do aplikace Google Authenticator (nebo podobné) v telefonu. Nejprve se přihlaste jako uživatelský účet v systému Linux. Otevřete okno terminálu a spusťte ověřovatel google příkaz. Typ Y a postupujte podle pokynů zde. Tím se vytvoří speciální soubor v adresáři aktuálního uživatelského účtu s informacemi Google Authenticator.
Také vás provedeme procesem získání tohoto dvoufaktorového ověřovacího kódu do aplikace Google Authenticator nebo podobné aplikace TOTP na vašem smartphonu. Váš systém může vygenerovat QR kód, který můžete naskenovat, nebo jej můžete zadat ručně.
Nezapomeňte si poznamenat své nouzové stírací kódy, pomocí kterých se můžete přihlásit, pokud ztratíte telefon.
Projděte si tento proces pro každý uživatelský účet, který používá váš počítač. Například pokud jste jediný člověk, který používá váš počítač, můžete to udělat pouze jednou na svém běžném uživatelském účtu. Pokud máte někoho jiného, kdo používá váš počítač, budete chtít, aby se přihlásil ke svému vlastnímu účtu a vygeneroval pro svůj vlastní účet příslušný dvoufaktorový kód, aby se mohl přihlásit.
Aktivujte ověřování
Tady je situace trochu pikantní. Když jsme vysvětlili, jak povolit dvoufaktorové přihlášení SSH, vyžadovali jsme to pouze pro přihlášení SSH. Tím bylo zajištěno, že se stále můžete lokálně přihlásit, pokud jste ztratili ověřovací aplikaci nebo se něco pokazilo.
Protože pro místní přihlášení povolíme dvoufaktorové ověřování, jsou zde potenciální problémy. Pokud se něco pokazí, možná se nebudete moci přihlásit. S ohledem na to vás provedeme povolením pouze pro grafické přihlášení. Pokud budete potřebovat, získáte únikový poklop.
Povolit Google Authenticator pro grafická přihlášení na Ubuntu
Dvoustupňové ověřování můžete vždy povolit pouze pro grafická přihlášení, přičemž při přihlášení z textového řádku požadavek přeskočíte. To znamená, že se můžete snadno přepnout na virtuální terminál, přihlásit se tam a vrátit změny, aby v případě problému nebyl vyžadován Gogole Authenciator.
Jistě, otevírá se to díra ve vašem ověřovacím systému, ale útočník s fyzickým přístupem k vašemu systému to už může stejně zneužít . Proto je dvoufaktorové ověřování zvláště účinné pro vzdálená přihlášení přes SSH.
Zde je postup, jak to udělat pro Ubuntu, který používá správce přihlášení LightDM. Otevřete soubor LightDM pro úpravy pomocí příkazu, jako je následující:
sudo gedit /etc/pam.d/lightdm
(Nezapomeňte, že tyto konkrétní kroky budou fungovat, pouze pokud vaše distribuce Linuxu a desktop používají správce přihlášení LightDM.)
Přidejte následující řádek na konec souboru a poté jej uložte:
vyžadováno ověření pam_google_authenticator.so nullok
Bit „nullok“ na konci říká systému, aby umožnil přihlášení uživatele, i když nespustili příkaz google-authenticator pro nastavení dvoufaktorového ověřování. Pokud to nastaví, budou muset zadat kód časového pásma - jinak nebudou. Odebrat „nullok“ a uživatelské účty, které nenastavily kód Google Authenticator, se nebudou moci graficky přihlásit.
Při příštím přihlášení uživatele graficky se zobrazí výzva k zadání hesla a výzva k zadání aktuálního ověřovacího kódu zobrazeného v telefonu. Pokud nezadají ověřovací kód, nebude jim umožněno se přihlásit.
Proces by měl být docela podobný pro ostatní distribuce a desktopy Linuxu, protože většina správců relací desktopů Linux používá PAM. Pravděpodobně budete muset upravit jiný soubor s něčím podobným, abyste aktivovali příslušný modul PAM.
Pokud používáte šifrování domovského adresáře
Starší verze Ubuntu nabízejí snadné Možnost „šifrování domovské složky“ který šifroval celý váš domovský adresář, dokud nezadáte heslo. Konkrétně se 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í, ruší šifrování čtení PAM souboru, pokud se před přihlášením ujistíte, že je v systému k dispozici v nezašifrované podobě. README Další informace o tom, jak se tomuto problému vyhnout, pokud stále používáte zastaralé možnosti šifrování domovského adresáře.
Moderní verze Ubuntu nabízejí šifrování celého disku místo toho bude s výše uvedenými možnostmi fungovat dobře. Nemusíte dělat nic zvláštního
Pomoc, zlomila se!
Protože jsme to právě povolili pro grafická přihlášení, mělo by být snadné jej deaktivovat, pokud to způsobí problém. Stisknutím kombinace kláves, jako je Ctrl + Alt + F2, získáte přístup k virtuálnímu terminálu a přihlaste se tam pomocí svého uživatelského jména a hesla. Potom můžete použít příkaz jako sudo nano /etc/pam.d/lightdm k otevření souboru pro úpravy v textovém editoru terminálu. Použití náš průvodce Nano odstranit řádek a uložit soubor a budete se moci znovu normálně přihlásit.
Můžete také vynutit, aby byl Google Authenticator vyžadován pro jiné typy přihlášení - potenciálně i pro všechna systémová přihlášení - přidáním řádku „auth required pam_google_authenticator.so“ do dalších konfiguračních souborů PAM. Pokud to uděláte, buďte opatrní. Nezapomeňte, že možná budete chtít přidat „nullok“, aby se uživatelé, kteří neprošli procesem nastavení, mohli stále přihlásit.
Další dokumentace o tom, jak používat a nastavit tento modul PAM, najdete v soubor README softwaru na GitHubu .