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

Compatible Nitrokeys

3A/C/Mini

Passkey

HSM 2

Pro 2

FIDO2

Storage 2

Start

U2F

active

active

inactive

inactive

active

inactive

inactive

active

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

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
  2. Görgessen lefelé a jobb oldali sávban Users

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

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

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

    img5

CLI módszer

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

  2. 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
    
  3. 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
    
  4. 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.

  5. 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 kell a PAM konfigurációban az authfile opciót megadni.

  6. 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
    
  7. 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
    

    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 [cue_prompt=Please touch the device.] 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.

    • If you would like to be prompted to touch the Nitrokey, cue option will make pam_u2f print Please touch the device. message. You can change the message in [cue_prompt=Please touch the device.].

    • 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 ú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:

    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.

  • 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

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