31Aug
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ă aveți nevoie de Google Authenticator pentru 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 stabiliț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 instalare libpam-google-authenticator
Alte distribuții Linux ar trebui să aibă acest pachet disponibil și pentru instalare ușoară - deschideți depozitele de software ale distribuției Linux șiefectuaț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 arătat mai sus, această soluție nu depinde de "apelarea acasă" la serverele Google. Acesta implementează algoritmul standard TOTP și poate fi utilizat chiar și atunci când computerul nu are acces la Internet.
Creați-vă cheile de autentificare
Acum veți avea nevoie 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. Mai întâi, conectați-vă ca cont de utilizator pe sistemul dvs. Linux. Deschideți o fereastră de terminal și executați comanda google-authenticator .Tastați 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 de 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 să le înscrieți în contul propriu și să generați un cod corespunzător cu doi factori pentru propriul cont, astfel încât să se poată loga.

Activare autentificare
Iată undelucrurile devin puțin dică.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.
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 doar pentru conectările grafice. Acest lucru vă oferă o trapă de evacuare dacă aveți nevoie de ea.
Activați Google Authenticator pentru logistică grafică pe Ubuntu
Aveți posibilitatea să activați întotdeauna autentificarea în două etape doar pentru conectările grafice, sărind peste cerință 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 să nu fie necesară dacă întâmpinați o problemă.
Desigur, aceasta 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 se face acest lucru pentru Ubuntu, care utilizează managerul de conectare LightDM.Deschideți fișierul LightDM pentru editare cu o comandă, cum ar fi:
sudo gedit /etc/pam.d/ lightdm
( Rețineți că acești pași specifici vor funcționa numai dacă distribuția dvs. Linux și desktopul utilizează managerul de conectare LightDM.)
Se adaugă următoarea linie la sfârșitulfișierul și apoi salvați-l:
auth required pam_google_authenticator.so nullok
Bitul "nullok" de la capăt indică sistemului să permită conectarea unui utilizator chiar dacă nu au executat comanda google-autenator pentru a seta două-factor de autentificare. 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 intră în codul de verificare, nu li se va permite să se conecteze.
Procesul ar trebui să fie destul de similar pentru alte distribuții și desktop-uri Linux, deoarece cei mai obișnuiți administratori de sesiuni de desktop Linux utilizează PAM.Probabil trebuie doar să editați un alt fișier cu ceva similar pentru a activa modulul PAM corespunzător.
Dacă utilizați criptarea principală a directorului
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ă acesta este disponibil în sistem necriptat în sistem înainte de a vă conecta. Consultați README pentru mai multeinformații despre evitarea acestei probleme dacă utilizați încă 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, este rupt!
Pentru că am activat acest lucru pentru conectările 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ă precum 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, ați putea forța 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. Amintiți-vă că ați putea adăuga "nullok", astfel încât utilizatorii care nu au trecut prin procesul de instalare pot să se conecteze.
Documentația suplimentară privind modul de utilizare și configurare a acestui modul PAM poate fi găsită în fișierul README al programului GitHub.