Darbvirsmas pieteikšanās un Linux lietotāja autentifikācija#

Ievads#

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.

Ja vēlaties pieteikties datorā, izmantojot Nitrokey Pro 2, Nitrokey Storage 2 un Nitrokey Sākt var apmeklēt instrukcijas, kas pieejamas šeit.

Prasības#

Instrukcijas#

GUI metode#

  1. Klikšķiet kreisajā apakšējā stūrī uz Show Applications un ierakstiet meklēšanas joslā šādus iestatījumus:.

    attēls1
  2. Plūkojiet lejup pa labo joslu līdz Users`.

    attēls2
  3. Kaltajā kreisajā stūrī noklikšķiniet uz Unlock un tiks pieprasīta parole.

    attēls3
  4. Izvēlieties Administrator un ievadiet izvēlēto lietotāja vārdu un paroli.

    attēls4
  5. Ja pabeidzat 4. posmu, jums vajadzētu būt pabeigtam

    attēls5

CLI metode#

  1. izveidojiet dublējuma lietotāju un piešķiriet tam root privilēģijas

    To var izdarīt, izmantojot šīs komandas:

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

    Ja vēlaties iestatīt U2F vienam lietotājam un esat bloķēts no lietotāja sesijas, joprojām varēsiet pieteikties, izmantojot <backup_user>, un turpināt uzturēšanu.

    Brīdinājums

    Iespējams, ka turpmāk sniegtā rokasgrāmata var bloķēt jūsu datoru. Jums jāapzinās šie riski, jo turpmāk sniegtos norādījumus ieteicams vispirms izmantot sekundārā datorā vai pēc pilnas rezerves kopijas izveides.

    Pēc PAM moduļu konfigurēšanas varat zaudēt piekļuvi saviem datiem.

  2. Noregulējiet ``rules``**, lai atpazītu Nitrokey FIDO2**.

    Zem /etc/udev/rules.d lejupielādēt 41-nitrokey.rules

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

    Un restartēt udev pakalpojumu

    $ sudo systemctl restart udev
    
  3. Instalēšana libpam-u2f`

    Ubuntu 20.04 ir iespējams lejupielādēt tieši libpam-u2f no oficiālajām repozitorijām.

    $ sudo apt install libpam-u2f
    

    Piezīme

    Noklikšķiniet, lai iegūtu vairāk iespēju

    • Alternatīvi varat izveidot libpam-u2f no Git.

    • Lai pārbaudītu, vai bibliotēka ir pareizi instalēta, ievadiet šādu komandu:

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

    Izvades rezultātam jābūt šādam:

    /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. Sagatavot direktoriju

    Izveidojiet .config/Nitrokey/ savā sākuma direktorijā.

    $ mkdir ~/.config/Nitrokey
    

    Un pievienojiet Nitrokey FIDO2.

    Kad sagatavošanas darbi ir pabeigti, varam sākt konfigurēt datoru, lai izmantotu Nitrokey FIDO2 2. faktora autentifikācijai pie pieteikšanās un sudo.

  5. UF konfigurācijas faila ģenerēšana

    Konfigurācijas faila ģenerēšanai izmantosim pamu2fcfg utilītu, kas ir iekļauts libpam-u2f. Ērtības labad utilītas izvades rezultātus tieši ierakstīsim ``u2f_keys failā zem .config/Nitrokey. Vispirms pievienojiet Nitrokey FIDO2 (ja tas vēl nav izdarīts) un ievadiet šādu komandu:

    $ pamu2fcfg > ~/.config/Nitrokey/u2f_keys
    

    Pēc tam, kad būsiet izpildījuši iepriekš minēto komandu, jums būs jāpieskaras taustiņam, kamēr tas mirgo. Kad tas būs izdarīts, pamu2fcfg pievienos savu rezultātu </x>`u2f_keys šādā formātā:

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

    Ņemiet vērā, ka rezultāts būs daudz garāks, bet jutīgās daļas šeit ir izņemtas. Labākai drošībai un pēc konfigurācijas faila ģenerēšanas ar šo komandu pārvietosim .config/Nitrokey direktoriju zem </x id="199"></x> direktorijas:

    $ sudo mv ~/.config/Nitrokey /etc
    

    Padoms

    • Failam zem .config/Nitrokey jābūt ar nosaukumu </x id="52"></x>.

    • Ieteicams instrukcijas vispirms pārbaudīt ar vienu lietotāju. Šim nolūkam iepriekšējā komanda izmanto -u opciju, lai norādītu lietotāju, kā tas ir tālāk dotajā piemērā:

      $ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
      
    • Individuālai lietotāja konfigurācijai nākamajā solī jānorāda uz sākuma direktoriju vai arī PAM konfigurācijā neiekļaujiet opciju authfile.

  6. Aizsardzes kopija

    Šis solis nav obligāts, tomēr ir ieteicams izveidot Nitrokey rezerves kopiju Nitrokey FIDO nozaudēšanas, zādzības vai iznīcināšanas gadījumā.

    Lai iestatītu rezerves atslēgu, atkārtojiet iepriekš minēto procedūru un izmantojiet pamu2fcfg -n. Tādējādi tiks izlaists lauks <username>, un rezultātu var pievienot rindai ar jūsu ``<username>, piemēram, šādi:

    <username>:Zx...mw,04...0a:xB...fw,04...3f
    
  7. Modificēt pievienojamo autentifikācijas moduli PAM

    Pēdējais solis ir PAM moduļa failu konfigurēšana sadaļā /etc/pam.d/. Šajā rokasgrāmatā mēs modificēsim common-auth failu, jo tajā tiek apstrādāti autentifikācijas iestatījumi, kas ir kopīgi visiem pakalpojumiem, taču iespējamas arī citas opcijas. Šo failu var modificēt, izmantojot šādu komandu:

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

    Faila augšdaļā pievienojiet šādas rindas:

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

    Padoms

    • Tā kā mēs izmantojam centrālo autentifikācijas kartēšanu, mums jānorāda pam_u2f faila atrašanās vieta, kas jāizmanto ar </x>`authfile iespēju.

    • Ja bieži aizmirstat ievietot atslēgu, `prompt opcija pam_u2f izdrukā Insert your U2F device, then press ENTER. un dod jums iespēju ievietot Nitrokey.

    • Ja vēlaties, lai jums tiek piedāvāts pieskarties Nitrokey, cue opcija liks pam_u2f izdrukāt Please touch the device. paziņojumu.

    • nouserok nodrošinās, ka jūs joprojām varat pieteikties, izmantojot lietotājvārdu un paroli, jūs varētu vēlēties to noņemt kādā brīdī, kad iestatīšana darbojas un jūs nevēlaties, lai regulāri pieteiktos, izmantojot lietotājvārdu un paroli.

    Kad esam modificējuši common-auth, varam saglabāt un iziet no faila.

    Konfigurāciju var pārbaudīt, terminālī ierakstot sudo ls. Jums vajadzētu saņemt paziņojumu Please touch the device. un līdzīgu izvades rezultātu terminālī:

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

    Konfigurāciju var arī pārbaudīt, izstājoties no lietotāja sesijas un atkal pieslēdzoties. Līdzīgs ekrāns tiks parādīts, tiklīdz atvienosiet/atvienosiet savu Nitrokey FIDO2 un ievadīsiet paroli:

    attēls6

Lietošana#

Pēc PAM moduļa modificēšanas varēsiet uzreiz pārbaudīt konfigurāciju, taču ir ieteicams pārstartēt datoru un atvienot/atvienot Nitrokey FIDO2 no tīkla.

Kad esat pareizi pārbaudījis šajā rokasgrāmatā sniegtos norādījumus (un izveidojis dublējumu), required vai </x>`requisite kontroles karodziņa sufficient vietā ieteicams izmantot ``.

Karogi </x id="12"></x> un </x id="29"></x> nodrošina stingrāku piekļuves kontroli, un, lai pieteiktos un/vai izmantotu konfigurēto pakalpojumu, ir nepieciešams Nitrokey FIDO2.

Ja jums ir nepieciešama papildu informācija par vadības karodziņiem PAM konfigurācijas rindā, varat apskatīt šīs rokasgrāmatas pēdējo sadaļu, lai izprastu atšķirības un katra no tiem izmantošanas sekas.

PAM moduļi#

Ir vairāki PAM moduļu faili, kurus var modificēt atbilstoši jūsu vajadzībām:

  • Mainot /etc/pam.d/common-auth failu, jūs varēsiet izmantot Nitrokey FIDO 2. faktora autentifikācijai grafiskās pieteikšanās un sudo. Piezīme: common-auth ir jāmaina, pievienojot papildu konfigurācijas rindu faila beigās.

  • Ja vēlaties izmantot FIDO U2F autentifikāciju tikai Gnome grafiskajai pieteikšanās sistēmai, iespējams, vēlēsieties mainīt /etc/pam.d/gdm-password.

  • Varat arī vienkārši modificēt /etc/pam.d/sudo failu, ja vēlaties izmantot FIDO U2F, izmantojot </x>`sudo komandas.

Kontroles karodziņi#

In step 7 we have used the sufficient control flag to determine the behavior of the PAM module when the Nitrokey is plugged or not. However it is possible to change this behavior by using the following control flags:

  • required: Šis ir vissvarīgākais karodziņš. Moduļa rezultātam jābūt veiksmīgam, lai autentifikācija varētu turpināties. Šis karodziņš var bloķēt jūsu datoru, ja jums nav piekļuves Nitrokey.

  • requisite: Līdzīgi kā <required, tomēr gadījumā, ja konkrēts modulis atgriež kļūdu, kontrole tiek tieši atdota lietojumprogrammai vai augstākam PAM žetonam. Šis karodziņš var arī bloķēt jūsu datoru, ja jums nav piekļuves Nitrokey.

  • sufficient: Moduļa rezultāts tiek ignorēts, ja tas neizdodas. sufficient karodziņš tiek uzskatīts par drošu testēšanas vajadzībām.

  • optional: Šī moduļa veiksme vai neveiksme ir svarīga tikai tad, ja tas ir vienīgais modulis kaudzē, kas saistīts ar šo pakalpojuma+tipu. optional karogs tiek uzskatīts par drošu, lai to izmantotu testēšanai.

Brīdinājums

  • Ja ir iestatīts required vai requisite, U2F autentificēšanas kļūme izraisīs kopējās autentificēšanas kļūmi. Neveiksme iestāsies, ja konfigurētais Nitrokey FIDO nav pieslēgts, ir pazaudēts vai iznīcināts.

  • Jūs zaudēsiet piekļuvi datoram, ja nepareizi konfigurēsiet PAM moduli un izmantosiet required vai requisite karogus.

  • Ja iestatīsiet centrālo autentifikācijas kartēšanu, zaudēsiet arī iespēju izmantot sudo, ja iestatīsiet centrālo autentifikācijas kartēšanu. un izmantojāt required vai </x>`requisite karogus.