Om du tycker att lösenordsbaserad och tvåfaktorsautentisering är opålitlig, överväg att ställa in hårdvarubaserad autentisering på Linux med YubiKey.
Du är inte ensam om du oroar dig för det ständigt ökande hotet om hackning. Även om autentiseringsuppmaningar och 2FA är tillräckliga för att avvärja de flesta blivande hackare, lyckas fortfarande tusentals intrång varje dag.
En av de vanligaste lösningarna på autentiseringsproblemet är YubiKey. Men vad är YubiKey, och hur fungerar hårdvaruautentisering? Kan du säkra din Linux-dator med YubiKey?
Varför använda YubiKey för maskinvaruautentisering?
Det finns många olika typer av autentisering, inklusive lösenord, SMS-autentisering och till och med autentiseringsappar som du kan använda med din telefon. En mindre vanlig typ är maskinvaruautentisering, vilket innebär att man använder en liten plugin-enhet för att skicka en autentiseringstoken när du uppmanas att göra det.
YubiKeys och andra hårdvaruautentiseringsenheter har några fördelar jämfört med andra autentiseringsenheter. De är enklare att använda, mycket säkrare och är nästan omöjliga att kompromissa utan tillgång till själva den fysiska YubiKey.
Komma igång med Yubikey
Du kan börja med YubiKey med bara några enkla steg. Som ett första steg bör du använda frågesporten gjord av Yubico för att handla den bästa YubiKey för dina enhetsspecifikationer. När du har din YubiKey till hands kan du använda den som en autentiseringsenhet för webbplatser och appar.
Du kan till och med använda den för att autentisera sudo och SSH på din Linux-dator. Vi kommer att förklara allt du behöver veta om att välja en sudo/SSH-kompatibel YubiKey och konfigurera den för autentisering.
Att välja rätt YubiKey för ditt system
Om du vill använda din YubiKey för autentisering på din Linux-dator, finns det några YubiKeys som sticker ut som överlägsna alternativ. YubiKey 5 och YubiKey 5 NFC är båda klassiker som fungerar bra med system med USB-A respektive USB-C.
Om du vill använda din YubiKey med din Linux-dator och Android-telefon bör du överväga en YubiKey 5c NFC. Om du har en Linux-dator och en iPhone bör du överväga en YubiKey 5ci eftersom den stöder USB-C och lightning.
Det är viktigt att notera att YubiHSM-serien inte är kompatibel med sudo-autentisering. Legacy YubiKeys kan eller kanske inte är kompatibla med sudo/SSH-autentisering beroende på deras specifika egenskaper.
Innan du börjar med sudo- eller SSH-autentisering måste du installera YubiKey PPA. Öppna terminalen och ange följande kommandon för att uppdatera dina paket och installera YubiKey Authenticator och YubiKey Manager:
sudo add-apt-repository ppa: yubico/stable
sudo apt-get uppdatering
sudo apt installera yubikey-manager libpam-yubico libpam-u2f
Därefter måste du verifiera att ditt system är redo att arbeta med din YubiKey. Kör följande kommando i terminalen för att kontrollera din udev-version:
sudo udevadm --version
Terminalen kommer att returnera ett nummer. Om siffran är 244 eller högre är ditt system kompatibelt med YubiKey. Du kan hoppa över nästa steg i det här fallet.
Annars måste du konfigurera ditt system. Du bör använda följande kommandon för att kontrollera om udev är installerat på din dator – och för att installera det om det inte är det:
dpkg -s libu2f-udev
sudo apt installera libu2f-udev
Kontrollera sedan om din YubiKeys U2F-gränssnitt är upplåst. Om du har en YubiKey NEO eller YubiKey NEO-n, sätt i din YubiKey, öppna YubiKey Manager och navigera till Gränssnitt. Aktivera U2F-gränssnitt och tryck Spara.
Ställ in YubiKey för sudo-autentisering på Linux
sudo är ett av de farligaste kommandona i Linux-miljön. I rätt händer ger den en imponerande åtkomstnivå som är tillräcklig för att få de flesta jobb gjorda. I fel händer kan åtkomsten på rotnivå som sudo tillhandahåller tillåta skadliga användare att utnyttja eller förstöra ett system.
YubiKeys är utmärkta för sudo-autentisering eftersom deras autentisering är nästan omöjlig att replikera utan tillgång till själva YubiKey. De flesta YubiKeys är kompatibla med sudo-autentisering, inklusive 5 FIPs Series, Key Series, 4 FIPs Series, Bio Series, 5 Series och 4 Series.
Enligt Yubico, det första steget du behöver ta för att konfigurera sudo-autentisering är att skapa en regelfil. Om din udev-version är 188 eller högre, installera de nya U2F-reglerna från GitHub och kopiera 70-u2f.regler fil till /etc/udev/rules.d.
Om din udev-version är under 188, installera de äldre U2F-reglerna från GitHub och kopiera 70-gamla-u2f.regler fil till /etc/udev/rules.d.
Om din udev-version är 244 eller högre eller om du har skapat de nödvändiga regelfilerna, är du redo att länka din YubiKey med ditt konto.
Sätt in YubiKey i din dator, öppna terminalen och ange följande kommandon för att länka din YubiKey till ditt konto:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Vänta några ögonblick tills indikatorlampan på din YubiKey börjar blinka. Tryck på knappen på din YubiKey för att bekräfta enhetslänken.
Om du har en annan YubiKey till hands, bör du lägga till den som en säkerhetskopieringsenhet genom att ange följande kommando och slutföra samma process:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Slutligen måste du konfigurera sudo-kommandot för att kräva YubiKey-autentisering. Du bör börja med att ange följande kommando för att öppna sudo-konfigurationsfilen:
sudo vi /etc/pam.d/sudo
När konfigurationsfilen är öppen klistrar du in följande rad precis under @inkludera common-auth rad för att konfigurera sudo för att kräva YubiKey-autentisering:
auth krävs pam_u2f.so
Spara och avsluta filen genom att trycka på Fly, skriver :wqoch trycker på Stiga på, men håll terminalen öppen. Du kommer inte att kunna ångra ändringarna du gjorde i sudo-autentisering om terminalen stänger.
Öppna en andra terminal och kör följande kommando med din YubiKey urkopplad, ange sedan ditt lösenord:
sudo ekotester
Autentiseringsprocessen kommer att misslyckas. Sätt i din YubiKey och ange kommandot och ditt lösenord igen. När YubiKey-indikatorlampan börjar blinka, tryck på knappen på din YubiKey. Det bör autentisera kommandot. Om den gör det är din YubiKey helt inställd för sudo-autentisering.
Hur man ställer in YubiKey för SSH-autentisering
Du kan också använda din YubiKey för SSH-autentisering! Flera YubiKey-serier är kompatibla med SSH, inklusive 5 FIPS-serien, 5-serien, 4 FIPS-serien och 4-serien. Genom att använda YubiKey för att autentisera dina anslutningar kan du göra det gör varje SSH-inloggning mycket säkrare.
Den bästa metoden för att ställa in YubiKey beskrevs av en erfaren användare på GitHub. Du behöver SSH 8.2 eller nyare och en YubiKey med firmware 5.2.3 eller senare. Du kan kontrollera din OpenSSH-version – och uppdatera den om det behövs – med följande kommandon:
ssh -V
sudo apt uppdatering && sudo apt uppgradering
Därefter måste du konfigurera SSH för att acceptera din YubiKey. Ange följande kommando till öppna vi-redigeraren och redigera konfigurationsfilen:
sudo vi /etc/ssh/sshd_config
Lägg till följande rad i konfigurationsfilen så att din YubiKey kommer att accepteras:
PubkeyAcceptedKeyTypes [email protected], [email protected]
Spara och avsluta filen genom att trycka på Fly, skriver :wq, och slår Stiga på. Slutligen, starta om SSH-tjänsten med följande kommando så att din nya konfiguration blir aktiv:
sudo service ssh omstart
Slutligen är du redo att skapa nyckelparet du kommer att använda för SSH-autentisering. Navigera till SSH-katalogen och skapa din nya SSH-nyckel med följande kommandon:
cd hem/användarnamn/.ssh
ssh-keygen -t ed25519-sk
Två filer kommer att skapas i ~/.ssh/ katalog. Observera att du kan behöva använda ecdsa-sk istället för ed25519-sk om ditt system är inkompatibelt och terminalen uppmanar att nyckelregistreringen misslyckades.
Därefter måste du lägga till den offentliga nyckeln till din server med följande kommando:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub användarnamn@server
Du bör också lägga till dig själv i sudoers-filen så att du bibehåller behörigheter efter att ha inaktiverat rotinloggningen. Öppna filen och öppna den med visudo.
Öppna inte sudoers-filen med en vanlig textredigerare.
Under raden som lyder root ALLA=(ALLA: ALLA) ALLA, lägg till följande rad:
användarnamn ALLA=(ALLA: ALLA) ALLA
Öppna /etc/ssh/ssd_config fil och lägg till följande rader för att inaktivera rotinloggning och lösenordsbaserad inloggning:
ChallengeResponseAuthentication noPermitRootLogin nr
Ange slutligen följande kommando för att ladda din nyckel i din SSH-agent under sessionens varaktighet:
ssh-add ~/.ssh/id_ed25519_sk
Du kan nu använda din YubiKey för SSH-autentisering. Du måste sätta in din YubiKey i din dator när du uppmanas och trycka på knappen när indikatorn blinkar. Med denna nya autentiseringsmetod blir SSH-åtkomst till din fjärrserver betydligt säkrare.
Andra möjliga användningsområden för YubiKey
Det finns ingen riktig gräns för hur du kan använda YubiKey på ditt Linux-system. Om du vill göra din dator extra säker, överväg att använda din YubiKey för disk- eller lösenordsfri kryptering. Du kan till och med använda den för att signera e-postmeddelanden och filer om du vill.
Säkra ditt Linux-system med YubiKey
Du behöver inte sluta med att bara använda din YubiKey för SSH och sudo-autentisering. Du kan också använda din YubiKey för att autentisera åtkomst till många av dina konton på webben. Det bästa är att det är en enkel process att komma igång med YubiKey 2FA.