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 efectuat 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.
Ca atunci când configurați acest lucru pentru accesul SSH, va trebui mai întâi să instalați software-ul adecvat PAM ("modul 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ă, desigur, 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.
Așa 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 calculatorul nu are acces la Internet.
Acum trebuie să creați o cheie secretă de autentificare și să o introduceți în aplicația Google Authenticator (sau o aplicație similară) de pe telefon. Mai întâi, conectați-vă 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 informațiile 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 dvs., 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 corespunzător cu doi factori pentru propriul cont, astfel încât să se poată loga.
Iată în cazul în care lucrurile devin un pic dicy. Când ne-am explicat cum să activați doi factori pentru login-urile 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.
De vreme ce 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 doar pentru conectările grafice. Acest lucru vă oferă o trapă de evacuare dacă aveți nevoie de ea.
Puteți activa întotdeauna autentificarea în două etape numai pentru conectările grafice, sărind peste cerință atunci când vă logaț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 să nu fie necesară dacă întâmpinați o problemă.
Desigur, acest lucru deschide o gaură în sistemul dvs. de autentificare, dar un atacator cu acces fizic la sistemul dvs. îl 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:
auth necesar 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 utilizator care nu au creat un cod Google Authenticator 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 obișnuiți administratori de sesiuni de desktop Linux utilizează PAM. Probabil trebuie doar să editați un fișier diferit cu ceva similar pentru a activa modulul PAM corespunzător.
Versiunile mai vechi ale Ubuntu au oferit o opțiune ușoară de "criptare a dosarului de domiciliu" care a criptat întregul director de acasă până când introduceți parola. În mod specific, acest lucru utilizează 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, decât dacă vă asigurați că este disponibil în sistem 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
Pentru că 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 terminal. 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 Google Authenticator să fie necesar pentru alte tipuri de conectări - chiar și pentru 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 în continuare.
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.