Slik logger du på Linux-skrivebordet ditt med Google Authenticator
For ytterligere sikkerhet kan du kreve et tidsbasert godkjennings-token, samt et passord for å logge deg på Linux-PCen din. Denne løsningen bruker Google Authenticator og andre TOTP-apper.
Denne prosessen ble utført på Ubuntu 14.04 med standard Unity desktop og LightDM login manager, men prinsippene er de samme på de fleste Linux distribusjoner og stasjonære datamaskiner.
Vi har tidligere vist deg hvordan du krever Google Authenticator for ekstern tilgang via SSH, og denne prosessen er lik. Dette krever ikke Google Authenticator-appen, men fungerer med alle kompatible apper som implementerer TOTP-godkjenningsordningen, inkludert Authy.
Installer Google Authenticator PAM
Som når du setter opp dette for SSH-tilgang, må vi først installere riktig PAM ("pluggable-authentication module") -programvare. PAM er et system som lar oss plugge ulike typer autentiseringsmetoder til et Linux-system og kreve dem.
På Ubuntu vil følgende kommando installere Google Authenticator PAM. Åpne et Terminal-vindu, skriv inn følgende kommando, trykk Enter og angi passordet ditt. Systemet laster ned PAM fra Linux-distribusjonens programvarelagre og installerer det:
sudo apt-get installer libpam-google-autentiserer
Andre Linux-distribusjoner bør forhåpentligvis ha denne pakken tilgjengelig for enkel installasjon også - åpne Linux-distribusjonens programvarebeholdning og utfør et søk etter det. I verste fall kan du finne kildekoden for PAM-modulen på GitHub og kompilere det selv.
Som vi påpekte tidligere, er denne løsningen ikke avhengig av å ringe hjem til Googles servere. Den implementerer standard TOTP algoritmen og kan brukes selv når datamaskinen ikke har internettilgang.
Opprett autentiseringstaster
Du må nå opprette en hemmelig autentiseringsnøkkel og skrive den inn i Google Authenticator-appen (eller en lignende) app på telefonen din. Først logger du på som brukerkonto på ditt Linux-system. Åpne et terminalvindu og kjøre google-autentifikatoren kommando. Type y og følg instruksjonene her. Dette vil opprette en spesiell fil i den gjeldende brukerkontoens katalog med Google Autentiseringsinformasjonen.
Du vil også gå gjennom prosessen med å få den to-faktor verifiseringskoden til en Google Authenticator eller lignende TOTP-app på smarttelefonen din. Systemet ditt kan generere en QR-kode du kan skanne, eller du kan skrive den inn manuelt.
Pass på å legge ned dine nødskrapelodder, som du kan bruke til å logge inn med hvis du mister telefonen.
Gå gjennom denne prosessen for hver brukerkonto som bruker datamaskinen. Hvis du for eksempel er den eneste personen som bruker datamaskinen, kan du bare gjøre det en gang på din normale brukerkonto. Hvis du har noen andre som bruker datamaskinen din, vil du få dem til å logge på egen konto og generere en passende tofaktorkode for egen konto slik at de kan logge inn.
Aktiver autentisering
Her er ting som blir litt dicy. Når vi forklarte hvordan du aktiverer to-faktor for SSH-pålogginger, krevde vi det bare for SSH-pålogginger. Dette sørget for at du fortsatt kunne logge inn lokalt hvis du mistet godkjenningsapplikasjonen din eller hvis noe gikk galt.
Siden vi vil aktivere tofaktorautentisering for lokale pålogginger, er det potensielle problemer her. Hvis noe går galt, kan du kanskje ikke logge inn. Med det i tankene, vil vi gå gjennom deg, slik at dette kun er tilgjengelig for grafiske pålogginger. Dette gir deg en fluktluke hvis du trenger det.
Aktiver Google Autentisering for grafiske pålogginger på Ubuntu
Du kan alltid aktivere to-trinns autentisering for bare grafiske pålogginger, hopper over kravet når du logger deg inn fra tekstmeldingen. Dette betyr at du enkelt kan bytte til en virtuell terminal, logge inn der, og tilbakestille endringene, slik at Gogole Authenciator ikke ville være nødvendig hvis du opplever et problem.
Sikker, dette åpner et hull i godkjenningssystemet, men en angriper med fysisk tilgang til systemet kan allerede utnytte det uansett. Derfor er tofaktorautentisering spesielt effektiv for eksterne pålogginger via SSH.
Slik gjør du dette for Ubuntu, som bruker LightDM-loggbehandling. Åpne LightDM-filen for redigering med en kommando som følgende:
sudo gedit /etc/pam.d/lightdm
(Husk at disse spesifikke trinnene bare fungerer hvis Linux-distribusjonen og skrivebordet bruker LightDM-loggbehandling.)
Legg til følgende linje til slutten av filen, og lagre den deretter:
auth kreves pam_google_authenticator.so nullok
"Nullok" -biten på slutten forteller systemet for å la en bruker logge på, selv om de ikke har kjørt kommandoen google-autentisering for å konfigurere tofaktorautentisering. Hvis de har satt opp, må de legge inn en tidsbasert kode - ellers vil de ikke. Fjern "nullok" og brukerkontoer som ikke har konfigurert en Google Authenticator-kode, vil ikke kunne logge inn grafisk.
Neste gang en bruker logger på grafisk, blir de bedt om passordet sitt og deretter bedt om at den nåværende bekreftelseskoden vises på telefonen. Hvis de ikke oppgir bekreftelseskoden, har de ikke lov til å logge inn.
Prosessen bør være ganske lik for andre Linux-distribusjoner og -plater, da de fleste vanlige Linux-desktop-sesjonsforvaltere bruker PAM. Du vil sannsynligvis bare måtte redigere en annen fil med noe som ligner på aktivering av riktig PAM-modul.
Hvis du bruker Home Directory Encryption
Eldre utgivelser av Ubuntu ga et enkelt "hjemmemappe kryptering" alternativ som krypterte hele hjemmekatalogen til du angir passordet ditt. Spesifikt, dette bruker ecryptfs. Men fordi PAM-programvaren er avhengig av en Google Authenticator-fil som er lagret i din hjemmekatalog som standard, krypterer krypteringen PAM-lesingen av filen, med mindre du sikrer at den er tilgjengelig i ukryptert form til systemet før du logger inn. Les README for mer informasjon om å unngå dette problemet hvis du fortsatt bruker de utdaterte hjemmekatalogkrypteringsalternativene.
Moderne versjoner av Ubuntu tilbyr fulldisk-kryptering i stedet, som vil fungere bra med alternativene ovenfor. Du trenger ikke å gjøre noe spesielt
Hjelp, det brøt!
Fordi vi bare aktiverte dette for grafiske pålogginger, bør det være enkelt å deaktivere hvis det forårsaker et problem. Trykk på en tastekombinasjon som Ctrl + Alt + F2 for å få tilgang til en virtuell terminal og logg inn der med brukernavnet og passordet ditt. Du kan da bruke en kommando som sudo nano /etc/pam.d/lightdm for å åpne filen for redigering i en terminal tekstredigerer. Bruk vår guide til Nano for å fjerne linjen og lagre filen, og du vil kunne logge på normalt igjen.
Du kan også tvinge Google Authenticator til å være nødvendig for andre typer innlogginger - muligens alle systemloggene - ved å legge til linjen "auth required pam_google_authenticator.so" til andre PAM-konfigurasjonsfiler. Vær forsiktig hvis du gjør dette. Og husk at du kanskje vil legge til "nullok", slik at brukere som ikke har gått gjennom installasjonsprosessen, kan fortsatt logge inn.
Ytterligere dokumentasjon om hvordan du bruker og konfigurerer denne PAM-modulen, finnes i programvarens README-fil på GitHub.