Asztali bejelentkezés és Linux felhasználói hitelesítés#
Bevezetés#
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.
Ha a Nitrokey Pro 2 segítségével szeretne bejelentkezni a számítógépére, Nitrokey Storage 2 és Nitrokey Indítás a itt elérhető útmutatót tekintheti meg.
Követelmények#
Ubuntu 20.04 Gnome Display Managerrel.
A Nitrokey FIDO2 konfigurálása a ezen utasítások szerint.
Utasítások#
GUI módszer#
A bal alsó sarokban kattintson a
Show Applications
és írja be a következő beállításokat a keresősávba:Görgessen lefelé a jobb oldali sávban
Users
A bal sarokban kattintson a
Unlock
és ez kéri a jelszavát.Válassza ki
Administrator
és adja meg az Ön által választott felhasználónevet és jelszót.Ha befejezted a 4. lépést, akkor kész is vagy
CLI módszer#
Hozzon létre egy biztonsági mentési felhasználót, és adjon neki root jogosultságokat
Ezt a következő parancsok segítségével teheti meg:
$ sudo adduser <backup_user> $ sudo usermod -aG sudo <backup_user>
Abban az esetben, ha az U2F-et inkább egyetlen felhasználó számára szeretné beállítani, és ki van zárva a felhasználói munkamenetből, akkor is be tud jelentkezni a
<backup_user>
segítségével, és folytathatja a karbantartást.Figyelem
Az alábbi útmutató potenciálisan kizárhatja Önt a számítógépéből. Tisztában kell lennie ezekkel a kockázatokkal, mivel ajánlott először egy másodlagos számítógépen, vagy egy teljes biztonsági mentés után használni az alábbi utasításokat.
A PAM modulok konfigurálása után elveszítheti az adataihoz való hozzáférést.
Elhelyezze a
rules
a Nitrokey FIDO2 felismerésére.Under
/etc/udev/rules.d
letöltés41-nitrokey.rules
$ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
És indítsa újra a
udev
szolgáltatást.$ sudo systemctl restart udev
Telepítés
libpam-u2f
Az Ubuntu 20.04-en közvetlenül letölthető
libpam-u2f
a hivatalos repos-ból.$ sudo apt install libpam-u2f
Megjegyzés
Kattintson a további lehetőségekért
Alternatívaként a
libpam-u2f
-t a Git-ből is építheted.A könyvtár megfelelő telepítésének ellenőrzéséhez adja meg a következő parancsot:
$ file /lib/x86_64-linux-gnu/security/pam_u2f.so
A kimenetnek a következőképp kell kinéznie:
/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
Készítse elő a könyvtárat
Hozzon létre
.config/Nitrokey/<x>
a home könyvtárában.$ mkdir ~/.config/Nitrokey
És csatlakoztassa a Nitrokey FIDO2-t.
Ha végeztünk az előkészületekkel, elkezdhetjük konfigurálni a számítógépet a Nitrokey FIDO2 használatára a 2. faktoros hitelesítéshez a bejelentkezéskor és
sudo
.Generálja az U2F konfigurációs fájlt
A konfigurációs fájl létrehozásához a
pamu2fcfg
segédprogramot fogjuk használni, amely alibpam-u2f
csomagban található. Az egyszerűség kedvéért a segédprogram kimenetét közvetlenül au2f_keys
fájlba írjuk a.config/Nitrokey
alá. Először csatlakoztassa a Nitrokey FIDO2-t (ha még nem tette meg), és írja be a következő parancsot:$ pamu2fcfg > ~/.config/Nitrokey/u2f_keys
Miután futtatta a fenti parancsot, meg kell érintenie a billentyűt, miközben az villog. Ha ez megtörtént, a
pamu2fcfg
a kimenetét au2f_keys<x>
kimenetéhez csatolja a következő formátumban:<username>:Zx...mw,04...0a
Figyelem, a kimenet sokkal hosszabb lesz, de az érzékeny részeket itt eltávolítottuk. A nagyobb biztonság érdekében, és miután a config fájl generálódott, a
.config/Nitrokey
könyvtárat aetc/
könyvtár alá fogjuk áthelyezni ezzel a paranccsal:$ sudo mv ~/.config/Nitrokey /etc
Javaslat
A
.config/Nitrokey
alatti fájl neveu2f_keys
kell legyen.Javasoljuk, hogy először egyetlen felhasználóval tesztelje az utasításokat. Ehhez az előző parancs a
-u
opciót veszi fel egy felhasználó megadására, mint az alábbi példában:$ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
Egyéni felhasználói konfiguráció esetén a következő lépésben a home könyvtárra kell mutatni, vagy nem kell a PAM konfigurációban az
authfile
opciót megadni.
Backup
Ez a lépés nem kötelező, azonban ajánlatos, hogy legyen egy tartalék Nitrokey-je arra az esetre, ha a Nitrokey FIDO elvesztése, ellopása vagy megsemmisülése esetén.
A tartalékkulcs beállításához ismételje meg a fenti eljárást, és használja a
pamu2fcfg -n
parancsot. Ezáltal a<username>
mező kimarad, és a kimenet a<username>
sorhoz csatolható, így:<username>:Zx...mw,04...0a:xB...fw,04...3f
Módosítsa a csatlakoztatható hitelesítési modult
PAM
Az utolsó lépés a PAM modul fájlok konfigurálása a
/etc/pam.d/
alatt. Ebben az útmutatóban acommon-auth
fájlt fogjuk módosítani, mivel ez kezeli a minden szolgáltatásnál közös hitelesítési beállításokat, de más lehetőségek is lehetségesek. A fájlt a következő paranccsal módosíthatja:$ cd /etc/pam.d $ sudo $editor common-auth
A fájl tetejére pedig írja be a következő sorokat:
#Nitrokey FIDO2 config auth sufficient pam_u2f.so authfile=/etc/Nitrokey/u2f_keys cue prompt nouserok
Javaslat
Mivel a központi hitelesítési leképezést használjuk, meg kell adnunk a
pam_u2f
opcióval aauthfile
fájl helyét.Ha gyakran elfelejti behelyezni a kulcsot,
prompt
opcióval apam_u2f
kiírja aInsert your U2F device, then press ENTER.
és lehetőséget ad a Nitrokey behelyezésére.Ha szeretné, hogy a Nitrokey megérintésére kérjék,
cue
opcióvalpam_u2f
nyomtatja ki aPlease touch the device.
üzenetet.A nouserok biztosítja, hogy továbbra is be tudjon jelentkezni a felhasználónév és jelszó használatával, lehet, hogy ezt egy bizonyos ponton el akarja távolítani, ha a beállítás működik, és nem akar rendszeres felhasználónév & jelszó alapú bejelentkezést.
Miután módosítottuk a
common-auth
, menthetjük és kiléphetünk a fájlból.A konfigurációt a
sudo ls
beírásával tesztelheti a terminálban. APlease touch the device.<x>
üzenetet kell kapnia, és hasonló kimenetet kell kapnia a terminálon:nitrouser@nitrouser:~$ sudo ls [sudo] password for nitrouser: Please touch the device.
A konfigurációt úgy is tesztelheti, hogy kijelentkezik a felhasználói munkamenetből, majd visszalép. Egy hasonló képernyőnek kell megjelennie, miután kihúzta/visszadugta a Nitrokey FIDO2-t és beírta a jelszavát:
Használat#
A PAM modul módosítása után azonnal tesztelheti a konfigurációt, de ajánlott újraindítani a számítógépet, és kihúzni/visszadugni a Nitrokey FIDO2-t.
Miután megfelelően tesztelte az ebben az útmutatóban található utasításokat (és biztonsági mentést készített), ajánlott a required
vagy a requisite
vezérlőzászlót használni a sufficient
helyett.
A required
és requisite
szigorúbb hozzáférés-ellenőrzést biztosít, és a Nitrokey FIDO2 szükséges a bejelentkezéshez és/vagy a konfigurált szolgáltatás használatához.
Ha további információra van szüksége a PAM
konfigurációs sorban található vezérlőjelzőkről, akkor az útmutató utolsó részében megismerheti a különbséget, és az egyes jelzők használatának következményeit.
PAM modulok#
Számos PAM modul fájl létezik, amelyeket az Ön igényei szerint módosíthat:
A
/etc/pam.d/common-auth
fájl módosításával a Nitrokey FIDO-t használhatja a 2. faktoros hitelesítéshez a grafikus bejelentkezéshez éssudo
. Megjegyzés:common-auth
a fájl végén található további konfigurációs sor hozzáadásával kell módosítani.Ha a FIDO U2F hitelesítést kizárólag a Gnome grafikus bejelentkezéshez szeretné használni, akkor inkább a
/etc/pam.d/gdm-password
módosíthatja.Alternatívaként egyszerűen módosíthatja a
/etc/pam.d/sudo
fájlt, ha asudo
parancs használatakor a FIDO U2F-et kívánja használni.
Vezérlő zászlók#
A 7. lépésben a sufficient
vezérlőjelzőt használtuk, hogy meghatározzuk a PAM modul viselkedését, ha a Nitrokey be van dugva vagy sem. Lehetőség van azonban ennek a viselkedésnek a megváltoztatására a következő vezérlőzászlók használatával:
required
: Ez a legkritikusabb jelző. A modul eredményének sikeresnek kell lennie a hitelesítés folytatásához. Ez a flag kizárhatja Önt a számítógépéből, ha nincs hozzáférése a Nitrokey-hez.requisite
: Hasonlóan arequired
-hoz, azonban abban az esetben, ha egy adott modul hibát ad vissza, a vezérlés közvetlenül az alkalmazáshoz, vagy a felettes PAM stackhez kerül vissza. Ez a flag a számítógépből is kizárhatja Önt, ha nincs hozzáférése a Nitrokey-hez.sufficient
: A modul eredményét figyelmen kívül hagyjuk, ha nem sikerül. Asufficient
jelzőt tesztelési célokra biztonságosnak tekintjük.optional
: Ennek a modulnak a sikere vagy sikertelensége csak akkor fontos, ha ez az egyetlen modul a veremben, amely ehhez a szolgáltatás+típushoz kapcsolódik. Aoptional
jelzőt tesztelési célokra biztonságosnak tekintjük.
Figyelem
Ha
required
vagyrequisite
van beállítva, az U2F-hitelesítés sikertelensége a teljes hitelesítés sikertelenségét okozza. A sikertelenség akkor következik be, ha a konfigurált Nitrokey FIDO nincs bedugva, elveszett vagy megsemmisült.Elveszíti a számítógépéhez való hozzáférést, ha rosszul konfigurálta a PAM modult és a
required
vagyrequisite
zászlókat használta.A
sudo
használatának lehetőségét is elveszíti, ha a Központi hitelesítési leképezést beállítja. és arequired
vagyrequisite
zászlókat használta.