Töölaua sisselogimine ja Linuxi kasutaja autentimine#

Sissejuhatus#

Selles juhendis tutvustatakse teile Linuxi konfiguratsiooni, et kasutada FIDO Universal 2nd Factor, st FIDO U2F koos libpam-u2f ja Nitrokey FIDO2.

Kui soovite arvutisse sisse logida, kasutades Nitrokey Pro 2, Nitrokey Storage 2 ja Nitrokey Start saate külastada siin olevaid juhiseid.

Nõuded#

  • Ubuntu 20.04 koos Gnome Display Manageriga.

  • Nitrokey FIDO2 konfigureeritud vastavalt nendele juhistele.

Juhised#

GUI meetod#

  1. Vasakus alumises nurgas klõpsake Show Applications ja sisestage otsinguribale järgmised seaded:

    img1
  2. Liiguta paremal ribal allapoole Users

    img2
  3. Vasakpoolses nurgas klõpsake Unlock ja see küsib teie parooli

    img3
  4. Valige Administrator ja sisesta oma valitud kasutajanimi ja parool.

    img4
  5. Kui olete lõpetanud sammu 4, peaksite olema valmis

    img5

CLI meetod#

  1. Looge varukoopia kasutaja ja anna talle root-õigused

    Seda saate teha nende käskude abil:

    $ sudo adduser <backup_user>
    $ sudo usermod -aG sudo <backup_user>
    

    Juhul, kui eelistate U2F-i seadistada ühe kasutaja jaoks ja olete oma kasutajasessioonist välja lukustatud, saaksite ikkagi sisse logida <backup_user> ja jätkata hooldustöödega.

    Hoiatus

    Järgnev juhend võib teid potentsiaalselt arvutist välja lukustada. Te peaksite olema teadlik nendest riskidest, sest allpool toodud juhiseid on soovitatav kasutada esmalt teises arvutis või pärast täielikku varundamist.

    Pärast PAM-moodulite konfigureerimist võite kaotada juurdepääsu oma andmetele.

  2. seadistage rules<x> Nitrokey FIDO2 äratundmiseks.

    Alla /etc/udev/rules.d allalaadimine 41-nitrokey.rules

    $ cd /etc/udev/rules.d/
    $ sudo wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
    

    Ja taaskäivitage udev teenus

    $ sudo systemctl restart udev
    
  3. Install libpam-u2f

    Ubuntu 20.04 puhul on võimalik otse alla laadida libpam-u2f ametlikest repositest

    $ sudo apt install libpam-u2f
    

    Märkus

    Klõpsake rohkemate võimaluste jaoks

    • Alternatiivina võite ehitada libpam-u2f alates Git.

    • Et kontrollida, kas raamatukogu on korralikult paigaldatud, sisestage järgmine käsk:

    $ file /lib/x86_64-linux-gnu/security/pam_u2f.so
    

    Väljund peaks olema umbes järgmine:

    /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. Kataloogi ettevalmistamine

    Loo .config/Nitrokey/<x> oma kodukataloogi alla.

    $ mkdir ~/.config/Nitrokey
    

    Ja ühendage oma Nitrokey FIDO2.

    Kui ettevalmistus on tehtud, võime hakata arvutit konfigureerima, et kasutada Nitrokey FIDO2 2. faktori autentimist sisselogimisel ja sudo.

  5. U2F konfiguratsioonifaili genereerimine

    Konfiguratsioonifaili loomiseks kasutame pamu2fcfg utiliiti, mis on kaasas libpam-u2f. Lihtsuse huvides kirjutame utiliidi väljundi otse u2f_keys faili .config/Nitrokey alla. Kõigepealt ühendage oma Nitrokey FIDO2 (kui te seda veel ei teinud) ja sisestage järgmine käsk:

    $ pamu2fcfg > ~/.config/Nitrokey/u2f_keys
    

    Kui olete ülaltoodud käsu käivitanud, peate klahvi puudutama, kui see vilgub. Kui see on tehtud, lisab pamu2fcfg oma väljundile u2f_keys<x> järgmises formaadis:

    <username>:Zx...mw,04...0a
    

    Märkus, väljund on palju pikem, kuid tundlikud osad on siin eemaldatud. Parema turvalisuse huvides ja pärast config-faili genereerimist liigutame selle käsuga kataloogi .config/Nitrokey kataloogi etc/ alla:

    $ sudo mv ~/.config/Nitrokey /etc
    

    Nõuanne

    • .config/Nitrokey all oleva faili nimi peab olema u2f_keys.

    • Soovitatav on esmalt katsetada juhiseid ühe kasutajaga. Selleks võtab eelmine käsk kasutaja määramiseks -u, nagu alljärgnevas näites, valiku ``:

      $ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
      
    • Individuaalse kasutaja konfiguratsiooni puhul peaksite järgmises sammus osutama kodukataloogile või mitte lisama PAM-konfiguratsioonis valikut authfile.

  6. Backup

    See samm on vabatahtlik, kuid soovitatakse omada Nitrokey FIDO varukoopiat, kui teie Nitrokey FIDO kaob, varastatakse või hävib.

    Varuklahvi seadistamiseks korrake ülaltoodud protseduuri ja kasutage pamu2fcfg -n. See jätab välja <username> ja väljundi saab lisada reale teie <username> niimoodi:

    <username>:Zx...mw,04...0a:xB...fw,04...3f
    
  7. Muuda ühendatavat autentimismoodulit PAM

    Viimane samm on PAM-mooduli failide konfigureerimine /etc/pam.d/ all. Selles juhendis muudame faili common-auth, kuna see tegeleb autentimisseadistustega, mis on kõigile teenustele ühised, kuid võimalikud on ka teised valikud. Faili saab muuta järgmise käsuga:

    $ cd /etc/pam.d
    $ sudo $editor common-auth
    

    Ja lisage faili algusesse järgmised read:

    #Nitrokey FIDO2 config
    auth    sufficient pam_u2f.so authfile=/etc/Nitrokey/u2f_keys cue prompt nouserok
    

    Nõuanne

    • Kuna me kasutame keskse autentimise kaardistamist, peame teatama pam_u2f faili asukoha, mida kasutada authfile valikuga.

    • Kui unustate sageli võtme sisestamise, prompt valik teeb pam_u2f trüki Insert your U2F device, then press ENTER. ja annab sulle võimaluse Nitrokey sisestamiseks.

    • Kui soovite, et teid kutsutakse üles puudutama Nitrokey, cue valik teeb pam_u2f trüki Please touch the device. sõnumi.

    • nouserok tagab, et saate endiselt kasutajanime ja parooliga sisse logida, võite selle mingil hetkel eemaldada, kui seadistus töötab ja te ei soovi tavalist kasutajanime & parooliga sisselogimist.

    Kui oleme muutnud common-auth, saame faili salvestada ja sellest väljuda.

    Saate konfiguratsiooni testida, sisestades terminalis sudo ls. Te peaksite saama teate Please touch the device.<x> ja terminalis peaks olema sarnane väljund:

    nitrouser@nitrouser:~$ sudo ls
    [sudo] password for nitrouser:  Please touch the device.
    

    Samuti saate oma konfiguratsiooni testida, logides kasutaja seansist välja ja uuesti sisse. Sarnane ekraan peaks ilmuma, kui olete Nitrokey FIDO2 lahti/tagasi ühendanud ja sisestanud oma parooli:

    img6

Kasutamine#

Pärast PAM-mooduli muutmist saate oma konfiguratsiooni kohe testida, kuid soovitatav on arvuti taaskäivitada ja Nitrokey FIDO2 välja/taha lahti ühendada.

Kui olete selles juhendis toodud juhiseid korralikult katsetanud (ja seadistanud varukoopia), on soovitatav kasutada kas required või requisite kontrolllippude asemel sufficient<x>.

Lipud required ja requisite tagavad rangema juurdepääsukontrolli ja muudavad Nitrokey FIDO2 vajalikuks sisselogimiseks ja/või konfigureeritud teenuse kasutamiseks.

Kui vajate lisateavet kontrolllippude kohta PAM konfiguratsioonireas, võite vaadata selle juhendi viimast osa, et mõista erinevust ja igaühe kasutamise tagajärgi.

PAM-moodulid#

On olemas mitu PAM-moodulifaili, mida saab muuta vastavalt oma vajadustele:

  • Muutes /etc/pam.d/common-auth faili, saate kasutada Nitrokey FIDO-d 2. faktori autentimiseks graafilise sisselogimise ja sudo jaoks. Märkus: common-auth tuleks muuta, lisades faili lõppu täiendava konfiguratsioonirea.

  • Kui soovite kasutada FIDO U2F autentimist ainult Gnome’i graafilise sisselogimise jaoks, siis võite eelistada muuta/etc/pam.d/gdm-password

  • Alternatiivina võite lihtsalt muuta faili /etc/pam.d/sudo, kui soovite kasutada FIDO U2F-i, kui kasutate käsku sudo.

Kontrollmärgid#

Sammus 7 kasutasime sufficient<x> kontrolllippu, et määrata PAM-mooduli käitumist, kui Nitrokey on ühendatud või mitte. Seda käitumist on siiski võimalik muuta, kasutades järgmisi kontrolllippe:

  • required<x>: See on kõige kriitilisem lipp. Mooduli tulemus peab olema edukas, et autentimine saaks jätkuda. See lipp võib teid arvutist välja lukustada, kui teil ei ole juurdepääsu Nitrokey’le.

  • requisite<x>: Sarnaselt required siiski juhul, kui konkreetne moodul tagastab ebaõnnestumise, tagastatakse kontroll otse rakendusele või ülemale PAM-korstnale. See lipp võib teid ka arvutist välja lukustada, kui teil ei ole juurdepääsu Nitrokey’le.

  • sufficient<x>: Mooduli tulemust ignoreeritakse, kui see ebaõnnestub. sufficient lipu peetakse testimiseks ohutuks.

  • optional<x>: Selle mooduli õnnestumine või ebaõnnestumine on oluline ainult siis, kui see on ainus moodul virnas, mis on seotud selle teenuse+tüübiga. optional<x> lippu peetakse testimise eesmärgil ohutuks.

Hoiatus

  • Kui required või requisite on määratud, põhjustab U2F-autentimise ebaõnnestumine üldise autentimise ebaõnnestumise. Ebaõnnestumine tekib siis, kui konfigureeritud Nitrokey FIDO ei ole ühendatud, kaotatud või hävitatud.

  • Te kaotate juurdepääsu oma arvutile, kui olete PAM-moodulit valesti konfigureerinud ja kasutasite required või requisite lipukesi.

  • Samuti kaotate võimaluse kasutada sudo, kui seadistate keskse autentimise kaardistamise. ja kasutasite required või requisite lipud.