ssh

Hoe twee-factor-authenticatie voor SSH in Fedora Linux in te schakelen

Hoe twee-factor-authenticatie voor SSH in Fedora Linux in te schakelen

In de wereld van de informatietechnologie is beveiliging tegenwoordig een grote zorg. Elke dag worden er nieuwe en geavanceerde aanvallen tegen organisaties gelanceerd. Systeembeheerders gebruiken verschillende manieren om de beveiliging van hun servers te versterken. Een van de gebruikelijke manieren om met een server te communiceren, is het gebruik van de SSH (of Secure SHell) protocol dat veel wordt gebruikt voor loggen op afstand naar een server. Naast remote shell logins, wordt het ook gebruikt voor het kopiëren van bestanden tussen twee computers. In tegenstelling tot andere methoden zoals telnet, rcp, ftp, enz., SSH-protocol gebruikt een coderingsmechanisme om de communicatie tussen twee hosts te beveiligen.

De beveiliging van het SSH-protocol kan verder worden verbeterd door gebruik te maken van tweefactorauthenticatie. Dit zorgt voor een sterke muur tussen je hostcomputer en de aanvallers. Om verbinding te maken met uw externe server met SSH, hebt u een wachtwoord en een verificatiecode (of OTP) nodig van een authenticatietoepassing die op uw mobiele apparaat wordt uitgevoerd. Dit is erg handig als een aanvaller uw wachtwoord steelt, hij kan niet inloggen op uw server zonder de verificatiecode.

Er zijn veel authenticatietoepassingen beschikbaar voor mobiele apparaten met Android of Apple IOS. Deze gids heeft de Google Authenticator-applicatie gebruikt voor zowel de Fedora-server als het mobiele apparaat.

Wat gaan we behandelen

Deze gids zal zien hoe we twee-factor-authenticatie met het SSH-protocol kunnen gebruiken om ongeautoriseerde toegang tot ons Fedora 30-werkstation te voorkomen. We zullen proberen in te loggen op onze Fedora-server vanaf de Xubuntu-clientmachine om te zien of de installatie werkt zoals verwacht. Laten we beginnen met het configureren van SSH met tweefactorauthenticatie.

Vereisten

  1. Een Fedora 30 OS geïnstalleerd op de externe server met een 'sudo' gebruikersaccount.
  2. Een Xubuntu-machine voor toegang tot de bovenstaande server.
  3. Een mobiel apparaat waarop een Google-Authenticator-app is geïnstalleerd.

Installatieoverzicht

  1. Fedora 30-machine met IP: 192.168.43.92
  2. Xubuntu-machine met IP: 192.168.43.71
  3. Mobiel apparaat met Google-Authenticator-applicatie.

Stap 1. Installeer Google-Authenticator op de Fedora 30-server met behulp van de opdracht:

$ sudo dnf install -y google-authenticator

Stap 2. Voer de onderstaande opdracht uit om de Google-Authenticator op uw server te starten:

$ google-authenticator

Er worden enkele vragen gesteld om de server te configureren om met uw mobiele apparaat te werken:

Wilt u authenticatietokens op tijd gebaseerd zijn (j/n) y [Voer hier 'Y' in]

Er wordt een QR-code weergegeven in het terminalvenster; houd dit terminalvenster voorlopig open.

Stap 3. Installeer de Google-Authenticator-app op uw mobiele apparaat en open deze. Klik nu op de optie 'Scan een QR-code'.' Richt nu uw mobiele camera op het scannen van de QR-code op het terminalvenster van uw server.

Stap 4. Na het scannen van de QR-code zal uw mobiele apparaat een account voor uw server toevoegen en een willekeurige code genereren die met een roterende timer blijft veranderen, zoals weergegeven in de onderstaande afbeelding:

Stap 5. Ga nu terug naar uw serverterminalvenster en voer hier de verificatiecode van uw mobiele apparaat in. Zodra de code is bevestigd, genereert deze een set krascodes. Deze krascodes kunnen worden gebruikt om in te loggen op uw server voor het geval u uw mobiele apparaat verliest. Bewaar ze dus op een veilige plaats.

Stap 6. In de verdere stappen zal het enkele vragen stellen om de configuratie te voltooien. We hebben hieronder de reeks vragen en hun antwoorden gegeven om de installatie te configureren. U kunt die antwoorden naar behoefte wijzigen:

Wil je dat ik je "/home/linuxhint/.google_authenticator" bestand? (j/n) j   [Vul hier 'y' in]
Wilt u meerdere toepassingen van hetzelfde authenticatietoken niet toestaan?? Dit beperkt u tot één keer inloggen per 30 seconden, maar het vergroot uw kansen om man-in-the-middle-aanvallen op te merken of zelfs te voorkomen (j/n) y [Voer hier 'y' in]
Standaard wordt elke 30 seconden een nieuwe token gegenereerd door de mobiele app.Om eventuele tijdsverschillen tussen de client en de server te compenseren, staan ​​we een extra token toe voor en na de huidige tijd. Dit zorgt voor een tijdsverschil van maximaal 30 seconden tussen de authenticatieserver en de client. Als u problemen ondervindt met een slechte tijdsynchronisatie, kunt u het venster vergroten van de standaardgrootte van 3 toegestane codes (een vorige code, de huidige code, de volgende code) naar 17 toegestane codes (de 8 vorige codes, de huidige code en de 8 volgende codes). Dit zorgt voor een tijdsverschil van maximaal 4 minuten tussen client en server. Wil je dat doen?? (j/n) j   [Vul hier 'y' in]
Als de computer waarop u zich aanmeldt niet bestand is tegen brute-force inlogpogingen, kunt u snelheidsbeperking inschakelen voor de authenticatiemodule. Standaard beperkt dit aanvallers tot niet meer dan 3 inlogpogingen per 30s. Wilt u snelheidsbeperking inschakelen?? (j/n) j   [Vul hier 'y' in]

Stap 7. Open nu het sshd_config-bestand met een willekeurige editor

$ sudo vi /etc/ssh/sshd_config

en voer de volgende stappen uit:

  1. Verwijder commentaar en stel de . in WachtwoordAuthenticatie naar ja.
  2. Verwijder commentaar en stel de . in UitdagingReactieAuthenticatie naar ja.
  3. Verwijder commentaar en stel de . in Gebruik PAM naar ja.

Bewaar en sluit het bestand.

Stap 8. Open vervolgens de /etc/pam.d/sshd-bestand

$ sudo vi /etc/pam.d/sshd

en voeg de volgende regels toe onder de regel 'auth substack wachtwoord auth:

auth vereist pam_google_authenticator.zo

Stap 9. Start en activeer de SSH-service op de Fedora-server met het commando:

$ sudo systemctl start sshd
$ sudo systemctl sshd inschakelen

Alle stappen voor het configureren van de server zijn nu voltooid. We gaan nu naar onze client-machine, i.e., Xubuntu, in ons geval.

Stap 10. Probeer nu in te loggen met SSH van de Xubuntu-machine naar de Fedora 30-server:

$ ssh [e-mail beveiligd]

Zoals je kunt zien, vraagt ​​de SSH eerst om het wachtwoord van de server en vervolgens om een ​​verificatiecode van je mobiele apparaat. Zodra je de verificatiecode correct hebt ingevoerd, kun je inloggen op de externe Fedora-server.

Conclusie

Gefeliciteerd, we hebben met succes de SSH-toegang geconfigureerd met tweefactorauthenticatie op Fedora 30 OS. U kunt SSH verder configureren om alleen een verificatiecode te gebruiken om in te loggen zonder het externe serverwachtwoord.

Beste Linux-distributies voor gaming in 2021
Het Linux-besturingssysteem heeft een lange weg afgelegd van zijn oorspronkelijke, eenvoudige, servergebaseerde uiterlijk. Dit besturingssysteem is de...
Hoe u uw gamesessie op Linux kunt vastleggen en streamen
In het verleden werd het spelen van games alleen als een hobby beschouwd, maar met de tijd zag de game-industrie een enorme groei in termen van techno...
Beste spellen om te spelen met handtracking
Oculus Quest introduceerde onlangs het geweldige idee van handtracking zonder controllers. Met een steeds toenemend aantal games en activiteiten die f...