Login på skrivebordet og godkendelse af Linux-brugere¶
✓ |
✓ |
✓ |
✓ |
⨯ |
⨯ |
⨯ |
✓ |
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.
Hvis du vil logge ind på din computer ved hjælp af Nitrokey Pro 2, Nitrokey Storage 2 og Nitrokey Start kan du besøge de instruktioner, der er tilgængelige her.
Krav¶
Ubuntu 20.04 med Gnome Display Manager.
Nitrokey FIDO2 konfigureret efter denne vejledning.
Vejledning¶
GUI-metode¶
Klik på
Show Applications
i 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å
Unlock
og du vil blive bedt om at indtaste din adgangskodeVælg
Administrator
og indtast det brugernavn og den adgangskode, du ønskerNå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
rules
til at genkende Nitrokey FIDO2Under
/etc/udev/rules.d
download41-nitrokey.rules
$ cd /etc/udev/rules.d/ $ sudo wget https://raw.githubusercontent.com/Nitrokey/libnitrokey/master/data/41-nitrokey.rules
Og genstart
udev
tjeneste$ sudo systemctl restart udev
Install
libpam-u2f
På Ubuntu 20.04 er det muligt at downloade direkte
libpam-u2f
fra de officielle repos$ sudo apt install libpam-u2f
Bemærk
Klik for flere muligheder
Alternativt kan du bygge
libpam-u2f
fra 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_keys
under.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
Når du har kørt kommandoen ovenfor, skal du røre ved tasten, mens den blinker. Når det er gjort, vil
pamu2fcfg
vedhæfte sit output tilu2f_keys
i følgende 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/Nitrokey
under mappenetc/
med denne kommando:$ sudo mv ~/.config/Nitrokey /etc
Tip
Filen under
.config/Nitrokey
skal heddeu2f_keys
.Det anbefales først at teste vejledningen med en enkelt bruger. Til dette formål bruger den foregående kommando indstillingen
-u
til 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
authfile
i 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
PAM
Det 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_u2f
placeringen af den fil, der skal bruges med indstillingenauthfile
.Hvis du ofte glemmer at sætte nøglen i,
prompt
mulighed for atpam_u2f
udskriveInsert 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,
cue
option will makepam_u2f
printPlease 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 ls
i 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-auth
vil du kunne bruge din Nitrokey FIDO til anden faktor-autentificering til grafisk login ogsudo
. Bemærk:common-auth
skal æ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-password
Alternativt 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
required
ellerrequisite
er 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
required
ellerrequisite
.Du mister også muligheden for at bruge
sudo
, hvis du opretter central tilknytning af autentifikation og har brugt flagenerequired
ellerrequisite
.