Autentificare desktop și autentificare utilizator Linux#
✓ |
✓ |
✓ |
✓ |
⨯ |
⨯ |
⨯ |
✓ |
Introducere#
This guide will walk you through the configuration of Linux to use FIDO Universal 2nd Factor, i.e. FIDO U2F with libpam-u2f
and Nitrokey FIDO2.
Dacă doriți să vă conectați la computer folosind Nitrokey Pro 2, Nitrokey Storage 2 și `Nitrokey Start <https://shop.nitrokey.com/shop/product/nk-sta-nitrokey-start-6><x>`__ puteți vizita instrucțiunile disponibile ` aici <../../pro/linux/login-with-pam.html>`_.
Cerințe#
Ubuntu 20.04 cu Gnome Display Manager.
Nitrokey FIDO2 configurat după aceste instrucțiuni.
Instrucțiuni#
Metoda GUI#
În colțul din stânga jos faceți clic pe
Show Applications`
și introduceți setările în bara de căutare după cum urmează:** Derulează în jos în bara din dreapta până la**
Users
În colțul din stânga faceți clic pe
Unlock`
și vă va cere parola.Selectați
Administrator`
și introduceți numele de utilizator și parola aleasă de dvs.După ce ați terminat pasul 4, ar trebui să fiți gata.
Metoda CLI#
Creează un utilizator de rezervă și acordă-i privilegii de root
Puteți face acest lucru utilizând aceste comenzi:
$ sudo adduser <backup_user> $ sudo usermod -aG sudo <backup_user>
În cazul în care preferați să configurați U2F pentru un singur utilizator și sunteți blocat în afara sesiunii de utilizator, veți putea totuși să vă conectați cu
<backup_user>
și să continuați cu întreținerea.Atenționare
Următorul ghid vă poate bloca în mod potențial accesul la computer. Trebuie să fiți conștient de aceste riscuri, deoarece se recomandă să utilizați mai întâi instrucțiunile de mai jos pe un computer secundar sau după o copie de rezervă completă.
Este posibil să pierdeți accesul la datele dvs. după configurarea modulelor PAM.
Configurați
rules`
pentru a recunoaște Nitrokey FIDO2.Sub
/etc/udev/rules.d`
download41-nitrokey.rules
$ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
Și reporniți serviciul
udev
$ sudo systemctl restart udev
Instalare
libpam-u2f`
Pe Ubuntu 20.04 este posibil să descărcați direct
libpam-u2f`
din depozitele oficiale$ sudo apt install libpam-u2f
Notă
Faceți clic pentru mai multe opțiuni
Alternativ, puteți construi
libpam-u2f`
din Git.Pentru a verifica dacă biblioteca este instalată corect, introduceți următoarea comandă:
$ file /lib/x86_64-linux-gnu/security/pam_u2f.so
Rezultatul ar trebui să fie ceva de genul următor:
/lib/x86_64-linux-gnu/security/pam_u2f.so: \ ELF 64-bit LSB shared object, x86-64, version 1 (SYSV),\ dynamically linked, BuildID[sha1]=1d55e1b11a97be2038c6a139579f6c0d91caedb1, stripped
Pregătiți directorul
Creați
`.config/Nitrokey/`
în directorul dvs. personal$ mkdir ~/.config/Nitrokey
Și conectați-vă Nitrokey FIDO2.
Odată terminată pregătirea, putem începe să configurăm computerul pentru a utiliza Nitrokey FIDO2 pentru autentificarea cu al doilea factor la autentificare și
sudo`
.Generați fișierul de configurare U2F
Pentru a genera fișierul de configurare vom folosi utilitarul
pamu2fcfg
care vine culibpam-u2f
. Pentru comoditate, vom scrie direct ieșirea utilitarului în fișierulu2f_keys
în.config/Nitrokey<x>
. Mai întâi conectați-vă Nitrokey FIDO2 (dacă nu ați făcut-o deja) și introduceți următoarea comandă:$ pamu2fcfg > ~/.config/Nitrokey/u2f_keys
După ce executați comanda de mai sus, va trebui să atingeți tasta în timp ce aceasta clipește. Odată ce ați făcut-o,
pamu2fcfg`
își va adăuga la ieșireu2f_keys
în următorul format:<username>:Zx...mw,04...0a
Rețineți, rezultatul va fi mult mai lung, dar părțile sensibile au fost eliminate aici. Pentru o mai bună securitate, și odată fișierul de configurare generat, vom muta directorul
.config/Nitrokey
sub directoruletc/
cu această comandă:$ sudo mv ~/.config/Nitrokey /etc
Sfat
Fișierul de sub
.config/Nitrokey
trebuie să se numeascău2f_keys`
Se recomandă să testați mai întâi instrucțiunile cu un singur utilizator. În acest scop, comanda anterioară ia opțiunea
-u
, pentru a specifica un utilizator, ca în exemplul de mai jos:$ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
Pentru configurarea utilizatorilor individuali, trebuie să indicați directorul de domiciliu în pasul următor sau să nu includeți opțiunea
authfile
în configurația PAM.
**Nu, nu.
Acest pas este opțional, însă se recomandă să aveți o Nitrokey de rezervă în caz de pierdere, furt sau distrugere a Nitrokey FIDO.
Pentru a configura o cheie de rezervă, repetați procedura de mai sus și utilizați
pamu2fcfg -n
. În acest fel se va omite câmpul<username>`
, iar rezultatul poate fi adăugat la linia cu<username>`
astfel:<username>:Zx...mw,04...0a:xB...fw,04...3f
Modificați modulul de autentificare Pluggable
PAM`
Ultimul pas este configurarea fișierelor modulului PAM sub
/etc/pam.d/`
. În acest ghid vom modifica fișierulcommon-auth`
, deoarece acesta gestionează setările de autentificare care sunt comune tuturor serviciilor, dar sunt posibile și alte opțiuni. Puteți modifica fișierul cu următoarea comandă:$ cd /etc/pam.d $ sudo $editor common-auth
Și adăugați următoarele linii în partea de sus a fișierului:
#Nitrokey FIDO2 config auth sufficient pam_u2f.so authfile=/etc/Nitrokey/u2f_keys cue prompt nouserok
Sfat
Deoarece folosim Central Authentication Mapping, trebuie să spunem
pam_u2f`
locația fișierului care trebuie utilizat cu opțiuneaauthfile
.Dacă uitați adesea să introduceți cheia,
prompt`
opțiunea face capam_u2f
să tipăreascăInsert your U2F device, then press ENTER.
și să vă dea șansa de a introduce Nitrokey.Dacă doriți să vi se solicite să atingeți Nitrokey,
cue`
opțiunea va face capam_u2f
să tipărească mesajulPlease touch the device.
.nouserok se va asigura că vă puteți autentifica folosind numele de utilizator și parola, s-ar putea să doriți să eliminați acest lucru la un moment dat, odată ce configurația funcționează și nu mai doriți să vă conectați cu numele de utilizator și parola.
După ce am modificat
common-auth
, putem salva și ieși din fișier.Puteți testa configurația tastând
sudo ls
în terminal. Ar trebui să vi se afișeze mesajulPlease touch the device.
și să aveți o ieșire similară pe terminal:nitrouser@nitrouser:~$ sudo ls [sudo] password for nitrouser: Please touch the device.
De asemenea, puteți testa configurația prin deconectarea din sesiunea de utilizator și reconectarea. Un ecran similar ar trebui să fie afișat după ce vă deconectați/reconectați Nitrokey FIDO2 și introduceți parola:
Utilizare#
După modificarea modulului PAM, veți putea testa imediat configurația, dar este recomandat să reporniți computerul și să deconectați/reconectați Nitrokey FIDO2.
După ce ați testat în mod corespunzător instrucțiunile din acest ghid (și ați configurat o copie de rezervă), se recomandă să utilizați fie steagul de control required
, fie steagul de control requisite
în loc de sufficient
.
Stegulețele required
și requisite
asigură un control mai strict al accesului și vor face ca Nitrokey FIDO2 să fie necesar pentru conectarea și/sau utilizarea serviciului configurat.
Dacă aveți nevoie de mai multe informații despre Control Flags în linia de configurare PAM
, puteți consulta ultima secțiune a acestui ghid pentru a înțelege diferența și implicațiile utilizării fiecăruia dintre ele.
Module PAM#
Există mai multe fișiere de module PAM care pot fi modificate în funcție de nevoile dumneavoastră:
Prin modificarea fișierului
/etc/pam.d/common-auth`
, veți putea utiliza Nitrokey FIDO pentru autentificarea cu al doilea factor pentru autentificarea grafică șisudo
. Notă:common-auth
trebuie modificat prin adăugarea liniei de configurare suplimentare la sfârșitul fișierului.Dacă doriți să folosiți autentificarea FIDO U2F doar pentru autentificarea grafică a lui Gnome, ați putea prefera să modificați următoarele elemente
/etc/pam.d/gdm-password
Alternativ, puteți modifica doar fișierul
/etc/pam.d/sudo`
dacă doriți să utilizați FIDO U2F atunci când folosiți comandasudo
.
Stegulețe de control#
În pasul 7 am folosit stegulețul de control sufficient
pentru a determina comportamentul modulului PAM atunci când Nitrokey este conectat sau nu. Cu toate acestea, este posibil să modificați acest comportament utilizând următoarele stegulețe de control:
required
: Acesta este cel mai critic indicator. Rezultatul modulului trebuie să fie de succes pentru ca autentificarea să continue. Acest indicator vă poate bloca accesul la computer dacă nu aveți acces la Nitrokey.requisite
: Similar cu`required
, însă, în cazul în care un anumit modul returnează un eșec, controlul este returnat direct aplicației sau stivei PAM superioare. Acest indicator vă poate bloca, de asemenea, în afara calculatorului dacă nu aveți acces la Nitrokey.sufficient
: Rezultatul modulului este ignorat în cazul în care nu reușește. Stegulețul`sufficient`
considerat sigur în scopuri de testare.optional
: Succesul sau eșecul acestui modul este important doar dacă este singurul modul din stivă asociat cu acest serviciu+tip. Steaguloptional`
este considerat a fi sigur de utilizat în scopuri de testare.
Atenționare
Dacă
required
saurequisite
este setat, eșecul autentificării U2F va cauza un eșec al autentificării generale. Eșecul va avea loc atunci când Nitrokey FIDO configurat nu este conectat, pierdut sau distrus.Veți pierde accesul la computer dacă ați configurat greșit modulul PAM și ați folosit stegulețele
required
saurequisite
.De asemenea, veți pierde posibilitatea de a utiliza
sudo`
dacă configurați Maparea de autentificare centrală și ați folosit stegulețelerequired
saurequisite`
.