Työpöydän kirjautuminen ja Linux-käyttäjän todennus#

(Nitrokey FIDO U2F - Linux)

Johdanto#

Tässä oppaassa käydään läpi Linuxin konfigurointi FIDO Universal 2nd Factor -toiminnon eli FIDO U2F:n käyttämiseksi libpam-u2f ja Nitrokey FIDO2 avulla.

Jos haluat kirjautua tietokoneellesi käyttämällä Nitrokey Pro 2, Nitrokey Storage 2 ja Nitrokey Start voit tutustua täältä saataviin ohjeisiin.

Vaatimukset#

Ohjeet#

GUI-menetelmä#

  1. Vasemmassa alakulmassa klikkaa Show Applications ja kirjoita asetukset hakupalkkiin seuraavasti:

kuva1
  1. Rullaa oikeassa palkissa alaspäin kohtaan Users`

kuva2
  1. Vasemmassa kulmassa klikkaa Unlock ja se kysyy salasanaa.

img3
  1. Valitse Administrator ja syötä haluamasi käyttäjätunnus ja salasana.

kuva4
  1. **Vaihe 4 pitäisi olla valmis **

img5

CLI-menetelmä#

  1. Luo varakäyttäjä ja anna sille root-pivileges

Voit tehdä sen käyttämällä näitä komentoja:

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

Jos haluat asentaa U2F:n yhdelle käyttäjälle ja olet lukittu ulos käyttäjäistunnostasi, voit silti kirjautua sisään <backup_user> ja jatkaa ylläpitoa.

Varoitus

Seuraava opas voi mahdollisesti lukita sinut ulos tietokoneesta. Sinun on syytä olla tietoinen näistä riskeistä, sillä on suositeltavaa käyttää alla olevia ohjeita ensin toissijaisella tietokoneella tai täydellisen varmuuskopioinnin jälkeen.

Saatat menettää pääsyn tietoihin, kun olet määrittänyt PAM-moduulit.

  1. Säädä rules tunnistamaan Nitrokey FIDO2.

Under /etc/udev/rules.d download 41-nitrokey.rules

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

Ja käynnistä udev palvelu uudelleen.

$ sudo systemctl restart udev
  1. Asennus libpam-u2f`

Ubuntu 20.04:ssä on mahdollista ladata suoraan libpam-u2f virallisista reposista

$ sudo apt install libpam-u2f

Muista

Klikkaa lisää vaihtoehtoja

  • Vaihtoehtoisesti voit rakentaa libpam-u2f:stä Git.

  • Voit tarkistaa, että kirjasto on asennettu oikein, antamalla seuraavan komennon:

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

Tuloksen pitäisi olla jotakuinkin seuraavanlainen:

/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. Valmista hakemisto

Luo .config/Nitrokey/ kotihakemistoosi.

$ mkdir ~/.config/Nitrokey

Ja kytke Nitrokey FIDO2.

Kun valmistelut on tehty, voimme aloittaa tietokoneen määrittämisen käyttämään Nitrokey FIDO2:ta toisen tekijän todennukseen kirjautumisen yhteydessä ja sudo.

  1. Luo U2F-konfigurointitiedosto

Käytämme konfiguraatiotiedoston luomiseen pamu2fcfg-apuohjelmaa, joka tulee libpam-u2f mukana. Yksinkertaisuuden vuoksi kirjoitamme apuohjelman tulosteen suoraan u2f_keys-tiedostoon .config/Nitrokey. Kytke ensin Nitrokey FIDO2 (jos et ole jo kytkenyt) ja anna seuraava komento:

$ pamu2fcfg > ~/.config/Nitrokey/u2f_keys

Kun olet suorittanut yllä olevan komennon, sinun on koskettava näppäintä, kun se vilkkuu. Kun se on tehty, pamu2fcfg liittää tulosteeseensa u2f_keys seuraavassa muodossa:

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

Huomaa, että tuotos on paljon pidempi, mutta arkaluonteiset osat on poistettu. Paremman turvallisuuden vuoksi ja kun konfigurointitiedosto on luotu, siirrämme .config/Nitrokey-hakemiston etc/-hakemiston alle tällä komennolla:

$ sudo mv ~/.config/Nitrokey /etc

Vihje

  • .config/Nitrokey:n alla olevan tiedoston on oltava nimeltään u2f_keys.

  • On suositeltavaa testata ohjeita ensin yhdellä käyttäjällä. Tätä varten edellisessä komennossa käytetään -u-vaihtoehtoa käyttäjän määrittämiseksi, kuten alla olevassa esimerkissä:

$ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
  • Yksittäisten käyttäjien konfigurointia varten sinun tulisi osoittaa kotihakemisto seuraavassa vaiheessa tai olla sisällyttämättä authfile-vaihtoehtoa PAM-konfiguraatioon.

  1. Backup

Tämä vaihe on valinnainen, mutta on suositeltavaa, että sinulla on vara-avain Nitrokey FIDO:n katoamisen, varkauden tai tuhoutumisen varalta.

Jos haluat määrittää vara-avaimen, toista yllä oleva menettely ja käytä pamu2fcfg -n. Tällöin <username>-kenttä jää pois, ja tulosteen voi liittää riville, jossa on <username> näin:

<username>:Zx...mw,04...0a:xB...fw,04...3f
  1. Muokkaa liitettävissä olevaa todennusmoduulia PAM

Viimeinen vaihe on PAM-moduulitiedostojen määrittäminen osoitteessa /etc/pam.d/. Tässä oppaassa muokkaamme tiedostoa common-auth, koska se käsittelee kaikille palveluille yhteisiä todennusasetuksia, mutta myös muut vaihtoehdot ovat mahdollisia. Voit muokata tiedostoa seuraavalla komennolla:

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

Ja lisää seuraavat rivit:

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

Vihje

  • Koska käytämme Central Authentication Mappingia, meidän on ilmoitettava pam_u2f-tiedoston sijainti, jota käytetään authfile-vaihtoehdon avulla.

  • Jos unohdat usein asettaa avaimen paikalleen, prompt-vaihtoehto tekee pam_u2f tulostuksen Insert your U2F device, then press ENTER. ja antaa sinulle mahdollisuuden asettaa Nitro-avain.

  • Jos haluat, että sinua kehotetaan koskettamaan Nitrokey-näppäintä, cue -vaihtoehto tekee pam_u2f tulostuksen Please touch the device. -viestin.

  • nouserok varmistaa, että voit edelleen kirjautua sisään käyttäjätunnuksella ja salasanalla, saatat haluta poistaa tämän jossain vaiheessa, kun asetukset toimivat ja et halua tavallisia käyttäjätunnukseen & salasanaan perustuvia kirjautumisia.

Kun olemme muuttaneet common-auth, voimme tallentaa ja poistua tiedostosta.

Voit testata kokoonpanon kirjoittamalla terminaaliin sudo ls. Sinun pitäisi saada näyttöön viesti Please touch the device. ja samanlainen tuloste terminaalissa:

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

Voit myös testata kokoonpanoasi kirjautumalla ulos käyttäjäistunnosta ja kirjautumalla takaisin. Samanlainen näyttö pitäisi tulla näkyviin, kun irrotat tai kytket Nitrokey FIDO2:n ja kirjoitat salasanasi:

img6

Käyttö#

PAM-moduulin muuttamisen jälkeen voit testata kokoonpanoasi heti, mutta on suositeltavaa käynnistää tietokone uudelleen ja irrottaa Nitrokey FIDO2 -laite pistorasiasta.

Kun olet testannut tämän oppaan ohjeet asianmukaisesti (ja perustanut varmuuskopion), on suositeltavaa käyttää joko required tai requisite-ohjauslippua sufficient sijaan.

Liput required ja requisite tarjoavat tiukemman pääsynvalvonnan, ja ne tekevät Nitrokey FIDO2:n välttämättömäksi sisäänkirjautumiselle ja/tai määritellyn palvelun käytölle.

Jos tarvitset lisätietoja PAM-konfiguraatiorivillä olevista Control Flags -lippusarjoista, voit tutustua tämän oppaan viimeiseen osioon ymmärtääkseen niiden eron ja niiden käytön vaikutukset.

PAM-moduulit#

On olemassa useita PAM-moduulitiedostoja, joita voidaan muokata tarpeidesi mukaan:

  • Muokkaamalla /etc/pam.d/common-auth-tiedostoa voit käyttää Nitrokey FIDO:ta toisen tekijän todennukseen graafisessa kirjautumisessa ja sudo. Huomautus: common-auth on muutettava lisäämällä ylimääräinen määritysrivi tiedoston loppuun.

  • Jos haluat käyttää FIDO U2F -autentikointia vain Gnomen graafiseen kirjautumiseen, voit mieluummin muuttaa/etc/pam.d/gdm-password

  • Vaihtoehtoisesti voit vain muuttaa tiedostoa /etc/pam.d/sudo, jos haluat käyttää FIDO U2F:ää käytettäessä komentoa sudo.

Ohjausliput#

Vaiheessa 7 olemme käyttäneet sufficient-ohjauslippua määrittääksemme PAM-moduulin käyttäytymisen, kun Nitrokey on kytketty tai ei. Tätä käyttäytymistä on kuitenkin mahdollista muuttaa käyttämällä seuraavia ohjauslippuja:

  • required: Tämä on kriittisin lippu. Moduulin tuloksen on oltava onnistunut, jotta todennusta voidaan jatkaa. Tämä lippu voi lukita sinut ulos tietokoneesta, jos sinulla ei ole pääsyä Nitrokey-avaimeen.

  • requisite: Samanlainen kuin required kuitenkin siinä tapauksessa, että tietty moduuli palauttaa epäonnistumisen, ohjaus palautetaan suoraan sovellukselle tai ylemmälle PAM-pinolle. Tämä lippu voi myös lukita sinut ulos tietokoneesta, jos sinulla ei ole pääsyä Nitrokey-avaimeen.

  • sufficient: Moduulin tulos jätetään huomiotta, jos se epäonnistuu. sufficient-lippua pidetään turvallisena testausta varten.

  • optional: Tämän moduulin onnistumisella tai epäonnistumisella on merkitystä vain, jos se on ainoa moduuli pinossa, joka liittyy tähän palvelu+tyyppiin. optional-lippua pidetään turvallisena käyttää testaustarkoituksiin.

Varoitus

  • Jos required tai requisite on asetettu, U2F-todennuksen epäonnistuminen aiheuttaa yleisen todentamisen epäonnistumisen. Epäonnistuminen tapahtuu, kun määritettyä Nitrokey FIDOa ei ole kytketty, kadonnut tai tuhoutunut.

  • Menetät pääsyn tietokoneeseesi, jos olet konfiguroinut PAM-moduulin väärin ja käyttänyt required tai requisite -lippua.

  • Menetät myös mahdollisuuden käyttää sudo, jos otat käyttöön keskitetyn todennuksen kartoituksen. ja käytit required tai requisite -lippuja.