Hur man konfigurerar en stark lösenordspolicy i Debian

Att ställa in ett bra åtkomstlösenord på våra datorer och servrar är viktigt. Idag fortsätter vi att gå in i våra datorer vid många tillfällen med ett användarnamn och lösenord, även om det redan finns möjlighet att konfigurera tvåstegsautentisering för att lägga till ytterligare ett lager av säkerhet till autentisering. Att konfigurera ett starkt lösenord på våra datorer är grundläggande, men det är möjligt att många användare inte följer riktlinjerna för ett säkert lösenord, av denna anledning är det mycket viktigt att konfigurera en bra lösenordspolicy för att tvinga alla användare att följa det. Idag i den här artikeln kommer vi att visa dig hur du konfigurerar det i någon Linux operativsystem kommer vi att använda Debian men i system som ubuntu processen är densamma.

Vad är syftet med att konfigurera en lösenordspolicy?

konfigurera en stark lösenordspolicy i Debian

När vi installerade operativsystemet bad installationsguiden oss att ange ett användarnamn och även ett åtkomstlösenord för att autentisera oss i operativsystemet. Om vi ​​har bestämt oss för att skapa ett root-lösenord så har vi behövt ange två olika lösenord (även om de kan vara samma, men för säkerhets skull rekommenderas att de är olika). Men i installationsguiden har vi inte någon form av lösenordspolicy förkonfigurerad, så vi kan sätta ett lösenord så enkelt som "nyckel" eller "123456" bland andra lösenord som inte är säkra. Rotanvändare och de som tillhör gruppen Administratörer bör ha starka lösenord, såväl som normala användare utan privilegier, för att skydda operativsystemets säkerhet.

Om vi ​​vill tvinga alla PC- eller serveranvändare att använda starka lösenord är det absolut nödvändigt för systemadministratören att skapa en robust lösenordspolicy, för att förhindra användare från att använda lösenord som är så lätta att knäcka eller gissa. Vi skulle också kunna tvinga olika användare att skapa ett nytt lösenord som överensstämmer med de nya nyckelkraven för operativsystemet, dessutom kan vi också tvinga alla användare eller bara några, att deras lösenord löper ut då och då och måste ange ett nytt lösenord om du inte vill lämnas utan åtkomst till operativsystemet.

För att ha en bra lösenordspolicy är det mycket viktigt att ta hänsyn till:

  • Skapa starka lösenord som inte finns i ordböcker och som har en viss komplexitet.
  • Tvinga användare att ändra sina lösenord för att följa den nya policyn för åtkomstlösenord.
  • Konfigurera lösenordsutgång för att tvinga användare att ändra sina lösenord då och då.

Därefter ska vi se hur man konfigurerar en bra lösenordspolicy på vår server eller PC med Debian eller Ubuntu.

Konfigurera en policy för starkt lösenord

Det första vi måste ta hänsyn till för att konfigurera en robust lösenordspolicy är att vara administratörer, vi måste ha root-privilegier för att kunna göra alla ändringar, eftersom de påverkar alla användare av operativsystemet. När vi har administratörsbehörigheter kan vi börja utföra de olika stegen för att korrekt konfigurera lösenordspolicyn.

Installera verktyget libpam_cracklib

Det första vi ska göra är att installera libpam_cracklib-biblioteket, det här biblioteket ansvarar för att verifiera att lösenordet du ska ange inte är en del av en ordbok, det vill säga att det inte är ett enkelt ord. Det kommer också att kontrollera att lösenordet inte är detsamma som ett annat som du har använt tidigare, det vill säga att det inte låter oss återanvända lösenorden som vi redan har använt tidigare. Det kommer inte heller att tillåta oss att återanvända lösenord som bara har ändrat ett tecken, låt oss föreställa oss att det nya lösenordet är “Pepe123.”, Eftersom det nya lösenordet inte kan vara “Pepe123-” eftersom vi bara har ändrat ett tecken. Andra egenskaper hos det här biblioteket är att det kontrollerar om det nya lösenordet är för kort, om det inte är särskilt komplicerat, och till och med låter oss veta om det inte har ett enda tecken inmatat flera gånger i följd, med syftet att göra lösenordet mer komplex.

Vi måste komma ihåg att det är mycket viktigt att sätta ett starkt lösenord, eftersom det är den första försvarslinjen i säkerheten för vårt operativsystem. För att installera det här biblioteket måste vi helt enkelt köra följande kommando:

sudo apt install libpam-cracklib

Om du använder "sudo" i ditt operativsystem måste du sätta detta kommando före installationskommandot, annars behöver du inte använda det om du är i rotläge. Innan vi fortsätter måste vi indikera att installationen av det här biblioteket är mycket viktigt, för tack vare det kommer vi att kunna konfigurera lösenordspolicyn som vi vill.

Redigera konfigurationsfilen

När vi väl har installerat biblioteket är det nu vi ska redigera filen som finns i /etc/pam.d/common-password. Men innan du redigerar den direkt rekommenderar vi att du gör en säkerhetskopia av den här konfigurationsfilen, ifall vi lägger in någon felaktig konfiguration, för att enkelt och snabbt kunna återgå till fabriksinställningarna.

För att göra en säkerhetskopia av denna fil, kör bara följande kommando och ange sökvägen som vi vill ha:

sudo cp /etc/pam.d/common-password /root/

När vi är klara öppnar vi filen med superanvändarbehörigheter för att kunna redigera den, vi kan använda vi, vim, nano eller annan textfilredigerare per konsol, vi kommer att använda nano. Du kan också använda en grafisk textredigerare, men alltid med root-behörigheter eftersom den annars inte låter dig redigera den.

sudo nano /etc/pam.d/common-password

Nu kommer vi att se den fullständiga konfigurationsfilen för operativsystemet:

När vi väl är inne i redigeraren måste vi hitta en rad som liknar följande:

password requisite pam_cracklib.so retry=3 minlen=8 difok=3

På följande bild kan du se var den visas:

Det är här vi måste redigera det, och vi kommer att ha följande alternativ för att konfigurera det som vi vill.

  • försök igen: antal försök innan systemet returnerar ett autentiseringsfel och utvisar oss.
  • minlen: är den minsta längden på lösenordet, som standard är det 8 tecken.
  • difok: antal olika tecken som den nya nyckeln måste ha jämfört med den gamla.
  • ucredit: versaler som måste vara minst eller maximalt.
  • lcredit: gemener som måste vara minst eller maximalt.
  • dcredit: antalet siffror den måste ha som ett minimum eller maximum.
  • ocredit: det minsta eller högsta antalet andra tecken (symboler) som nyckeln måste ha.

Alternativen ucredit, lcredit, dcredit och occredit kan ha negativa eller positiva tal, för att definiera om vi vill att det ska ha ett minimum eller ett maximiintervall, till exempel:

  • lcredit = -2: betyder att den måste ha minst 2 gemener.
  • lcredit = + 2: betyder att den måste ha maximalt 2 gemener.

Och det är samma sak med resten av alternativen lcredit, dcredit och ocredit.

Konfigurera nyckelpolicyn som ska tillämpas

När vi väl känner till alla konfigurationsalternativ som vi har till vårt förfogande, kommer vi att välja nyckelpolicyn att konfigurera. Ett exempel på en nyckelpolicy kan vara följande:

password requisite pam_cracklib.so retry=3 minlen=12 difok=3 ucredit=-3 lcredit=-3 dcredit=-3 ocredit=-3

Med den tidigare policyn kommer vi att ha:

  • Minsta lösenordslängd 12 tecken.
  • Om vi ​​ändrar lösenordet måste det finnas minst tre skillnader.
  • 3 versaler, 3 gemener, minst 3 siffror och 3 symboler

Vi har inte satt något tecken som ett maximum, men vi skulle också kunna införliva det, för att begränsa antalet tecken av samma typ som är tillåtet, men med denna nyckelpolicy anser vi att nyckeln är tillräckligt komplex för att undvika problem.

Kontrollera den nya nyckelpolicyn

När vi har konfigurerat det kommer vi att ändra lösenordet för vår egen användare så att det passar perfekt med den nya lösenordspolicyn som vi har konfigurerat. För att ändra lösenordet måste vi utföra följande ordning:

sudo passwd

Vi kommer att ha en assistent där vi måste ange det nya lösenordet, så att det passar perfekt med den tidigare policyn. Beroende på lösenordet som vi anger kan vi se ett annat fel, till exempel kan det tala om för oss att nyckeln är för enkel, det är ett ordboksord, det är för kort, etc. När det nya lösenordet vi har angett följer policyn, kommer det att tillåta oss att ändra den utan problem.

Tvinga andra användare att ändra sitt lösenord

Debian ger oss möjligheten att tvinga fram lösenordsändringen för nästa användarinloggning, på detta sätt kommer de inte att kunna undvika den nya lösenordspolicyn som de måste följa. För att tvinga användare att ange ett nytt åtkomstlösenord måste administratörsanvändaren utföra följande kommando:

passwd -e USUARIO

Argumentet "-e" tvingar fram ett förfallodatum för användarens lösenord, och vid nästa inloggning måste du ange ett nytt lösenord som överensstämmer med de nya lösenordskraven för operativsystemet.

Konfigurera lösenordsutgång för användare

Om vi ​​vill konfigurera utgången av lösenord för användare kan vi också använda kommandot passwd för att utföra denna konfiguration för var och en av systemanvändarna, eller individuellt. För att definiera ett lösenord som löper ut och tvinga användare att ändra det innan termen går ut, måste vi utföra följande kommando:

passwd -w 5 -x 30 USUARIO

Argumentet "-x" innebär att användare måste ändra sitt lösenord högst var 30:e dag. Argumentet "-w" betyder att det varnar oss från 5 dagar innan lösenordet går ut, att ändra det, på detta sätt påminner vi användaren om att han måste ändra åtkomstlösenordet.

Det skulle också rekommenderas starkt att konfigurera inaktiviteten för kontot, om användaren inte ändrar lösenordet efter utgången av nyckeln, att det sätts som inaktivt och det är systemadministratören som måste aktivera det igen. Låt oss föreställa oss att vi vill markera ett konto som inaktivt om en dag har gått sedan nyckelns utgång, i det här fallet skulle konfigurationen vara:

passwd -w 5 -x 30 -i 1 USUARIO

Passwd-kommandot låter oss lägga olika argument i samma ordning, vi rekommenderar att du läser man-sidorna för detta verktyg där du hittar alla tillgängliga konfigurationsalternativ.

Som du har sett är det väldigt enkelt att konfigurera en bra lösenordspolicy på vår server med Debian eller Ubuntu, vi måste helt enkelt installera biblioteket och göra några justeringar, dessutom skulle det starkt rekommenderas att tvinga nuvarande användare (om de finns) ) för att skapa ett nytt åtkomstlösenord.