Pentru securitate suplimentară, puteți solicita un jeton de autentificare bazat pe timp precum și o parolă pentru a vă conecta la computerul Linux. Această soluție folosește Google Authenticator și alte aplicații TOTP.
Acest proces a fost efectuat pe Ubuntu 14.04 cu standardul Unity desktop și managerul de conectare LightDM, dar principiile sunt aceleași pe majoritatea distribuțiilor și desktopurilor Linux.
V-am arătat anterior cum să solicitați Google Authenticator pentru acces 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 Google Authenticator PAM
LEGATE DE: Cum să securizați SSH cu autentificarea în doi factori Google Authenticator
Ca și atunci când configurați acest lucru pentru acces SSH, va trebui mai întâi să instalăm software-ul PAM („modul de autentificare conectabil”) adecvat. 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 Google Authenticator PAM. Deschideți o fereastră Terminal, tastați următoarea comandă, apăsați Enter și furnizați parola. Sistemul va descărca PAM din depozitele software de distribuție Linux și îl va instala:
sudo apt-get install 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 și efectuați o căutare. În cel mai rău caz, puteți găsi codul sursă pentru modulul PAM de pe GitHub și compilați-l singur.
Așa cum am subliniat anterior, această soluție nu depinde de „apelarea acasă” către serverele Google. Acesta implementează algoritmul standard TOTP și poate fi utilizat chiar și atunci când computerul dvs. nu are acces la internet.
Creați cheile de autentificare
Acum va trebui 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ă terminal și rulați google-autentificator comanda. Tip Da și urmați instrucțiunile de aici. Aceasta va crea un fișier special în directorul contului de utilizator curent cu informațiile Google Authenticator.
Veți fi, de asemenea, parcurs prin procesul de a obține codul de verificare cu doi factori într-un 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 introduce manual.
Asigurați-vă că notați codurile de zgârieturi de urgență, pe care le puteți utiliza pentru a vă conecta dacă vă pierdeți telefonul.
Parcurgeți acest proces pentru fiecare cont de utilizator care utilizează computerul dvs. De exemplu, dacă sunteți singura persoană care vă folosește computerul, o puteți face o singură dată în contul dvs. normal de utilizator. Dacă aveți pe altcineva care vă folosește computerul, vă recomandăm 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ă conecta.
Activați autentificarea
Iată în care lucrurile devin un pic complicate. Când am explicat cum se activează doi factori pentru conectările SSH, am solicitat-o numai pentru conectările SSH. Acest lucru te-a asigurat că te poți conecta în continuare local dacă ți-ai pierdut aplicația de autentificare sau dacă ceva nu a mers bine.
Deoarece vom activa autentificarea în doi factori pentru conectările locale, există potențiale probleme aici. Dacă ceva nu merge bine, este posibil să nu vă puteți conecta. Având în vedere acest lucru, vă vom ajuta să activați acest lucru doar pentru conectările grafice. Acest lucru vă oferă o trapa de evacuare dacă aveți nevoie de ea.
Activați Google Authenticator pentru autentificări grafice pe Ubuntu
Puteți activa întotdeauna autentificarea în doi pași numai pentru conectările grafice, omitând cerința atunci când vă conectați de la promptul text. Acest lucru înseamnă că puteți trece cu ușurință la un terminal virtual, vă puteți conecta acolo și puteți reveni la modificările dvs., astfel încât Autenticatorul Gogole să nu fie necesar dacă aveți o problemă.
Sigur, 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 următoarea:
sudo gedit /etc/pam.d/lightdm
(Rețineți, acești pași specifici vor funcționa numai dacă distribuția și desktop-ul dvs. Linux utilizează managerul de conectare LightDM.)
Adăugați următoarea linie la sfârșitul fișierului, apoi salvați-l:
auth necesită pam_google_authenticator.so nullok
Bitul „nullok” de la sfârșit îi spune sistemului să permită unui utilizator să se conecteze chiar dacă nu a executat comanda google-authenticator pentru a configura autentificarea cu doi factori. Dacă l-au configurat, va trebui să introducă un cod de timp baesd - în caz contrar nu vor face acest lucru. Eliminați „nullok” și conturile de utilizator care nu au configurat un cod Google Authenticator pur și simplu nu se vor putea conecta grafic.
Data viitoare când un utilizator se conectează grafic, i se va solicita parola și apoi i se va solicita codul de verificare actual afișat pe telefon. Dacă nu introduc 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 majoritatea managerilor de sesiuni desktop desktop Linux folosesc PAM. Probabil va trebui doar să editați un alt fișier cu ceva similar pentru a activa modulul PAM corespunzător.
Dacă utilizați criptarea directorului principal
Versiunile mai vechi de Ubuntu au oferit un instrument ușor Opțiunea „criptare folder acasă” care a criptat întregul director de acasă până când introduceți parola. Mai exact, acesta folosește ecryptfs. Cu toate acestea, deoarece software-ul PAM depinde în mod implicit de un fișier Google Authenticator stocat în directorul dvs. principal, criptarea interferează cu citirea fișierului PAM, cu excepția cazului în care 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 a directorului de acasă depreciate.
Oferă versiuni moderne de Ubuntu criptare full-disk în schimb, care va funcționa bine cu opțiunile de mai sus. Nu trebuie să faci nimic special
Ajutor, s-a spart!
Deoarece tocmai am activat acest lucru pentru conectările grafice, ar trebui să fie ușor de dezactivat dacă cauzează o problemă. Apăsați o combinație de taste precum Ctrl + Alt + F2 pentru a accesa un terminal virtual și conectați-vă acolo cu numele de utilizator și parola. Puteți utiliza apoi o comandă precum sudo nano /etc/pam.d/lightdm pentru a deschide fișierul pentru editare într-un editor de text terminal. Utilizare ghidul nostru către 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 Google Authenticator să fie necesar pentru alte tipuri de autentificări - posibil chiar și pentru toate autentificările de sistem - adăugând linia „auth required pam_google_authenticator.so” la alte fișiere de configurare PAM. Fii atent dacă faci asta. Și amintiți-vă, poate doriți să adăugați „nullok”, astfel încât utilizatorii care nu au trecut prin procesul de configurare să se poată conecta în continuare.
Documentații suplimentare despre modul de utilizare și configurare a acestui modul PAM pot fi găsite în fișierul README al software-ului pe GitHub .