Prihlasovanie do počítača a overovanie používateľov systému Linux¶
| Compatible Nitrokeys | |||||||
|---|---|---|---|---|---|---|---|
| ✓ active | ✓ active | ⨯ inactive | ⨯ inactive | ✓ active | ⨯ inactive | ⨯ inactive | ✓ active | 
Úvod¶
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.
If you want to login to you computer using Nitrokey Pro 2, Nitrokey Storage 2 and Nitrokey Start you can visit the instructions available here.
Požiadavky¶
- Ubuntu 20.04 so správcom zobrazenia Gnome. 
- Nitrokey FIDO2 nakonfigurovaný podľa týchto pokynov. 
Pokyny¶
Metóda grafického rozhrania¶
- V ľavom dolnom rohu kliknite na - Show Applicationsa do vyhľadávacieho riadku zadajte nasledujúce nastavenia:  
- Prejdite v pravom paneli nadol na - Users  
- V ľavom rohu kliknite na - Unlocka zobrazí sa výzva na zadanie hesla  
- Vyberte - Administratora zadajte zvolené používateľské meno a heslo  
- Po dokončení kroku 4 by ste mali byť hotoví   
Metóda CLI¶
- Vytvorte záložného používateľa a dajte mu práva root - Môžete tak urobiť pomocou týchto príkazov: - $ sudo adduser <backup_user> $ sudo usermod -aG sudo <backup_user> - V prípade, že uprednostňujete nastavenie U2F pre jedného používateľa a ste uzamknutí v relácii používateľa, stále sa budete môcť prihlásiť pomocou - <backup_user>a pokračovať v údržbe.- Varovanie - Nasledujúci návod vás môže potenciálne zablokovať v počítači. Mali by ste si byť vedomí týchto rizík, pretože sa odporúča použiť nižšie uvedené pokyny najprv na sekundárnom počítači alebo po úplnom zálohovaní. - Po konfigurácii modulov PAM môžete stratiť prístup k svojim údajom. 
- Nastavenie - rulesna rozpoznanie zariadenia Nitrokey FIDO2- Pod - /etc/udev/rules.dstiahnuť- 41-nitrokey.rules- $ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/nitrokey-udev-rules/main/41-nitrokey.rules - A reštartujte - udevslužbu- $ sudo systemctl restart udev 
- Inštalácia - libpam-u2f- V Ubuntu 20.04 je možné stiahnuť priamo - libpam-u2fz oficiálnych repozitárov- $ sudo apt install libpam-u2f - Poznámka - Kliknite pre viac možností - Prípadne môžete zostaviť - libpam-u2fz Git.
- Ak chcete overiť, či je knižnica správne nainštalovaná, zadajte nasledujúci príkaz: 
 - $ file /lib/x86_64-linux-gnu/security/pam_u2f.so - Výstup by mal byť podobný nasledujúcemu: - /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 
- Príprava adresára - Vytvorte - .config/Nitrokey/v domovskom adresári- $ mkdir ~/.config/Nitrokey - A pripojte zariadenie Nitrokey FIDO2. - Po dokončení prípravy môžeme začať konfigurovať počítač na používanie Nitrokey FIDO2 na overenie 2. faktora pri prihlásení a - sudo.
- Generovanie konfiguračného súboru U2F - Na vygenerovanie konfiguračného súboru použijeme - pamu2fcfgnástroj, ktorý sa dodáva s- libpam-u2f. Pre pohodlie budeme výstup utility zapisovať priamo do- u2f_keyssúboru pod- .config/Nitrokey. Najprv pripojte svoj Nitrokey FIDO2 (ak ste tak ešte neurobili) a zadajte nasledujúci príkaz:- $ pamu2fcfg > ~/.config/Nitrokey/u2f_keys - Once you run the command above, you will need to touch the device while it flashes. Once done, - pamu2fcfgwill append its output the- u2f_keysin the following format:- <username>:Zx...mw,04...0a - Pozor, výstup bude oveľa dlhší, ale citlivé časti tu boli odstránené. Pre lepšiu bezpečnosť a po vygenerovaní konfiguračného súboru presunieme týmto príkazom adresár - .config/Nitrokeypod adresár- etc/:- $ sudo mv ~/.config/Nitrokey /etc - Tip - Súbor pod - .config/Nitrokeymusí mať názov- u2f_keys
- Odporúčame najprv otestovať pokyny s jedným používateľom. Na tento účel sa v predchádzajúcom príkaze použije možnosť - -u, ktorou sa určí používateľ, ako v nasledujúcom príklade:- $ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys 
- V prípade konfigurácie jednotlivých používateľov by ste mali v ďalšom kroku poukázať na domovský adresár, alebo do konfigurácie PAM nezahrnúť možnosť - authfile.
 
- Zálohovanie - Tento krok nie je povinný, odporúča sa však mať záložný kľúč Nitrokey pre prípad straty, krádeže alebo zničenia vášho kľúča Nitrokey FIDO. - Ak chcete nastaviť záložný kľúč, zopakujte vyššie uvedený postup a použite - pamu2fcfg -n. Tým sa vynechá pole- <username>a výstup môžete pripojiť k riadku s vaším- <username>takto:- <username>:Zx...mw,04...0a:xB...fw,04...3f 
- Modifikácia zásuvného modulu overovania - PAM- Posledným krokom je konfigurácia súborov modulu PAM v časti - /etc/pam.d/. V tomto návode budeme upravovať súbor- common-auth, pretože spracúva nastavenia overovania, ktoré sú spoločné pre všetky služby, ale možné sú aj iné možnosti. Súbor môžete upraviť pomocou nasledujúceho príkazu:- $ cd /etc/pam.d $ sudo $editor common-auth - A na začiatok súboru pridajte nasledujúce riadky: - #Nitrokey FIDO2 config auth sufficient pam_u2f.so authfile=/etc/Nitrokey/u2f_keys cue [cue_prompt=Please touch the device.] prompt nouserok - Tip - Keďže používame centrálne autentifikačné mapovanie, musíme povedať - pam_u2fumiestnenie súboru, ktorý sa má použiť pomocou možnosti- authfile.
- Ak často zabúdate vložiť kľúč, - promptmožnosť, aby- pam_u2fvypísala- Insert your U2F device, then press ENTER.a dala vám možnosť vložiť kľúč Nitro.
- If you would like to be prompted to touch the Nitrokey, - cueoption will make- pam_u2fprint- Please touch the device.message. You can change the message in- [cue_prompt=Please touch the device.].
- nouserok zabezpečí, že sa stále môžete prihlásiť pomocou používateľského mena a hesla, možno ho budete chcieť odstrániť v určitom okamihu, keď bude nastavenie fungovať a nebudete chcieť pravidelné prihlasovanie pomocou používateľského mena a hesla. 
 - Po úprave - common-authmôžeme súbor uložiť a ukončiť.- Konfiguráciu môžete otestovať zadaním - sudo lsv termináli. Mala by sa vám zobraziť správa- Please touch the device.a na termináli by ste mali mať podobný výstup:- nitrouser@nitrouser:~$ sudo ls [sudo] password for nitrouser: Please touch the device. - Konfiguráciu môžete otestovať aj tak, že sa odhlásite z relácie používateľa a prihlásite sa späť. Podobná obrazovka by sa mala zobraziť po odpojení/zapojení zariadenia Nitrokey FIDO2 a zadaní hesla:   
Používanie¶
Po úprave modulu PAM budete môcť hneď otestovať konfiguráciu, ale odporúča sa reštartovať počítač a odpojiť/zapojiť Nitrokey FIDO2.
Po správnom otestovaní pokynov v tejto príručke (a nastavení zálohovania), odporúčame použiť buď required alebo requisite kontrolný príznak namiesto sufficient.
Príznaky required a requisite zabezpečujú prísnejšiu kontrolu prístupu a na prihlásenie a/alebo používanie nakonfigurovanej služby je potrebné použiť Nitrokey FIDO2.
Ak potrebujete viac informácií o riadiacich príznakoch v konfiguračnom riadku PAM, môžete si pozrieť poslednú časť tejto príručky, aby ste pochopili rozdiel a dôsledky používania jednotlivých príznakov.
Moduly PAM¶
Existuje niekoľko súborov modulov PAM, ktoré môžete upraviť podľa svojich potrieb:
- Úpravou - /etc/pam.d/common-authsúboru budete môcť používať Nitrokey FIDO pre 2. faktor autentifikácie pre grafické prihlásenie a- sudo. Poznámka:- common-authje potrebné upraviť pridaním dodatočného konfiguračného riadku na koniec súboru.
- If you wish to use FIDO U2F authentication solely for Gnome’s graphic login, you might prefer to modify the - /etc/pam.d/gdm-password
- Prípadne môžete len upraviť súbor - /etc/pam.d/sudo, ak chcete používať FIDO U2F pri použití príkazu- sudo.
Kontrolné príznaky¶
V kroku 7 sme použili sufficient kontrolný príznak na určenie správania modulu PAM, keď je alebo nie je zapojený kľúč Nitrokey. Toto správanie je však možné zmeniť pomocou nasledujúcich riadiacich príznakov:
- required: Toto je najkritickejší príznak. Výsledok modulu musí byť úspešný, aby overovanie mohlo pokračovať. Tento príznak môže zablokovať váš počítač, ak nemáte prístup ku kľúču Nitrokey.
- requisite: Podobne ako- required, avšak v prípade, že konkrétny modul vráti chybu, riadenie sa vráti priamo aplikácii alebo nadradenému zásobníku PAM. Tento príznak vás tiež môže zablokovať v počítači, ak nemáte prístup ku kľúču Nitrokey.
- sufficient: Výsledok modulu sa v prípade neúspechu ignoruje. Príznak- sufficientsa považuje za bezpečný na účely testovania.
- optional: Úspech alebo zlyhanie tohto modulu je dôležité len vtedy, ak je to jediný modul v zásobníku spojený s týmto typom služby+. Príznak- optionalsa považuje za bezpečný na použitie na účely testovania.
Varovanie
- Ak je nastavené - requiredalebo- requisite, zlyhanie overovania U2F spôsobí zlyhanie celkového overovania. K zlyhaniu dôjde, ak nakonfigurovaný kľúč Nitrokey FIDO nie je zapojený, stratí sa alebo sa zničí.
- Prístup k počítaču stratíte, ak ste nesprávne nakonfigurovali modul PAM a použili príznaky - requiredalebo- requisite.
- Ak nastavíte centrálne mapovanie overovania, stratíte aj možnosť používať - sudoa použili príznaky- requiredalebo- requisite.