Prihlasovanie do počítača a overovanie používateľov systému Linux#
✓ |
✓ |
✓ |
✓ |
⨯ |
⨯ |
⨯ |
✓ |
Ú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.
Ak sa chcete prihlásiť do počítača pomocou Nitrokey Pro 2, Nitrokey Storage 2 a Nitrokey Štart môžete navštíviť návod dostupný tu.
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 Applications
a do vyhľadávacieho riadku zadajte nasledujúce nastavenia:Prejdite v pravom paneli nadol na
Users
V ľavom rohu kliknite na
Unlock
a zobrazí sa výzva na zadanie heslaVyberte
Administrator
a zadajte zvolené používateľské meno a hesloPo 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
rules
na rozpoznanie zariadenia Nitrokey FIDO2Pod
/etc/udev/rules.d
stiahnuť41-nitrokey.rules
$ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
A reštartujte
udev
službu$ sudo systemctl restart udev
Inštalácia
libpam-u2f
V Ubuntu 20.04 je možné stiahnuť priamo
libpam-u2f
z oficiálnych repozitárov$ sudo apt install libpam-u2f
Poznámka
Kliknite pre viac možností
Prípadne môžete zostaviť
libpam-u2f
z 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
pamu2fcfg
nástroj, ktorý sa dodáva slibpam-u2f
. Pre pohodlie budeme výstup utility zapisovať priamo dou2f_keys
sú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
Po spustení vyššie uvedeného príkazu sa musíte dotknúť tlačidla, kým bliká. Po vykonaní príkazu
pamu2fcfg
pripojí svoj výstupu2f_keys
v nasledujúcom formáte:<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/Nitrokey
pod adresáretc/
:$ sudo mv ~/.config/Nitrokey /etc
Tip
Súbor pod
.config/Nitrokey
musí mať názovu2f_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úborcommon-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 prompt nouserok
Tip
Keďže používame centrálne autentifikačné mapovanie, musíme povedať
pam_u2f
umiestnenie súboru, ktorý sa má použiť pomocou možnostiauthfile
.Ak často zabúdate vložiť kľúč,
prompt
možnosť, abypam_u2f
vypísalaInsert your U2F device, then press ENTER.
a dala vám možnosť vložiť kľúč Nitro.Ak sa chcete dotknúť tlačidla Nitrokey,
cue
možnosť spôsobí, žepam_u2f
vypíšePlease touch the device.
správu.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-auth
môžeme súbor uložiť a ukončiť.Konfiguráciu môžete otestovať zadaním
sudo ls
v termináli. Mala by sa vám zobraziť správaPlease 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-auth
súboru budete môcť používať Nitrokey FIDO pre 2. faktor autentifikácie pre grafické prihlásenie asudo
. Poznámka:common-auth
je potrebné upraviť pridaním dodatočného konfiguračného riadku na koniec súboru.Ak chcete používať overovanie FIDO U2F výlučne pre grafické prihlásenie do systému Gnome, môžete radšej upraviť
/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íkazusudo
.
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 akorequired
, 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íznaksufficient
sa 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íznakoptional
sa považuje za bezpečný na použitie na účely testovania.
Varovanie
Ak je nastavené
required
aleborequisite
, 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
required
aleborequisite
.Ak nastavíte centrálne mapovanie overovania, stratíte aj možnosť používať
sudo
a použili príznakyrequired
aleborequisite
.