Prisijungimas prie darbalaukio ir „Linux“ naudotojo autentiškumo nustatymas#
Įvadas#
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.
Jei norite prisijungti prie kompiuterio naudodami „Nitrokey Pro 2“, Nitrokey Storage 2 ir Nitrokey Pradėti galite apsilankę instrukcijose, kurias rasite čia.
Reikalavimai#
Ubuntu 20.04 su „Gnome Display Manager“.
Nitrokey FIDO2 sukonfigūruotas pagal šias instrukcijas.
Instrukcijos#
GUI metodas#
Kairiajame apatiniame kampe spustelėkite
Show Applications
ir paieškos juostoje įveskite šiuos nustatymus:.Pereikite dešinėje juostoje žemyn iki
Users
Kairiajame kampe spustelėkite
Unlock
ir tuomet bus paprašyta nurodyti slaptažodį.Pasirinkite
Administrator
ir įveskite pasirinktą naudotojo vardą ir slaptažodįKai baigsite 4 žingsnį, turėtumėte būti baigę
CLI metodas#
Sukurkite atsarginės kopijos naudotoją ir suteikite jam root teises
Tai galite padaryti naudodami šias komandas:
$ sudo adduser <backup_user> $ sudo usermod -aG sudo <backup_user>
Jei pageidaujate nustatyti U2F vienam naudotojui ir esate užblokuotas iš naudotojo seanso, vis tiek galėsite prisijungti naudodami
<backup_user>
ir tęsti techninę priežiūrą.Įspėjimas
Šis vadovas gali užblokuoti jūsų kompiuterį. Turėtumėte žinoti apie šią riziką, nes rekomenduojama toliau pateiktus nurodymus pirmiausia naudoti antriniame kompiuteryje arba atlikus visą atsarginę kopiją.
Sukonfigūravę PAM modulius galite prarasti prieigą prie savo duomenų.
Nustatykite ``rules``**, kad atpažintų „Nitrokey FIDO2“**.
Pagal
/etc/udev/rules.d
atsisiųsti41-nitrokey.rules
$ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
Ir iš naujo paleiskite
udev
paslaugą$ sudo systemctl restart udev
Įdiegimas
libpam-u2f
Ubuntu 20.04 galima atsisiųsti tiesiogiai
libpam-u2f
iš oficialių saugyklų$ sudo apt install libpam-u2f
Pastaba
Spustelėkite, jei norite daugiau parinkčių
Arba galite sukurti
libpam-u2f
iš Git.Norėdami patikrinti, ar biblioteka tinkamai įdiegta, įveskite šią komandą:
$ file /lib/x86_64-linux-gnu/security/pam_u2f.so
Išvestis turėtų būti tokia:
/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
Parengti katalogą
Sukurkite
.config/Nitrokey/
savo namų kataloge$ mkdir ~/.config/Nitrokey
Ir prijunkite „Nitrokey FIDO2“.
Baigę paruošiamuosius darbus, galime pradėti konfigūruoti kompiuterį, kad jis naudotų „Nitrokey FIDO2“ 2-ojo veiksnio autentifikavimui prisijungiant ir
sudo
.Generuoti U2F konfigūracijos failą
Konfigūracijos failui sukurti naudosime
pamu2fcfg
įrankį, kuris pateikiamas kartu sulibpam-u2f
. Patogumo dėlei šios programos išvestį tiesiogiai įrašysime į``u2f_keys
failą, esantį.config/Nitrokey
. Pirmiausia prijunkite „Nitrokey FIDO2“ (jei dar neprijungėte) ir įveskite šią komandą:$ pamu2fcfg > ~/.config/Nitrokey/u2f_keys
Paleidę pirmiau pateiktą komandą, turėsite paliesti klavišą, kol jis mirksi. Tai atlikus,
pamu2fcfg
pridės savo išvestįu2f_keys
tokiu formatu:<username>:Zx...mw,04...0a
Atkreipkite dėmesį, kad išvestis bus daug ilgesnė, tačiau čia pašalintos jautrios dalys. Dėl didesnio saugumo ir sugeneravę konfigūracijos failą, šia komanda perkelsime
.config/Nitrokey
katalogą į</x id="199"></x>
katalogą:$ sudo mv ~/.config/Nitrokey /etc
Patarimas
Failas po
.config/Nitrokey
turi būti pavadintas</x id="52"></x>
.Pirmiausia rekomenduojama instrukcijas išbandyti su vienu naudotoju. Šiuo tikslu ankstesnėje komandoje naudojama
-u
parinktis naudotojui nurodyti, kaip toliau pateiktame pavyzdyje:$ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
Atskiro naudotojo konfigūravimui kitame žingsnyje turėtumėte nurodyti namų katalogą arba neįtraukti
authfile
parinkties į PAM konfigūraciją.
Atsarginė kopija
Šis veiksmas neprivalomas, tačiau rekomenduojama turėti atsarginę „Nitrokey“ kopiją, jei prarastumėte, pavogtumėte ar sunaikintumėte savo „Nitrokey“ FIDO.
Norėdami nustatyti atsarginį raktą, pakartokite pirmiau aprašytą procedūrą ir naudokite
pamu2fcfg -n
. Taip bus praleistas laukas<username>
, o išvestį galima pridėti prie eilutės su jūsų<username>
taip:<username>:Zx...mw,04...0a:xB...fw,04...3f
Pakeisti prijungiamą autentifikavimo modulį
PAM
Paskutinis žingsnis - sukonfigūruoti PAM modulio failus
/etc/pam.d/
. Šiame vadove modifikuosimecommon-auth
failą, nes jame tvarkomi visoms paslaugoms bendri autentifikavimo nustatymai, tačiau galimi ir kiti variantai. Šį failą galite keisti naudodami šią komandą:$ cd /etc/pam.d $ sudo $editor common-auth
Failo viršuje įrašykite šias eilutes:
#Nitrokey FIDO2 config auth sufficient pam_u2f.so authfile=/etc/Nitrokey/u2f_keys cue prompt nouserok
Patarimas
Kadangi naudojame centrinį autentifikavimo atvaizdavimą, reikia nurodyti
pam_u2f
failo vietą, kurią reikia naudoti naudojantauthfile
parinktį.Jei dažnai pamirštate įkišti raktą,
prompt
parinktispam_u2f
spausdinaInsert your U2F device, then press ENTER.
ir suteikia jums galimybę įdėti „Nitrokey“ raktą.Jei norite, kad jus paragintų paliesti „Nitrokey“,
cue
parinktis leispam_u2f
spausdintiPlease touch the device.
pranešimą.nouserok užtikrins, kad vis dar galėsite prisijungti naudodami vartotojo vardą ir slaptažodį; galbūt norėsite tai pašalinti, kai sąranka pradės veikti ir nenorėsite įprastų prisijungimų, pagrįstų vartotojo vardu ir slaptažodžiu.
Pakeitę
common-auth
, galime išsaugoti ir išeiti iš failo.Konfigūraciją galite išbandyti terminale įvesdami
sudo ls
. Turėtumėte gauti pranešimąPlease touch the device.
ir gauti panašią išvestį terminale:nitrouser@nitrouser:~$ sudo ls [sudo] password for nitrouser: Please touch the device.
Konfigūraciją taip pat galite išbandyti išeidami iš naudotojo seanso ir vėl prisijungdami. Panašus ekranas turėtų būti rodomas, kai atjungsite / vėl prijunkite „Nitrokey FIDO2“ ir įvesite slaptažodį:
Naudojimas#
Po PAM modulio modifikavimo galėsite iš karto išbandyti konfigūraciją, tačiau rekomenduojama perkrauti kompiuterį ir atjungti / prijungti „Nitrokey FIDO2“.
Tinkamai išbandę šiame vadove pateiktus nurodymus (ir sukūrę atsarginę kopiją), rekomenduojama naudoti required
arba </x>`requisite
valdymo vėliavą vietoj sufficient
.
Žymos </x id="12"></x>
ir </x id="29"></x>
užtikrina griežtesnę prieigos kontrolę, todėl norint prisijungti ir (arba) naudotis sukonfigūruota paslauga, būtina naudoti „Nitrokey FIDO2“.
Jei reikia daugiau informacijos apie valdymo žymes PAM
konfigūracijos eilutėje, galite peržiūrėti paskutinį šio vadovo skyrių, kad suprastumėte skirtumus ir kiekvienos iš jų naudojimo pasekmes.
PAM moduliai#
Yra keli PAM modulių failai, kuriuos galima keisti pagal savo poreikius:
Pakeitę
</x id="15"></x>
failą, galėsite naudoti „Nitrokey FIDO“ 2-ojo faktoriaus autentifikavimui grafiniam prisijungimui irsudo
. Pastaba:common-auth
reikėtų pakeisti pridedant papildomą konfigūracijos eilutę failo pabaigoje.Jei norite naudoti FIDO U2F autentifikavimą tik „Gnome“ grafiniam prisijungimui, galite pakeisti
/etc/pam.d/gdm-password
Arba galite tiesiog pakeisti
/etc/pam.d/sudo
failą, jei norite naudoti FIDO U2F, kai naudojatesudo
komandą.
Valdymo vėliavos#
7 žingsnyje naudojome sufficient
kontrolinę vėliavėlę, kad nustatytume PAM modulio elgseną, kai „Nitrokey“ yra prijungtas arba ne. Tačiau šią elgseną galima pakeisti naudojant šias valdymo vėliavėles:
required
: Tai svarbiausia vėliava. Modulio rezultatas turi būti sėkmingas, kad autentifikavimas būtų tęsiamas. Ši vėliava gali užblokuoti jūsų kompiuterį, jei neturite prieigos prie „Nitrokey“.requisite
: Panašiai kaiprequired
, tačiau tuo atveju, kai konkretus modulis grąžina nesėkmę, valdymas tiesiogiai grąžinamas programai arba aukštesniajam PAM kaminui. Ši vėliava taip pat gali užblokuoti kompiuterį, jei neturite prieigos prie „Nitrokey“.sufficient
: Modulio rezultatas ignoruojamas, jei jis nepavyksta.sufficient
vėliava laikoma saugia testavimo tikslais.optional
: Šio modulio sėkmė ar nesėkmė svarbi tik tuo atveju, jei jis yra vienintelis kamino modulis, susijęs su šiuo paslaugos+tipu.optional
vėliava laikoma saugia naudoti testavimo tikslais.
Įspėjimas
Jei nustatyta
required
arbarequisite
, nepavykus U2F autentifikavimui, nepavyksta atlikti viso autentifikavimo. Nesėkmė įvyks, kai sukonfigūruotas „Nitrokey FIDO“ nebus prijungtas, prarastas arba sunaikintas.Jei neteisingai sukonfigūravote PAM modulį ir naudojote
required
arbarequisite
vėliavėles, neteksite prieigos prie kompiuterio.Taip pat neteksite galimybės naudoti
sudo
, jei nustatysite centrinį autentifikavimo atvaizdavimą. ir naudojoterequired
arba</x>`requisite
vėliavėles.