Hvordan aktivere tofaktorautentisering for SSH i Fedora Linux

Hvordan aktivere tofaktorautentisering for SSH i Fedora Linux

I informasjonsteknologiverdenen er sikkerhet en stor bekymring i disse dager. Hver dag blir nye og sofistikerte angrep lansert mot organisasjoner. Systemadministratorer bruker forskjellige måter for å herde sikkerheten til serverne sine. En av de vanlige måtene å samhandle med en server er å bruke SSH (eller SECURE Shell) protokoll som er mye brukt til ekstern logging til en server. Foruten eksterne skallpålogginger, brukes den også til å kopiere filer mellom to datamaskiner. I motsetning til andre metoder som Telnet, RCP, FTP, etc., SSH -protokoll bruker en krypteringsmekanisme for å sikre kommunikasjonen mellom to verter.

Sikkerheten gitt av SSH-protokollen kan forbedres ytterligere ved å bruke tofaktorautentisering. Dette vil ytterligere sette en sterk vegg mellom vertsdatamaskinen og angriperne. For å koble til den eksterne serveren din med SSH, vil du kreve et passord samt en bekreftelseskode (eller OTP) fra en autentiseringsapplikasjon som kjører på mobilenheten din. Dette er veldig nyttig hvis en angriper stjeler passordet ditt, han vil ikke kunne logge inn på serveren din uten bekreftelseskoden.

Det er mange autentisatorapplikasjoner tilgjengelig for mobile enheter som kjører Android eller Apple iOS. Denne guiden har brukt Google Authenticator -applikasjonen for både Fedora -serveren og mobilenheten.

Hva vi vil dekke

Denne guiden vil se hvordan vi kan bruke tofaktorautentisering med SSH-protokoll for å forhindre uautorisert tilgang til vår Fedora 30-arbeidsstasjon. Vi vil prøve å logge inn på Fedora -serveren vår fra Xubuntu -klientmaskinen for å se om oppsettet fungerer som forventet. La oss komme i gang med å konfigurere SSH med tofaktorautentisering.

Forutsetninger

  1. En Fedora 30 OS installert på den eksterne serveren med en 'sudo' brukerkonto.
  2. En Xubuntu -maskin for tilgang til serveren ovenfor.
  3. En mobil enhet med en Google-Authenticator-applikasjon installert på den.

Oppsett oversikt

  1. Fedora 30 -maskin med IP: 192.168.43.92
  2. Xubuntu -maskin med IP: 192.168.43.71
  3. Mobil enhet med Google-Authenticator-applikasjonen.

Trinn 1. Installer Google-Authenticator på Fedora 30-serveren ved å bruke kommandoen:

$ sudo dnf installer -y google -authenticator

Steg 2. Kjør kommandoen nedenfor for å starte Google-Authenticator på serveren din:

$ google-authenticator

Den vil stille noen spørsmål for å konfigurere serveren til å fungere med mobilenheten din:

Vil du at autentiseringstokener skal være tidsbasert (y/n) y [Enter 'y' her]

Den vil vise en QR -kode i terminalvinduet; Hold dette terminalvinduet åpent for nå.

Trinn 3. Installer Google-Authenticator-appen på mobilenheten din og åpne den. Klikk nå på alternativet 'Skann en QR -kode.'Fokuser nå mobilkameraet ditt på å skanne QR -koden på terminalvinduet på serveren din.

Trinn 4. Etter å ha skannet QR -koden, vil mobilenheten din legge til en konto for serveren din og generere en tilfeldig kode som vil fortsette å endre seg med en roterende tidtaker, som vist på bildet nedenfor:

Trinn 5. Gå nå tilbake til serverterminalvinduet ditt og skriv inn bekreftelseskoden her fra mobilenheten din. Når koden er bekreftet, vil den generere et sett med skrapekode. Disse skrapekodene kan brukes til å logge inn på serveren din i tilfelle du mister mobilenheten din. Så redd dem på et sikkert sted.

Trinn 6. I de videre trinnene vil det stille noen spørsmål å fullføre konfigurasjonen. Vi har gitt nedenfor settet med spørsmål og svarene deres for å konfigurere oppsettet. Du kan endre disse svarene etter ditt behov:

Vil du at jeg skal oppdatere "/Home/Linuxhint/.Google_Authenticator "-fil? (y/n) y [Enter 'y' her]
Vil du ikke tillate flere bruksområder med samme autentiseringstoken? Dette begrenser deg til en pålogging omtrent hvert 30.-tallet, men det øker sjansene dine for å legge merke til eller til og med forhindre mann i midten av angrep (y/n) y [Enter 'y' her]
Som standard genereres et nytt token hvert 30. sekund av mobilappen.For å kompensere for mulige tidssøk mellom klienten og serveren, tillater vi et ekstra token før og etter gjeldende tid. Dette gir mulighet for en tid på opptil 30 sekunder mellom autentiseringsserveren og klienten. Hvis du opplever problemer med dårlig tidssynkronisering, kan du øke vinduet fra standardstørrelsen på 3 tillatte koder (en tidligere kode, gjeldende kode, neste kode) til 17 tillatte koder (de 8 tidligere kodene, gjeldende kode og De 8 neste kodene). Dette vil tillate en tid skjevt på opptil 4 minutter mellom klient og server. Vil du gjøre det? (y/n) y [Enter 'y' her]
Hvis datamaskinen du logger på ikke er herdet mot innloggingsforsøk på brute-force, kan du aktivere hastighetsbegrensende for autentiseringsmodulen. Som standard begrenser dette angripere til ikke mer enn 3 påloggingsforsøk hvert 30. -tallet. Vil du aktivere hastighetsbegrensende? (y/n) y [Enter 'y' her]

Trinn 7. Nå åpner SSHD_CONFIG -filen med hvilken som helst redigering

$ sudo vi/etc/ssh/sshd_config

og gjør følgende trinn:

  1. Ukommentar og angi Passordauthentication til ja.
  2. Ukommentar og angi ChallengerSponseAuthentication til ja.
  3. Ukommentar og angi USEPAM til ja.

Lagre og lukk filen.

Trinn 8. Neste, åpne /etc /pam.d/sshd -fil

$ sudo vi /etc /pam.d/sshd

og legg til følgende linjer under linjen 'Auth Substack Password Auth:

AUTH krevde PAM_GOOGLE_AUTHENTICATOR.så

Trinn 9. Start og aktiver SSH -tjenesten på Fedora -serveren med kommandoen:

$ sudo systemctl start sshd
$ sudo SystemCTL Aktiver SSHD

Alle trinnene for å konfigurere serveren er nå ferdig. Vi vil nå flytte til vår klientmaskin, jeg.e., Xubuntu, i vårt tilfelle.

Trinn 10. Prøv nå å logge inn med SSH fra Xubuntu Machine til Fedora 30 Server:

$ ssh [email protected]

Som du kan se, ber SSH først om serverens passord og deretter en bekreftelseskode fra mobilenheten din. Når du har lagt inn bekreftelseskoden riktig, kan du logge deg på den eksterne Fedora -serveren.

Konklusjon

Gratulerer, vi har konfigurert SSH-tilgangen med to-faktor autentisering på Fedora 30 OS. Du kan konfigurere SSH ytterligere til å bruke bare en bekreftelseskode for å logge inn uten det eksterne serverpassordet.