Cum să vă conectați la spațiul de lucru Linux cu Google Authenticator
Pentru securitate suplimentară, puteți solicita un jeton de autentificare bazat pe timp, precum și o parolă pentru a vă conecta la PC-ul Linux. Această soluție utilizează aplicația Google Authenticator și alte aplicații TOTP.
Acest proces a fost realizat pe Ubuntu 14.04 cu managerul standard Unity desktop și LightDM, dar principiile sunt aceleași în majoritatea distribuțiilor și desktop-urilor Linux.
V-am arătat anterior cum să solicitați Google Authenticator accesul la distanță prin SSH, iar acest proces este similar. Acest lucru nu necesită aplicația Google Authenticator, dar funcționează cu orice aplicație compatibilă care implementează schema de autentificare TOTP, inclusiv Authy.
Instalați PAM-ul Google Authenticator
Ca atunci când configurați acest lucru pentru accesul SSH, va trebui mai întâi să instalați software-ul adecvat PAM (modulul de autentificare plug-in). PAM este un sistem care ne permite să conectăm diferite tipuri de metode de autentificare într-un sistem Linux și să le solicităm.
Pe Ubuntu, următoarea comandă va instala PAM-ul Google Authenticator. Deschideți o fereastră Terminal, tastați următoarea comandă, apăsați Enter și introduceți parola. Sistemul va descărca PAM din depozitele de software ale distribuției Linux și îl va instala:
sudo apt-get instalează libpam-google-autenator
Alte distribuții Linux ar trebui să aibă și acest pachet disponibil pentru instalare ușoară - deschideți depozitele de software ale distribuției Linux și efectuați o căutare pentru aceasta. În cel mai rău scenariu, puteți găsi codul sursă pentru modulul PAM pe GitHub și îl puteți compila singuri.
După cum am subliniat anterior, această soluție nu depinde de "apelarea acasă" la serverele Google. Acesta implementează algoritmul standard TOTP și poate fi folosit chiar și atunci când computerul nu are acces la Internet.
Creați-vă cheile de autentificare
Acum trebuie să creați o cheie de autentificare secretă și să o introduceți în aplicația Google Authenticator (sau o aplicație similară) de pe telefon. În primul rând, vă conectați ca cont de utilizator pe sistemul dvs. Linux. Deschideți o fereastră terminal și rulați google-authenticator comanda. Tip y și urmați instrucțiunile de aici. Acest lucru va crea un fișier special în directorul contului curent al utilizatorului cu ajutorul informațiilor din Google Authenticator.
De asemenea, veți trece prin procesul de obținere a acelui cod de verificare cu două factori într-o aplicație Google Authenticator sau o aplicație similară TOTP pe telefonul dvs. smartphone. Sistemul dvs. poate genera un cod QR pe care îl puteți scana sau îl puteți scrie manual.
Asigurați-vă că notați codurile de zgârieturi de urgență pe care le puteți utiliza pentru a vă conecta dacă pierdeți telefonul.
Treceți prin acest proces pentru fiecare cont de utilizator care utilizează computerul. De exemplu, dacă sunteți singura persoană care utilizează computerul, o puteți face o singură dată în contul dvs. normal de utilizator. Dacă aveți altcineva care vă folosește computerul, veți dori ca aceștia să se conecteze la propriul cont și să genereze un cod de două factori corespunzător pentru propriul cont, astfel încât aceștia să se poată conecta.
Activați autentificarea
Iată în cazul în care lucrurile devin un pic dicy. Când am explicat cum să activați doi factori pentru logare SSH, am cerut-o doar pentru login-urile SSH. Acest lucru a asigurat că vă puteți conecta la nivel local dacă ați pierdut aplicația de autentificare sau dacă ceva nu a mers bine.
Deoarece vom permite autentificarea cu două factori pentru conectările locale, există probleme potențiale aici. Dacă se întâmplă ceva în neregulă, este posibil să nu vă puteți conecta. Având în vedere acest lucru, vă vom ajuta să vă permiteți acest lucru numai pentru conectările grafice. Acest lucru vă oferă o trapă de evacuare dacă aveți nevoie de ea.
Activați Google Authenticator pentru conectări grafice pe Ubuntu
Puteți activa întotdeauna autentificarea în două etape numai pentru conectările grafice, depășind cerința atunci când vă conectați din promptul de text. Acest lucru înseamnă că puteți trece cu ușurință la un terminal virtual, intrați acolo și reveniți la modificările dvs., astfel încât Gogole Authenciator nu ar fi necesar dacă întâmpinați o problemă.
Sigur, acest lucru deschide o gaură în sistemul dvs. de autentificare, dar un atacator cu acces fizic la sistemul dvs. o poate exploata oricum. De aceea, autentificarea cu doi factori este deosebit de eficientă pentru conectările la distanță prin SSH.
Iată cum puteți face acest lucru pentru Ubuntu, care utilizează managerul de conectare LightDM. Deschideți fișierul LightDM pentru editare cu o comandă precum:
sudo gedit /etc/pam.d/lightdm
(Rețineți că acești pași specifici vor funcționa numai dacă distribuția și desktopul dvs. Linux utilizează managerul de conectare LightDM.)
Adăugați următoarea linie la sfârșitul fișierului și apoi salvați-l:
autorul a cerut pam_google_authenticator.so nullok
Bitul "nullok" de la capăt indică sistemului să permită conectarea unui utilizator chiar dacă nu a executat comanda google-authenticator pentru a configura autentificarea cu doi factori. Dacă au instalat-o, vor trebui să introducă un cod bazat pe timp - altfel nu vor. Eliminați conturile "nullok" și conturile de utilizatori care nu au creat un cod Google Authenticator doar că nu vor putea să se înregistreze grafic.
Data viitoare când un utilizator se conectează grafic, li se va cere parola și apoi va solicita codul de verificare actual afișat pe telefon. Dacă nu introduc codul de verificare, nu li se va permite să vă conectați.
Procesul ar trebui să fie destul de similar pentru alte distribuții Linux și desktop-uri, deoarece cei mai comuni manageri de sesiune desktop Linux folosesc PAM. Probabil va trebui doar să editați un fișier diferit cu ceva similar pentru a activa modulul PAM corespunzător.
Dacă utilizați criptarea directorului de domiciliu
Versiunile mai vechi ale Ubuntu au oferit o opțiune ușoară de "criptare a dosarului de domiciliu" care a criptat întregul dosar de acasă până când introduceți parola. În mod specific, aceasta folosește ecryptfs. Cu toate acestea, deoarece software-ul PAM depinde în mod implicit de un fișier Google Authenticator stocat în directorul dvs. de domiciliu, criptarea interferează cu citirea PAM a fișierului, cu excepția cazului în care vă asigurați că este disponibil în formă necriptată în sistem înainte de a vă conecta. Consultați README pentru mai multe informații despre evitarea acestei probleme dacă utilizați în continuare opțiunile de criptare ale directorului home depreciat.
Versiunile moderne ale Ubuntu oferă în schimb criptare full-disk, care va funcționa bine cu opțiunile de mai sus. Nu trebuie să faci nimic special
Ajutor, a rupt!
Pentru că tocmai am activat acest lucru pentru conectări grafice, ar trebui să fie ușor de dezactivat dacă provoacă o problemă. Apăsați o combinație de taste, cum ar fi Ctrl + Alt + F2, pentru a accesa un terminal virtual și conectați-vă acolo cu numele de utilizator și parola. Apoi puteți folosi o comandă ca sudo nano /etc/pam.d/lightdm pentru a deschide fișierul pentru editare într-un editor de text terminat. Utilizați ghidul nostru pentru Nano pentru a elimina linia și a salva fișierul și veți putea să vă conectați din nou în mod normal.
De asemenea, puteți solicita ca aplicația Google Authenticator să fie necesară pentru alte tipuri de conectări - eventual chiar toate intrările de sistem - prin adăugarea liniei "auth required pam_google_authenticator.so" în alte fișiere de configurare PAM. Fii atent dacă faci asta. Și rețineți că este posibil să doriți să adăugați "nullok", astfel încât utilizatorii care nu au trecut prin procesul de instalare să se poată conecta.
Documentația suplimentară privind modul de utilizare și configurare a acestui modul PAM poate fi găsită în fișierul README al software-ului de pe GitHub.