Als u wachtwoordgebaseerde en tweefactorauthenticatie onbetrouwbaar vindt, overweeg dan om hardwaregebaseerde authenticatie op Linux in te stellen met behulp van YubiKey.
U bent niet de enige als u zich zorgen maakt over de steeds groter wordende dreiging van hacking. Hoewel authenticatieprompts en 2FA voldoende zijn om de meeste potentiële hackers af te weren, slagen nog steeds duizenden inbreuken elke dag.
Een van de meest aangeprezen oplossingen voor het authenticatieprobleem is YubiKey. Maar wat is YubiKey en hoe werkt hardware-authenticatie? Kun je je Linux-pc beveiligen met YubiKey?
Waarom YubiKey gebruiken voor hardware-authenticatie?
Er zijn veel verschillende soorten authenticatie, waaronder wachtwoorden, sms-authenticatie en zelfs authenticatie-apps die u met uw telefoon kunt gebruiken. Een minder vaak voorkomend type is hardware-authenticatie, waarbij een klein plug-in-apparaat wordt gebruikt om een authenticatietoken te verzenden wanneer daarom wordt gevraagd.
YubiKeys en andere hardware-authenticatie-apparaten hebben enkele voordelen ten opzichte van andere authenticators. Ze zijn gemakkelijker te gebruiken, veel veiliger en het is bijna onmogelijk om compromissen te sluiten zonder toegang tot de fysieke YubiKey zelf.
Aan de slag met Yubikey
U kunt in een paar eenvoudige stappen beginnen met YubiKey. Gebruik als eerste stap de quiz gemaakt door Yubico om te winkelen voor de beste YubiKey voor uw apparaatspecificaties. Zodra u uw YubiKey bij de hand heeft, kunt u deze gebruiken als authenticatie-apparaat voor websites en apps.
Je kunt het zelfs gebruiken om sudo en SSH op je Linux-computer te verifiëren. We leggen alles uit wat u moet weten over het kiezen van een sudo/SSH-compatibele YubiKey en het configureren ervan voor authenticatie.
De juiste YubiKey kiezen voor uw systeem
Als u uw YubiKey wilt gebruiken voor authenticatie op uw Linux-computer, zijn er een paar YubiKeys die opvallen als superieure opties. De YubiKey 5 en YubiKey 5 NFC zijn beide klassiekers die goed werken met systemen met respectievelijk USB-A en USB-C.
Als je je YubiKey wilt gebruiken met je Linux-computer en Android-telefoon, moet je een YubiKey 5c NFC overwegen. Als je een Linux-computer en een iPhone hebt, zou je een YubiKey 5ci moeten overwegen omdat deze USB-C en bliksem ondersteunt.
Het is belangrijk op te merken dat de YubiHSM-serie niet compatibel is met sudo-authenticatie. Legacy YubiKeys kunnen al dan niet compatibel zijn met sudo/SSH-authenticatie, afhankelijk van hun specifieke kenmerken.
Voordat u begint met sudo- of SSH-authenticatie, moet u de YubiKey PPA installeren. Open de terminal en voer de volgende opdrachten in om uw pakketten bij te werken en YubiKey Authenticator en YubiKey Manager te installeren:
sudo add-apt-repository ppa: yubico/stable
sudo apt-get-update
sudo apt install yubikey-manager libpam-yubico libpam-u2f
Vervolgens moet u controleren of uw systeem klaar is om met uw YubiKey te werken. Voer de volgende opdracht uit in de terminal om uw udev-versie te controleren:
sudo udevadm --versie
De terminal retourneert een nummer. Als het nummer 244 of hoger is, is uw systeem compatibel met YubiKey. In dit geval kunt u de volgende stap overslaan.
Anders moet u uw systeem configureren. U moet de volgende opdrachten gebruiken om te controleren of udev op uw computer is geïnstalleerd - en om het te installeren als dit niet het geval is:
dpkg -s libu2f-udev
sudo apt installeer libu2f-udev
Controleer vervolgens of de U2F-interface van uw YubiKey is ontgrendeld. Als u een YubiKey NEO of YubiKey NEO-n heeft, plaatst u uw YubiKey, opent u YubiKey Manager en navigeert u naar Interfaces. Schakel de U2F-interface en druk op Redden.
Stel YubiKey in voor sudo-authenticatie op Linux
sudo is een van de gevaarlijkste commando's in de Linux-omgeving. In de juiste handen biedt het een indrukwekkend toegangsniveau dat voldoende is om de meeste klussen te klaren. In verkeerde handen kan de toegang op rootniveau die sudo biedt kwaadwillende gebruikers in staat stellen een systeem uit te buiten of te vernietigen.
YubiKeys zijn uitstekend geschikt voor sudo-authenticatie omdat hun authenticatie bijna onmogelijk te repliceren is zonder toegang tot de YubiKey zelf. De meeste YubiKeys zijn compatibel met sudo-authenticatie, waaronder de 5 FIPs-serie, Key Series, 4 FIPs-serie, Bio-serie, 5-serie en 4-serie.
Volgens Yubico, de eerste stap die u moet nemen om sudo-authenticatie te configureren, is het maken van een regelbestand. Als uw udev-versie 188 of hoger is, installeer dan de nieuwe U2F-regels van GitHub en kopieer de 70-u2f.regels bestand naar /etc/udev/rules.d.
Als uw udev-versie lager is dan 188, installeer dan de verouderde U2F-regels van GitHub en kopieer de 70-oude-u2f.regels bestand naar /etc/udev/rules.d.
Als je udev-versie 244 of hoger is of als je de benodigde regelbestanden hebt gemaakt, ben je klaar om je YubiKey aan je account te koppelen.
Plaats de YubiKey in uw computer, open de terminal en voer de volgende opdrachten in om uw YubiKey aan uw account te koppelen:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
Wacht enkele ogenblikken totdat het indicatielampje op uw YubiKey begint te knipperen. Raak de knop op uw YubiKey aan om de apparaatkoppeling te bevestigen.
Als u nog een YubiKey bij de hand heeft, moet u deze als back-upapparaat toevoegen door de volgende opdracht in te voeren en hetzelfde proces te voltooien:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Ten slotte moet u de sudo-opdracht configureren om YubiKey-authenticatie te vereisen. U moet beginnen met het invoeren van de volgende opdracht om het sudo-configuratiebestand te openen:
sudo vi /etc/pam.d/sudo
Zodra het configuratiebestand is geopend, plakt u de volgende regel net onder het @include common-auth regel om sudo te configureren om YubiKey-authenticatie te vereisen:
auth vereist pam_u2f.so
Sla het bestand op en verlaat het door op te drukken Ontsnappen, typen :wq, en drukken Binnenkomen, maar houd de terminal open. U kunt de wijzigingen die u in sudo-authenticatie hebt aangebracht niet ongedaan maken als de terminal wordt gesloten.
Open een tweede terminal en voer de volgende opdracht uit met uw YubiKey losgekoppeld en voer vervolgens uw wachtwoord in:
sudo echo testen
Het authenticatieproces zal mislukken. Voer uw YubiKey in en voer de opdracht en uw wachtwoord opnieuw in. Wanneer het YubiKey-indicatielampje begint te knipperen, raakt u de knop op uw YubiKey aan. Het zou de opdracht moeten authenticeren. Als dit het geval is, is uw YubiKey volledig ingesteld voor sudo-authenticatie.
YubiKey instellen voor SSH-authenticatie
U kunt uw YubiKey ook gebruiken voor SSH-authenticatie! Verschillende YubiKey-series zijn compatibel met SSH, waaronder de 5 FIPS-serie, 5-serie, 4 FIPS-serie en 4-serie. Door YubiKey te gebruiken om uw verbindingen te verifiëren, kunt u dit doen maak elke SSH-login veel veiliger.
De beste methode om YubiKey in te stellen, werd door een ervaren gebruiker beschreven op GitHub. Je hebt SSH 8.2 of nieuwer nodig en een YubiKey met firmware 5.2.3 of nieuwer. U kunt uw OpenSSH-versie controleren - en indien nodig bijwerken - met de volgende opdrachten:
ssh-V
sudo apt-update && sudo apt-upgrade
Vervolgens moet je SSH configureren om je YubiKey te accepteren. Voer de volgende opdracht in om open de vi-editor en bewerk het configuratiebestand:
sudo vi /etc/ssh/sshd_config
Voeg de volgende regel toe aan het configuratiebestand zodat uw YubiKey wordt geaccepteerd:
PubkeyAcceptedKeyTypes [email protected], [email protected]
Sla het bestand op en verlaat het door op te drukken Ontsnappen, typen :wq, en slaan Binnenkomen. Herstart ten slotte de SSH-service met de volgende opdracht zodat uw nieuwe configuratie actief wordt:
sudo-service ssh opnieuw opstarten
Eindelijk bent u klaar om het sleutelpaar te maken dat u gaat gebruiken voor SSH-authenticatie. Navigeer naar de SSH-directory en maak uw nieuwe SSH-sleutel aan met de volgende opdrachten:
cd home/gebruikersnaam/.ssh
ssh-keygen -t ed25519-sk
Er worden twee bestanden aangemaakt in het ~/.ssh/ map. Houd er rekening mee dat u mogelijk moet gebruiken ecdsa-sk in plaats van ed25519-sk als uw systeem niet compatibel is en de terminal aangeeft dat de sleutelregistratie is mislukt.
Vervolgens moet u de openbare sleutel aan uw server toevoegen met de volgende opdracht:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub gebruikersnaam@server
U moet uzelf ook toevoegen aan het sudoers-bestand, zodat u de machtigingen behoudt nadat u de root-login hebt uitgeschakeld. Open het bestand en open het met visudo.
Open het sudoers-bestand niet met een normale teksteditor.
Onder de regel die leest root ALL=(ALL: ALL) ALLES, voeg de volgende regel toe:
gebruikersnaam ALL=(ALL: ALL) ALL
Open de /etc/ssh/ssd_config bestand en voeg de volgende regels toe om root login en login op basis van wachtwoord uit te schakelen:
ChallengeResponseAuthenticatie neePermitRootLogin nr
Voer ten slotte de volgende opdracht in om uw sleutel in uw SSH-agent te laden voor de duur van de sessie:
ssh-toevoegen ~/.ssh/id_ed25519_sk
U kunt nu uw YubiKey gebruiken voor SSH-authenticatie. U moet uw YubiKey in uw computer steken wanneer daarom wordt gevraagd en op de knop tikken wanneer de indicator knippert. Met deze nieuwe authenticatiemethode wordt SSH-toegang tot uw externe server aanzienlijk veiliger.
Andere mogelijke toepassingen van YubiKey
Er is geen echte limiet aan hoe je YubiKey op je Linux-systeem kunt gebruiken. Als u uw pc extra veilig wilt maken, overweeg dan om uw YubiKey te gebruiken voor schijf- of wachtwoordloze codering. U kunt het zelfs gebruiken om e-mails en bestanden te ondertekenen als u dat wilt.
Beveilig uw Linux-systeem met YubiKey
U hoeft niet alleen uw YubiKey te gebruiken voor SSH- en sudo-authenticatie. U kunt uw YubiKey ook gebruiken voor het verifiëren van de toegang tot veel van uw accounts op internet. Het beste is dat aan de slag gaan met YubiKey 2FA een eenvoudig proces is.