Login på skrivebordet og godkendelse af Linux-brugere¶
Compatible Nitrokeys |
|||||||
|---|---|---|---|---|---|---|---|
✓ active |
✓ active |
⨯ inactive |
⨯ inactive |
✓ active |
⨯ inactive |
⨯ inactive |
✓ active |
Introduktion¶
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.
If you want to login to you computer using Nitrokey Pro 2, Nitrokey Storage 2 and Nitrokey Start you can visit the instructions available here.
Krav¶
Ubuntu 20.04 med Gnome Display Manager.
Nitrokey FIDO2 konfigureret efter denne vejledning.
Vejledning¶
GUI-metode¶
Klik på
Show Applicationsi det nederste venstre hjørne, og skriv indstillinger i søgelinjen som følger:
Rul ned i den højre bjælke til
Users
I venstre hjørne klikker du på
Unlockog du vil blive bedt om at indtaste din adgangskode
Vælg
Administratorog indtast det brugernavn og den adgangskode, du ønsker
Når du er færdig med trin 4, bør du være færdig
CLI-metode¶
Opret en backup-bruger, og giv den root-rettigheder
Det kan du gøre ved at bruge disse kommandoer:
$ sudo adduser <backup_user> $ sudo usermod -aG sudo <backup_user>
Hvis du foretrækker at konfigurere U2F for en enkelt bruger og er låst ude af din brugersession, kan du stadig logge ind med
<backup_user>og fortsætte med vedligeholdelsen.Advarsel
Følgende vejledning kan potentielt låse dig ude af din computer. Du bør være opmærksom på disse risici, da det anbefales først at bruge nedenstående vejledning på en sekundær computer eller efter en fuld sikkerhedskopi.
Du kan miste adgangen til dine data efter at have konfigureret PAM-moduler.
Indstil
rulestil at genkende Nitrokey FIDO2Under
/etc/udev/rules.ddownload41-nitrokey.rules$ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/nitrokey-udev-rules/main/41-nitrokey.rules
Og genstart
udevtjeneste$ sudo systemctl restart udev
Install
libpam-u2fPå Ubuntu 20.04 er det muligt at downloade direkte
libpam-u2ffra de officielle repos$ sudo apt install libpam-u2f
Bemærk
Klik for flere muligheder
Alternativt kan du bygge
libpam-u2ffra Git.For at kontrollere, at biblioteket er korrekt installeret, skal du indtaste følgende kommando:
$ file /lib/x86_64-linux-gnu/security/pam_u2f.so
Output bør være noget i retning af følgende:
/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
Forbered mappen
Opret
.config/Nitrokey/under din hjemmemappe$ mkdir ~/.config/Nitrokey
Og tilslut din Nitrokey FIDO2.
Når vi er færdige med forberedelserne, kan vi begynde at konfigurere computeren til at bruge Nitrokey FIDO2 til anden faktor-autentificering ved login og
sudo.Generer U2F-konfigurationsfilen
Til at generere konfigurationsfilen bruger vi værktøjet
pamu2fcfg, der følger medlibpam-u2f. For nemheds skyld skriver vi output fra hjælpeprogrammet direkte til filenu2f_keysunder.config/Nitrokey. Tilslut først din Nitrokey FIDO2 (hvis du ikke allerede har gjort det), og indtast følgende kommando:$ pamu2fcfg > ~/.config/Nitrokey/u2f_keys
Once you run the command above, you will need to touch the device while it flashes. Once done,
pamu2fcfgwill append its output theu2f_keysin the following format:<username>:Zx...mw,04...0a
Bemærk, at resultatet vil være meget længere, men følsomme dele er fjernet her. For bedre sikkerhed, og når konfigurationsfilen er genereret, vil vi flytte mappen
.config/Nitrokeyunder mappenetc/med denne kommando:$ sudo mv ~/.config/Nitrokey /etc
Tip
Filen under
.config/Nitrokeyskal heddeu2f_keys.Det anbefales først at teste vejledningen med en enkelt bruger. Til dette formål bruger den foregående kommando indstillingen
-util at angive en bruger, som i eksemplet nedenfor:$ pamu2fcfg -u <username> > ~/.config/Nitrokey/u2f_keys
Ved konfiguration af individuelle brugere skal du pege på hjemmemappen i næste trin eller undlade at inkludere indstillingen
authfilei PAM-konfigurationen.
Backup
Dette trin er valgfrit, men det anbefales at have en backup-Nitrokey i tilfælde af tab, tyveri eller ødelæggelse af din Nitrokey FIDO.
Hvis du vil oprette en backup-nøgle, skal du gentage proceduren ovenfor og bruge
pamu2fcfg -n. Herved udelades feltet<username>, og output kan tilføjes til linjen med din<username>på denne måde:<username>:Zx...mw,04...0a:xB...fw,04...3f
Modificer det indsættelige autentifikationsmodul
PAMDet sidste trin er at konfigurere PAM-modulfilerne under
/etc/pam.d/. I denne vejledning vil vi ændre filencommon-auth, da den håndterer godkendelsesindstillingerne, som er fælles for alle tjenester, men andre muligheder er mulige. Du kan ændre filen med følgende kommando:$ cd /etc/pam.d $ sudo $editor common-auth
Og tilføj følgende linjer i toppen af filen:
#Nitrokey FIDO2 config auth sufficient pam_u2f.so authfile=/etc/Nitrokey/u2f_keys cue [cue_prompt=Please touch the device.] prompt nouserok
Tip
Da vi bruger Central Authentication Mapping, skal vi fortælle
pam_u2fplaceringen af den fil, der skal bruges med indstillingenauthfile.Hvis du ofte glemmer at sætte nøglen i,
promptmulighed for atpam_u2fudskriveInsert your U2F device, then press ENTER.og give dig en chance for at indsætte Nitrokey.If you would like to be prompted to touch the Nitrokey,
cueoption will makepam_u2fprintPlease touch the device.message. You can change the message in[cue_prompt=Please touch the device.].nouserok vil sikre, at du stadig kan logge ind med brugernavn og adgangskode, du vil måske fjerne dette på et tidspunkt, når opsætningen fungerer, og du ikke ønsker almindelige brugernavn og adgangskode-baserede logins.
Når vi har ændret
common-auth, kan vi gemme og afslutte filen.Du kan teste konfigurationen ved at skrive
sudo lsi terminalen. Du bør få vist meddelelsenPlease touch the device.og få et lignende output på terminalen:nitrouser@nitrouser:~$ sudo ls [sudo] password for nitrouser: Please touch the device.
Du kan også teste din konfiguration ved at logge ud af brugersessionen og logge ind igen. En lignende skærm bør vises, når du har taget din Nitrokey FIDO2 ud af stikket/gennemført stikket og indtastet din adgangskode:
Anvendelse¶
Efter ændringen af PAM-modulet vil du kunne teste din konfiguration med det samme, men det anbefales at genstarte computeren og trække stikket ud af/til Nitrokey FIDO2.
Når du har testet instruktionerne i denne vejledning korrekt (og oprettet en sikkerhedskopi), anbefales det at bruge enten required eller requisite<x> kontrolflag i stedet for sufficient.
Flagene required og requisite giver en strammere adgangskontrol og gør Nitrokey FIDO2 nødvendig for at logge ind og/eller bruge den konfigurerede tjeneste.
Hvis du har brug for flere oplysninger om kontrolflag i konfigurationslinjen PAM, kan du se det sidste afsnit i denne vejledning for at forstå forskellen og konsekvenserne af at bruge dem hver især.
PAM-moduler¶
Der er flere PAM-modulfiler, som kan ændres efter dine behov:
Ved at ændre filen
/etc/pam.d/common-authvil du kunne bruge din Nitrokey FIDO til anden faktor-autentificering til grafisk login ogsudo. Bemærk:common-authskal ændres ved at tilføje den ekstra konfigurationslinje i slutningen af filen.If you wish to use FIDO U2F authentication solely for Gnome’s graphic login, you might prefer to modify the
/etc/pam.d/gdm-passwordAlternativt kan du blot ændre filen
/etc/pam.d/sudo, hvis du ønsker at bruge FIDO U2F, når du bruger kommandoensudo.
Kontrolflag¶
I trin 7 har vi brugt sufficient kontrolflag til at bestemme PAM-modulets adfærd, når Nitrokey er tilsluttet eller ej. Det er dog muligt at ændre denne adfærd ved at bruge følgende kontrolflag:
required: Dette er det mest kritiske flag. Modulresultatet skal være vellykket, for at godkendelsen kan fortsætte. Dette flag kan låse dig ude af din computer, hvis du ikke har adgang til Nitrokey.requisite: Svarer tilrequired, men i tilfælde af at et specifikt modul returnerer en fejl, returneres kontrollen direkte til programmet eller til den overordnede PAM-stakke. Dette flag kan også låse dig ude af din computer, hvis du ikke har adgang til Nitrokey.sufficient: Modulresultatet ignoreres, hvis det mislykkes.sufficient-flaget anses for at være sikkert til testformål.optional: Dette moduls succes eller fiasko er kun vigtig, hvis det er det eneste modul i stakken, der er forbundet med denne service+type.optional-flaget anses for at være sikkert at bruge til testformål.
Advarsel
Hvis
requiredellerrequisiteer indstillet, vil en fejl i U2F-godkendelsen medføre, at den samlede godkendelse mislykkes. Fejl vil opstå, når den konfigurerede Nitrokey FIDO ikke er tilsluttet, tabt eller ødelagt.Du mister adgangen til din computer, hvis du har konfigureret PAM-modulet forkert og har brugt flagene
requiredellerrequisite.Du mister også muligheden for at bruge
sudo, hvis du opretter central tilknytning af autentifikation og har brugt flagenerequiredellerrequisite.