Asztali bejelentkezés és Linux felhasználói hitelesítés#

(Nitrokey FIDO2 - Linux)

Bevezetés#

Ez az útmutató a Linux konfigurációját mutatja be a FIDO Universal 2nd Factor, azaz a FIDO U2F libpam-u2f és Nitrokey FIDO2 használatával.

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 az itt elérhető útmutatót tekintheti meg.

Követelmények#

Utasítások#

GUI módszer#

  1. A bal alsó sarokban kattintson a Show Applications és írja be a következő beállításokat a keresősávba:

img1
  1. Görgessen lefelé a jobb oldali sávban Users

img2
  1. A bal sarokban kattintson a Unlock és ez kéri a jelszavát.

img3
  1. Válassza ki Administrator és adja meg az Ön által választott felhasználónevet és jelszót.

img4
  1. Ha befejezted a 4. lépést, akkor kész is vagy

img5

CLI módszer#

  1. Hozzon létre egy biztonsági mentés felhasználót, és adjon neki root pivileges

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.

  1. Elhelyezze a rules a Nitrokey FIDO2 felismerésére.

Under /etc/udev/rules.d letöltés 41-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
  1. 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ítheti.

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

  1. 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 a libpam-u2f csomagban található. Az egyszerűség kedvéért a segédprogram kimenetét közvetlenül a u2f_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 a u2f_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 a etc/ könyvtár alá fogjuk áthelyezni ezzel a paranccsal:

$ sudo mv ~/.config/Nitrokey /etc

Javaslat

  • A .config/Nitrokey alatti fájl neve u2f_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 szabad a authfile opciót a PAM konfigurációba felvenni.

  1. 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
  1. 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 a common-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

És adjuk hozzá 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 a authfile fájl helyét.

  • Ha gyakran elfelejti behelyezni a kulcsot, prompt opcióval a pam_u2f kiírja a Insert 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óval pam_u2f nyomtatja ki a Please 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. A Please 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 a felhasználói munkamenetből való kijelentkezéssel és visszalépéssel is tesztelheti. Egy hasonló képernyőnek kell megjelennie, miután kihúzta/visszadugta a Nitrokey FIDO2-t és beírta a jelszavát:

img6

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 és sudo. 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 a sudo 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 a required-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. A sufficient 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. A optional jelzőt tesztelési célokra biztonságosnak tekintjük.

Figyelem

  • Ha required vagy requisite 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 vagy requisite 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 a required vagy requisite zászlókat használta.