Kako se prijaviti na vaš Linux Desktop pomoću Google Autentifikatora
Za dodatnu sigurnost možete zahtijevati token za provjeru utemeljenosti na vremenu, kao i lozinku za prijavu na vaše Linux računalo. Ovo rješenje koristi Google Autentifikator i ostale TOTP aplikacije.
Taj je proces proveden na Ubuntu 14.04 sa standardnim Unity desktop i LightDM programom za prijavu, ali načela su ista na većini Linux distribucija i stolnih računala.
Prethodno smo vam pokazali kako zahtijevati Google Autentifikator za daljinski pristup putem SSH-a, a taj je postupak sličan. To ne zahtijeva aplikaciju Google Autentifikator, ali radi s bilo kojom kompatibilnom aplikacijom koja implementira TOTP shemu provjere autentičnosti, uključujući Authy.
Instalirajte PAM za Google Autentifikator
Kao i prilikom postavljanja ovog pristupa za SSH pristup, najprije ćemo morati instalirati odgovarajući PAM (“pluggable-avtentifikacijski modul”) softver. PAM je sustav koji nam omogućuje da uključimo različite vrste metoda provjere autentičnosti u Linux sustav i da ih zahtijevamo.
Na Ubuntuu će sljedeća naredba instalirati PAM za Google Autentifikator. Otvorite prozor Terminala, upišite sljedeću naredbu, pritisnite Enter i unesite zaporku. Sustav će preuzeti PAM iz repozitorija softvera za Linux distribuciju i instalirati ga:
sudo apt-get install libpam-google-authenticator
Nadamo se da će i druge distribucije Linuxa imati ovaj paket za jednostavnu instalaciju - otvorite repozitorije softvera za Linux distribuciju i potražite ih. U najgorem slučaju, izvorni kod PAM modula možete pronaći na GitHubu i sami ga sastaviti.
Kao što smo već istaknuli, ovo rješenje ne ovisi o "telefoniranju kući" na Googleove poslužitelje. Ona implementira standardni TOTP algoritam i može se koristiti čak i kada vaše računalo nema pristup internetu.
Stvorite svoje ključeve za provjeru autentičnosti
Sada ćete morati izraditi tajni ključ za provjeru autentičnosti i unijeti ga u aplikaciju (ili sličnu) aplikacije Google Autentifikator na telefonu. Prvo se prijavite kao korisnički račun na Linux sustavu. Otvorite prozor terminala i pokrenite Google-autentikator naredba. Tip y i slijedite upute ovdje. To će stvoriti posebnu datoteku u direktoriju trenutnog korisničkog računa s podacima Google Autentifikatora.
Proći ćete kroz postupak dobivanja tog potvrdnog koda u dva faktora u Google autentifikatoru ili sličnoj TOTP aplikaciji na pametnom telefonu. Vaš sustav može generirati QR kôd koji možete skenirati ili ga možete ručno upisati.
Svakako zabilježite svoje kodove za hitno brisanje koje možete koristiti za prijavu ako izgubite telefon.
Prođite kroz ovaj postupak za svaki korisnički račun koji koristi vaše računalo. Na primjer, ako ste jedina osoba koja koristi vaše računalo, možete to učiniti samo jednom na svom uobičajenom korisničkom računu. Ako imate nekoga tko koristi vaše računalo, htjet ćete ih prijaviti na vlastiti račun i generirati odgovarajući kôd s dva faktora za vlastiti račun kako bi se mogli prijaviti.
Aktivirajte provjeru autentičnosti
Ovdje stvari postaju pomalo zaudarane. Kada smo objasnili kako omogućiti dva faktora za SSH prijave, zahtijevali smo ih samo za SSH prijave. Time ste osigurali da se možete prijaviti lokalno ako ste izgubili aplikaciju za provjeru autentičnosti ili ako je nešto pošlo po zlu.
Budući da ćemo omogućiti autentifikaciju s dva faktora za lokalne prijave, ovdje postoje potencijalni problemi. Ako nešto pođe po zlu, možda se nećete moći prijaviti. Imajući to u vidu, proći ćemo kroz omogućavanje ovog samo za grafičke prijave. To vam daje otvor za bijeg ako vam je potreban.
Omogućite Google Autentifikator za grafičke prijave na Ubuntuu
Uvijek možete omogućiti provjeru autentičnosti u dva koraka samo za grafičke prijave, preskočite zahtjev kada se prijavite iz tekstualnog odziva. To znači da možete jednostavno prebaciti na virtualni terminal, prijaviti se i vratiti svoje promjene kako Gogole Authenciator ne bi bio potreban ako se pojavi problem.
Naravno, ovo otvara rupu u vašem sustavu provjere autentičnosti, ali napadač s fizičkim pristupom vašem sustavu može ga ionako već iskoristiti. Zato je autentifikacija s dva faktora posebno učinkovita za udaljene prijave putem SSH-a.
Evo kako to učiniti za Ubuntu, koji koristi LightDM login manager. Otvorite datoteku LightDM za uređivanje naredbom poput sljedeće:
sudo gedit /etc/pam.d/lightdm
(Zapamtite, ovi specifični koraci funkcionirat će samo ako vaša distribucija i radna površina za Linux koriste LightDM upravitelj prijave.)
Dodajte sljedeći redak na kraj datoteke, a zatim ga spremite:
auth potrebno pam_google_authenticator.so nullok
Bit "nullok" na kraju govori sustavu da korisniku omogući prijavu čak i ako nisu pokrenuli naredbu google-authenticator za postavljanje autentifikacije u dva faktora. Ako su ga namjestili, morat će unijeti vremenski kod - inače neće. Uklanjanje "nullok" i korisničkih računa koji nisu postavili Google Autentifikacijski kôd jednostavno se neće moći grafički prijaviti.
Sljedeći put kada se korisnik grafički uđe u sustav, bit će zatraženo da unesu zaporku, a zatim će se prikazati trenutni kontrolni kôd prikazan na telefonu. Ako ne unesu kontrolni kôd, neće se moći prijaviti.
Proces bi trebao biti prilično sličan za druge Linux distribucije i stolna računala, budući da najčešći Linux upravitelji sjednica koriste PAM. Vjerojatno ćete morati urediti drugu datoteku s nečim sličnim kako biste aktivirali odgovarajući PAM modul.
Ako koristite šifriranje kućnog imenika
Starija izdanja Ubuntua nude jednostavnu opciju "encryption home folder" koja šifrira cijeli home direktorij dok ne unesete lozinku. Naime, to koristi ecryptfs. Međutim, budući da PAM softver ovisi o datoteci Google Autentifikatora pohranjenoj u vašem matičnom direktoriju po zadanom, šifriranje ometa PAM čitanje datoteke ako ne osigurate da je sustav dostupan u nešifriranom obliku prije nego što se prijavite. informacije o izbjegavanju ovog problema ako i dalje koristite zastarjele opcije šifriranja kućnog imenika.
Moderne verzije Ubuntua nude šifriranje cijelog diska, što će dobro funkcionirati s gore navedenim opcijama. Ne morate učiniti ništa posebno
Pomoć, razbio se!
Budući da smo ovo omogućili samo za grafičke prijave, trebalo bi ga lako onemogućiti ako uzrokuje problem. Pritisnite kombinaciju tipki kao što su Ctrl + Alt + F2 za pristup virtualnom terminalu i prijavite se s korisničkim imenom i lozinkom. Zatim možete upotrijebiti naredbu poput sudo nano /etc/pam.d/lightdm da biste otvorili datoteku za uređivanje u uređivaču teksta terminala. Upotrijebite naš vodič za Nano kako biste uklonili liniju i spremili datoteku i moći ćete se normalno ponovno prijaviti.
Također možete prisiliti Google Autentifikator da bude potreban za druge vrste prijavljivanja - potencijalno čak i sve prijave sustava - dodavanjem retka "auth required pam_google_authenticator.so" u druge PAM konfiguracijske datoteke. Budite oprezni ako to učinite. I zapamtite, možda želite dodati "nullok" tako da se korisnici koji nisu prošli postupak postavljanja mogu i dalje prijavljivati.
Daljnja dokumentacija o korištenju i postavljanju ovog PAM modula može se pronaći u README datoteci softvera na GitHubu.