Konfigurera SSH -inloggningsautentiseringsfaktorer i CentOS 7

Säkerhet är en av bastionerna av CentOS 7 och vi gillar administratörer eller IT -personal som hanterar denna typ av maskiner måste se till att dessa säkerhetsnivåer blir bättre varje dag eftersom det som är i fara är informationen från användarna. Det finns olika säkerhetsåtgärder som vi kan genomföra i CentOS 7 Och en av de viktigaste, som vi kommer att fokusera på, är autentisering.

En faktor av autentisering Det är en metod som bestämmer att en användare har behörighet att utföra en åtgärd i systemet, till exempel början av sessionen eller installation av en applikation, detta är viktigt eftersom det tillåter oss att ha centraliserad kontroll över varje händelse som inträffar i systemet . Det finns några grundläggande komponenter i autentiseringsprocessen, till exempel:

AutentiseringskanalDet är sättet autentiseringssystemet levererar en faktor till användaren så att den visar sin auktorisering, till exempel en dator.

AutentiseringsfaktorSom vi har nämnt är det metoden att visa det vi har rättigheterna för att utföra åtgärden, till exempel ett lösenord.

Vi vet att SSH använder fördefinierade lösenord, men detta är en autentiseringsfaktor och det är viktigt att lägga till en kanal eftersom en Lösenord i fel händer riskerar hela operationens integritet. Den här gången kommer vi att prata och analysera hur man implementerar flera autentiseringsfaktorer, kända som MFA, eftersom dessa särskilt ökar åtkomstsäkerheten genom att inte bara kräva en, utan flera autentiseringsparametrar för att logga in korrekt.
Det finns olika autentiseringsfaktorer som:

  • Lösenord och frågor av säkerhet.
  • Tecken av säkerhet.
  • Röst eller fingeravtryck digital.
Med dessa koncept kommer vi att starta processen med att konfigurera flera autentiseringsfaktorer i CentOS 7.

1. Så här installerar du Google PAM


PAM (Pluggable Authentication Module) är i grunden en autentiseringsinfrastruktur för användare av Linux -miljöer. Denna PAM genererar TOTP (tidsbaserat engångslösenord) och är kompatibelt med OATH-TOTP-applikationer som Google Authenticator.

Steg 1
För installation PAM på CentOS 7 först kommer det att vara nödvändigt att installera EPEL -förvaret (Extra Packages for Enterprise Linux), för detta kommer vi att använda följande rad. Vi accepterar nedladdning och respektive installation av paketen.

 sudo yum installera https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

FÖRSTORA

Steg 2
När EPEL -förvaret är installerat installerar vi PAM i CentOS 7 med följande rad:

 sudo yum installera google-authenticator

FÖRSTORA

Steg 3
Om det är första gången som vi använder det här förvaret måste vi acceptera användningen av lösenordet av EPEL men kommer inte att begäras igen, i den här raden går vi in ​​i brev:

FÖRSTORA

Vi kan se att installationen har lyckats. vi har PAM installerat I CentOS 7 kommer vi att använda hjälp av verktyget för att generera TOPT för användaren till vilken en andra autentiseringsfaktor kommer att läggas till. Det är viktigt att klargöra att detta nyckeln måste vara användargenererad men inte på systemnivå eftersom varje åtkomst är personlig.

2. Så här använder du Google PAM


Nu får vi se hur kör och använd PAM av Google.

Steg 1
Med detta i åtanke fortsätter vi till starta google-authenticator med följande kommando:

 google-autentisering
Följande fönster visas där vi får meddelandet om säkerhetstoken kommer att baseras på tid, vi anger Y:

FÖRSTORA

Steg 2
PAM hanterar två typer av token, baserat på tid eller sekventiell, de sekventiella låter koden börja vid en punkt och sedan öka med varje användning. Den tidsbaserade token gör att koden kan ändras slumpmässigt efter en viss tid. Till tryck på Y, vi kommer att se följande.

Vi ser a QR -kod som vi kan skanna med vår telefon eller skriv ner den hemliga nyckeln precis nedan. På samma sätt kan vi se verifieringskoden (6 siffror) som ändras var 30: e sekund.

FÖRSTORA

NoteraDet är viktigt att låt oss spara alla koder distribueras på en säker plats.

Steg 3
I frågan som vi ser i slutet av raden indikerar det att nycklarna kommer att skrivas och filen kommer att uppdateras. google-autentiseringOm vi ​​anger bokstaven n stängs programmet och applikationen fungerar inte.
Vi skriver in bokstaven Ykommer följande att visas:

FÖRSTORA

Steg 4
Denna fråga avser om vi accepterar vi undviker ett misslyckande upprepning som gör att varje kod går ut efter att den har använts, förhindrar detta alternativ att utomstående fångar dessa koder för obehörig åtkomst. Genom att trycka på så ser vi följande:

FÖRSTORA

Steg 5
Om vi ​​svarar om vi tillåter denna fråga med upp till åtta giltiga koder med ett fönster på fyra minuter, om vi svarar har vi inte bara tre giltiga koder med ett fönster på en och en halv minut. Där väljer vi mest lämpliga alternativet vara det säkraste. Vi kommer att se följande igen.

Denna fråga hänvisar till försöker begränsas i vilken en angripare kan komma åt innan den blockeras, är max tre försök. Klicka på Y, så har vi konfigurerat google-authenticator i CentOS 7.

FÖRSTORA

3. Så här konfigurerar du OpenSSH på CentOS 7


Vid denna tidpunkt kommer vi att skapa en andra SSH -anslutning för att utföra testerna eftersom om vi blockerar den enda SSH -åtkomsten kommer vi att ha svårt att konfigurera parametrarna.

Steg 1
För att redigera dessa värden kommer vi åt sshd -filen med den föredragna redigeraren, vi anger följande:

 sudo nano /etc/pam.d/sshd

FÖRSTORA

Steg 2
I slutet av filen kommer vi att lägga till följande rad:

 auth krävs pam_google_authenticator.so nullok

FÖRSTORA

Steg 3
Vi behåller filen med tangentkombinationen:

Ctrl + O

Y vi gick ut av samma med kombinationen:

Ctrl + X

Steg 3
Termen nullok berättar för PAM att denna autentiseringsfaktor är valfri så att användare utan OATH-TOTP får åtkomst med sin SSH-nyckel. Nu vi kommer att konfigurera sshd För att tillåta denna typ av autentisering, för detta kommer vi att ange följande rad:

 sudo nano / etc / ssh / sshd_config

FÖRSTORA

Steg 4

  • där vi kommer att hitta följande rad:
 ChallengeResponseAuthentication
  • Vi kommer att kommentera linjen:
 ChallengeResponseAuthentication ja
  • Vi kommer att kommentera raden:
 ChallengeResponseAutentisering nr

FÖRSTORA

Steg 4
Vi sparar ändringarna med Ctrl + ELLER. och vi startar om tjänsten med följande rad:

 sudo systemctl starta om sshd.service
Steg 5
Vi kan bekräfta anslutning från en annan terminal:

4. Hur man gör det möjligt för SSH att hantera MFA i CentOS 7

Steg 1
För detta kommer vi åt filen sshd.config igen och i den sista delen av filen kommer vi att lägga till följande rad:

 AuthenticationMethods publickey, lösenord publickey, tangentbord-interaktivt 

FÖRSTORA

Steg 2
Vi sparar ändringarna med Ctrl + ELLER och sedan kommer vi åt PAM sshd -filen med följande rad:

 sudo nano /etc/pam.d/sshd
Steg 3

Där kommer vi att hitta linjen auth substack lösenord-auth och vi kommer att kommentera det (#) så att PAM inte kräver lösenordet för åtkomst av SSH:

FÖRSTORA

Steg 4
Vi behåller förändringarna. Vi startar om tjänsten med kommandot:

 sudo systemctl starta om sshd.service

5. Hur man lägger till en tredje autentiseringsfaktor i CentOS 7

Steg 1
Vi kunde se att följande autentiseringsfaktorer har lagts till:

 publickey (SSH-nyckel) lösenord publickey (lösenord) tangentbord-interaktivt (verifieringskod)
Steg 2
Om vi ​​försöker ansluta ser vi bara SSH -nyckeln och verifieringskoden aktiv, för att aktivera lösenordet är det tillräckligt för att komma åt rutten igen sudo nano /etc/pam.d/sshd och där kommentera linjen
 auth substack lösenord-auth.
Steg 3
Vi sparar ändringarna och vi kommer att starta om tjänsten med sudo
 systemctl startar om sshd.service 
Som vi ser, ju fler säkerhetsnivåer vi hanterar i CentOS 7, desto större chans har vi att ha ett stabilt och pålitligt system för alla användare. För att fortsätta lära dig om säkerhet på ditt system, se hur du kan konfigurera, aktivera eller inaktivera brandvägg i CentOS 7.

CentOS7 brandvägg

wave wave wave wave wave