Având în vedere amenințările cibernetice, autentificarea cu doi factori devine un lucru care ar trebui să intre în viața noastră online.
Eu mi-am achiziționat de curând un dispozitiv FEITIAN ePass FIDO2-NFC de la https://intech.ro/, versiunea de carcasă K9.
Dispozitivul se poate conecta la PC pe un port USB-A, dar are și conectivitate NFC, putând fi folosit și pe dispozitivele mobile care dețin aceasta facilitate.
Pe laptop-ul personal pe care îl folosesc acum (Dell Latitude E7440) rulează Linux Mint 18.3 „Sylvia” și doresc să folosesc autentificare cu cheie pentru diverse operații, cum ar fi: rularea comenzii sudo, autentificarea la pornire, dezactivare screensaver dar și autentificare 2FA la diverse servicii online: Google, Facebook etc.
Trebuie să recunosc că inițial m-am chinuit până să îl fac funcțional, dar după ce am adăugat fișierul /etc/udev/rules.d/70-u2f.rules cu următorul conținut totul a mers strună:
Mai departe este necesar să instalăm în linux pachetele necesare pentru U2F (Universal 2nd Factor):
apt install libpam-u2f pamu2fcfg
Urmează să generăm fișierul de mapare pentru U2F rulând comanda de mai jos, completând utilizatorul corect în cazul vostru în loc de <nume_utilizator_login>:
pamu2fcfg -u <nume_utilizator_login> > /tmp/u2f_mappings
După ce apasăm tasta Enter observăm că indicatorul luminos de pe FIDO2-NFC conectat în portul USB clipește și este necesar să îl atingem. Dacă analizăm fișierul rezultat vom observa conținutul acestuia este de genul:
Este necesar să rulăm aceași comandă și pentru utilizatorul root, dar nu înainte de a insera o linie goală în fișier:
echo >> /tmp/u2f_mappings
pamu2fcfg -u root >> /tmp/u2f_mappings
La fel ca și la pasul anterior, este necesar să atingem cheia în momentul când indicatorul luminos clipește. Dacă ne uităm iarăsi în fișierul /tmp/u2f_mappings observăm că s-au adăugat informații și despre utilizatorul root.
Urmează să mutăm acest fișier în directorul /etc pentru a fi folosit de către modulul pam-u2f:
sudo mv /tmp/u2f_mappings /etc/u2f_mappings
Urmează să configurăm PAM (pluggable authentication module) să foloseasca U2F. În directorul /etc/pam.d avem mai multe fișiere care sunt de fapt modulele pe care le putem configura individual. La mine arată în modul următor:
Dacă dorim de exemplu să folosim autentifcarea cu doi facturi pentru comanda sudo, vom adăuga la sfârșitul fișierului /etc/pam.d/sudo următoarea linie:
required pam_u2f.so authfile=/etc/u2f_mappings cue
Putem testa dacă funcționează corespunzător deschizând un alt terminal și rulând o comanda precedata de sudo, de exemplu sudo ls. Primul pas va fi solicitarea parolei corespunzătoare care trebuie introdusă, dar după introducerea corectă și apasarea tastei Enter va apare mesajul „Please touch the device.‘ iar indicatorul luminos de pe FEITIAN ePass FIDO2-NFC clipește și se așteaptă atingerea acestuia – pasul 2 al autentificării.
Dacă în 20 de secunde nu se realizeaza atingerea, se reia procesul cu pasul 1, fiind solicitată din nou parola și ulterior atingerea dispozitivului.
Dacă dispozitivul nu este conectat în portul USB, nu se poate realiza al doilea pas și nu apare nici mesajul de atingere ci direct mesajul de eroare „Sorry, try again.„
Comportamentul dorit de mine în cazul acestui laptop este un pic diferit de cel de mai sus. Astfel, în loc de autentificarea cu doi pași (2FA), doresc să ‘scap’ de tastarea unei parola la pornire/iesirea din screensaver/rulare sudo etc. In loc de tastarea parolei doresc să ating doar dispozitivul FEITIAN ePass FIDO2-NFC și să se realizeze autentificarea. Pentru acest lucru am șters linia introdusă anterior în fișierul /etc/pam.d/sudo și am adăugat în fișierul /etc/pam.d/common-auth, chiar la început următoarea linie:
auth sufficient pam_u2f.so authfile=/etc/u2f_mappings cue
Așadar este suficient să se realizeze autentificare folosind modulul U2F, fără a fi necesar să se parcugă celelalte metode de autentificare. În aceasta configurație, la rularea comenzii sudo ls nu mai este solicitată parola ci apare imediat mesajul „Please touch the device.” și indicatorul luminis de pe FEITIAN ePass FIDO2-NFC clipește. Dacă în 20 de secunde nu se atinge dispozitivul, este solicitata parola și se poate realiza autentificarea în acest mod. La fel, spre deosebire de prima varianta, dacă dispozitivul FEITIAN ePass FIDO2-NFC nu este conectat în portul USB al sistemului, se solicita direct parola de conectare, autentificarea avand loc fără probleme dacă se cunoaște parola.
Binînțeles că din punct de vedere al securității este recomandat a se folosi acest dispozitiv pentru autentificarea în 2 pași si nu doar ca substitut al parolei. Eu v-am prezentat ambele modalități, voi alegeti.
In articolele pe care le voi scrie ulterior voi prezenta cum puteți folosi FEITIAN ePass FIDO2-NFC pentru autentificarea 2FA la Google/Facebook etc.
Articole asemanatoare:
- Autentificare 2FA Google
- WordPress autentificare cu doi factori
- Activare cititor NFC/RFID pe laptop DELL (E7440)
- Raspberry Pi 2 – OpenVPN server – Bridge
- Au apărut
- ZTE ZXR 10 2609
- Certificat digital calificat de la DIGISIGN – semnătură electronică email
- Atenționare automată prin apel vocal
- Squid – acces pe baza de utilizator si parola
- Primii pasi in lumea FreeBSD-ului