Prisijungimas prie darbalaukio ir „Linux“ naudotojo autentiškumo nustatymas#

(Nitrokey FIDO U2F - Linux)

Įvadas#

Šiame vadove aprašoma, kaip konfigūruoti „Linux“, kad galėtumėte naudoti FIDO universalųjį antrąjį veiksnį, t. y. FIDO U2F su libpam-u2f ir 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#

  1. Kairiajame apatiniame kampe spustelėkite Show Applications ir paieškos juostoje įveskite šiuos nustatymus:.

vaizdas1
  1. Pereikite dešinėje juostoje žemyn iki Users

vaizdas2
  1. Kairiajame kampe spustelėkite Unlock ir tuomet bus paprašyta nurodyti slaptažodį.

vaizdas3
  1. Pasirinkite Administrator ir įveskite pasirinktą naudotojo vardą ir slaptažodį

vaizdas4
  1. Kai baigsite 4 žingsnį, turėtumėte būti baigę

vaizdas5

CLI metodas#

  1. Sukurkite atsarginį naudotoją ir suteikite jam root pivileges

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 duomenų.

  1. Nustatykite ``rules``**, kad atpažintų „Nitrokey FIDO2“**.

Pagal /etc/udev/rules.d atsisiųsti 41-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
  1. Į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-u2fGit.

  • 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
  1. 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.

  1. Generuoti U2F konfigūracijos failą

Konfigūracijos failui sukurti naudosime pamu2fcfg įrankį, kuris pateikiamas kartu su libpam-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ą.

  1. 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
  1. Pakeisti prijungiamą autentifikavimo modulį PAM

Paskutinis žingsnis - sukonfigūruoti PAM modulio failus /etc/pam.d/. Šiame vadove modifikuosime common-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

Ir pridėkite š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 naudojant authfile parinktį.

  • Jei dažnai pamirštate įkišti raktą, prompt parinktis pam_u2f spausdina Insert your U2F device, then press ENTER. ir suteikia jums galimybę įdėti „Nitrokey“ raktą.

  • Jei norite, kad jus paragintų paliesti „Nitrokey“, cue parinktis leis pam_u2f spausdinti Please 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į:

vaizdas6

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 ir sudo. 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 naudojate sudo 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 kaip required, 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 arba requisite, 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 arba requisite vėliavėles, neteksite prieigos prie kompiuterio.

  • Taip pat neteksite galimybės naudoti sudo, jei nustatysite centrinį autentifikavimo atvaizdavimą. ir naudojote required arba </x>`requisite vėliavėles.