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 FIDO2- Under - /etc/udev/rules.ddownload- 41-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-u2f- På 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 med- libpam-u2f. For nemheds skyld skriver vi output fra hjælpeprogrammet direkte til filen- u2f_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 the- u2f_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 mappen- etc/med denne kommando:- $ sudo mv ~/.config/Nitrokey /etc - Tip - Filen under - .config/Nitrokeyskal hedde- u2f_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 - PAM- Det sidste trin er at konfigurere PAM-modulfilerne under - /etc/pam.d/. I denne vejledning vil vi ændre filen- common-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 indstillingen- authfile.
- Hvis du ofte glemmer at sætte nøglen i, - promptmulighed for at- pam_u2fudskrive- Insert 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 make- pam_u2fprint- Please 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 meddelelsen- Please 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 og- sudo. 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-password
- Alternativt kan du blot ændre filen - /etc/pam.d/sudo, hvis du ønsker at bruge FIDO U2F, når du bruger kommandoen- sudo.
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 til- required, 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 - requiredeller- requisiteer 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 - requiredeller- requisite.
- Du mister også muligheden for at bruge - sudo, hvis du opretter central tilknytning af autentifikation og har brugt flagene- requiredeller- requisite.