Sådan tvinges brugere til at ændre deres adgangskoder på Linux

Adgangskoder er hjørnestenen til kontosikkerhed. Vi viser dig, hvordan du nulstiller adgangskoder, indstiller udløbsperioder for adgangskoder og gennemtvinger ændringer af adgangskode på dit Linux-netværk.

Adgangskoden har eksisteret i næsten 60 år

Vi har bevist over for computere, at vi er dem, vi siger, vi er siden midten af ​​1960’erne, hvor adgangskoden først blev introduceret. Nødvendigheden er opfindelsens moder, den Kompatibelt tidsdelingssystem udviklet på Massachusetts Tekniske Institut havde brug for en måde at identificere forskellige personer i systemet. Det skulle også forhindre folk i at se hinandens filer.

Fernando J. Corbató foreslået en ordning, der tildelte et unikt brugernavn til hver person. For at bevise, at nogen var den, de sagde, de var, skulle de bruge en privat, personlig adgangskode for at få adgang til deres konto.

Problemet med adgangskoder er, at de fungerer som en nøgle. Alle, der har en nøgle, kan bruge den. Hvis nogen finder, gætter eller finder ud af din adgangskode, kan denne person få adgang til din konto. Så længe multi-faktor autentificering er universelt tilgængelig, er adgangskoden det eneste, der holder uautoriserede personer tilbage (trusselsaktøreri cybersikkerhedssprog) ud af dit system.

Fjernforbindelser lavet af en Secure Shell (SSH) kan konfigureres til at bruge SSH-nøgler i stedet for adgangskoder, og det er fantastisk. Det er dog kun én forbindelsesmetode, og den dækker ikke lokale logins.

Det er klart, at forvaltningen af ​​adgangskoder er afgørende, ligesom forvaltningen af ​​de mennesker, der bruger disse adgangskoder.

Anatomien af ​​et kodeord

Hvad gør en adgangskode god? Nå, en god adgangskode bør have alle følgende egenskaber:

Det er umuligt at gætte eller finde ud af.
Du har ikke brugt det andre steder.
Det har ikke været involveret i en databrud.

Det Er jeg blevet pwned (HIBP) hjemmeside indeholder over 10 milliarder sæt misbrugte legitimationsoplysninger. Med så høje tal er der stor sandsynlighed for, at en anden har brugt det samme kodeord som dig. Det betyder, at din adgangskode muligvis er i databasen, selvom det ikke var din konto, der blev brudt.

Hvis din adgangskode er på HIBP-webstedet, betyder det, at den er på listerne over trusselsaktører for adgangskoder’ brute-force og ordbogsangreb værktøjer, der bruges, når de forsøger at knække en konto.

En virkelig tilfældig adgangskode (som [email protected]%*[email protected]#b~aP) er praktisk talt usårbar, men du vil selvfølgelig aldrig huske det. Vi anbefaler stærkt, at du bruger en adgangskodeadministrator til onlinekonti. De genererer komplekse, tilfældige adgangskoder til alle dine onlinekonti, og du behøver ikke at huske dem – adgangskodeadministratoren leverer den korrekte adgangskode til dig.

For lokale konti skal hver person generere sin egen adgangskode. De skal også vide, hvad der er en acceptabel adgangskode, og hvad der ikke er. De bliver nødt til at få besked på ikke at genbruge adgangskoder på andre konti og så videre.

  Sådan bruges Virt-Manager på Linux

Disse oplysninger er normalt i en organisations adgangskodepolitik. Den instruerer folk i at bruge et minimum antal tegn, blande store og små bogstaver, inkludere symboler og tegnsætning og så videre.

Dog ifølge en helt ny papr fra et hold kl Carnegie Mellon University, alle disse tricks tilføjer lidt eller intet til robustheden af ​​en adgangskode. Forskere fandt ud af, at de to nøglefaktorer for robust adgangskode er, at de er mindst 12 tegn lange og tilstrækkeligt stærke. De målte adgangskodestyrken ved hjælp af en række software-cracker-programmer, statistiske teknikker og neurale netværk.

Et minimum på 12 tegn kan lyde skræmmende i starten. Tænk dog ikke i en adgangskode, men snarere en adgangssætning på tre eller fire ikke-relaterede ord adskilt af tegnsætning.

For eksempel Ekspert adgangskodekontrol sagde, at det ville tage 42 minutter at knække “chicago99”, men 400 milliarder år at knække “chimney.purple.bag.” Den er også nem at huske og skrive, og den indeholder kun 18 tegn.

Gennemgang af aktuelle indstillinger

Før du går i gang med at ændre noget, der har med en persons adgangskode at gøre, er det klogt at se på deres nuværende indstillinger. Med passwd-kommandoen kan du gennemgå deres nuværende indstillinger med dens -S (status) mulighed. Bemærk, at du også skal bruge sudo med passwd, hvis du arbejder med en andens adgangskodeindstillinger.

Vi skriver følgende:

sudo passwd -S mary

En enkelt linje med information udskrives til terminalvinduet, som vist nedenfor.

Du ser følgende oplysninger (fra venstre mod højre) i det korte svar:

Personens loginnavn.
En af følgende tre mulige indikatorer vises her:
P: Angiver, at kontoen har en gyldig, fungerende adgangskode.
L: Betyder, at kontoen er blevet låst af ejeren af ​​root-kontoen.
NP: Der er ikke angivet en adgangskode.

Den dato, hvor adgangskoden sidst blev ændret.
Minimumsalder for adgangskode: Den minimumsperiode (i dage), der skal gå mellem nulstilling af adgangskode udført af ejeren af ​​kontoen. Ejeren af ​​root-kontoen kan dog altid ændre enhvers adgangskode. Hvis denne værdi er 0 (nul), er der ingen begrænsning på hyppigheden af ​​adgangskodeændringer.
Maksimal adgangskodealder: Ejeren af ​​kontoen bliver bedt om at ændre sin adgangskode, når den når denne alder. Denne værdi er angivet i dage, så en værdi på 99.999 betyder, at adgangskoden aldrig udløber.
Advarselsperiode for ændring af adgangskode: Hvis en maksimal adgangskodealder håndhæves, vil kontoejeren modtage påmindelser om at ændre hans eller hendes adgangskode. Den første af disse vil blive sendt det antal dage, der er vist her, før nulstillingsdatoen.
Inaktivitetsperiode for adgangskoden: Hvis nogen ikke får adgang til systemet i en periode, der overlapper fristen for nulstilling af adgangskode, vil denne persons adgangskode ikke blive ændret. Denne værdi angiver, hvor mange dage henstandsperioden følger efter en adgangskodeudløbsdato. Hvis kontoen forbliver inaktiv dette antal dage efter en adgangskode udløber, er kontoen låst. En værdi på -1 deaktiverer henstandsperioden.

Indstilling af en maksimal adgangskodealder

For at indstille en periode for nulstilling af adgangskode kan du bruge indstillingen -x (maksimalt antal dage) med et antal dage. Du efterlader ikke et mellemrum mellem -x og cifrene, så du skriver det som følger:

sudo passwd -x45 mary

Vi har fået at vide, at udløbsværdien er blevet ændret, som vist nedenfor.

  Sådan bruger du komfortabelt en Linux-pc om natten med skrivebordsdæmper

Brug indstillingen -S (status) til at kontrollere, at værdien nu er 45:

sudo passwd -S mary

Nu om 45 dage skal der sættes en ny adgangskode til denne konto. Påmindelser vil begynde syv dage før det. Hvis en ny adgangskode ikke er angivet i tide, vil denne konto blive låst med det samme.

Gennemtvinge en øjeblikkelig adgangskodeændring

Du kan også bruge en kommando, så andre på dit netværk bliver nødt til at ændre deres adgangskoder, næste gang de logger på. For at gøre dette, skal du bruge -e (udløber) muligheden, som følger:

sudo passwd -e mary

Vi får derefter at vide, at adgangskodens udløbsoplysninger er ændret.

Lad os tjekke med -S-indstillingen og se, hvad der er sket:

sudo passwd -S mary

Datoen for den sidste adgangskodeændring er sat til den første dag i 1970. Næste gang denne person forsøger at logge ind, skal han eller hun ændre sin adgangskode. De skal også angive deres nuværende adgangskode, før de kan indtaste en ny.

Skal du gennemtvinge adgangskodeændringer?

Det plejede at være sund fornuft at tvinge folk til at ændre deres adgangskoder regelmæssigt. Det var et af de rutinemæssige sikkerhedstrin for de fleste installationer og betragtes som en god forretningspraksis.

Tankegangen er nu den modsatte. I Storbritannien er Nationalt Cybersikkerhedscenter anbefaler kraftigt mod at håndhæve regelmæssig adgangskodefornyelseog National Institute of Standards and Technology i USA er enig. Begge organisationer anbefaler kun at håndhæve en adgangskodeændring, hvis du ved eller har mistanke om, at en eksisterende er det kendt af andre.

At tvinge folk til at ændre deres adgangskoder bliver monotont og tilskynder til svage adgangskoder. Folk begynder normalt at genbruge en basisadgangskode med en dato eller et andet nummer mærket på den. Eller de vil skrive dem ned, fordi de skal ændre dem så ofte, at de ikke kan huske dem.

De to organisationer, vi nævnte ovenfor, anbefaler følgende retningslinjer for adgangskodesikkerhed:

Brug en adgangskodeadministrator: Til både online og lokale konti.
Slå to-faktor-godkendelse til: Hvor end dette er en mulighed, brug det.
Brug en stærk adgangssætning: Et glimrende alternativ til de konti, der ikke fungerer med en adgangskodeadministrator. Tre eller flere ord adskilt af tegnsætning eller symboler er en god skabelon at følge.
Genbrug aldrig en adgangskode: Undgå at bruge den samme adgangskode, som du bruger til en anden konto, og brug absolut ikke en, der er angivet på Er jeg blevet pwned.

Tipsene ovenfor giver dig mulighed for at etablere en sikker måde at få adgang til dine konti. Når du har disse retningslinjer på plads, skal du holde dig til dem. Hvorfor ændre din adgangskode, hvis den er stærk og sikker? Hvis det falder i de forkerte hænder – eller du har mistanke om, at det har det – kan du ændre det.

Nogle gange er denne beslutning dog ude af dine hænder. Hvis beføjelserne til at håndhæve adgangskode ændres, har du ikke meget valg. Du kan argumentere for din sag og tilkendegive din holdning, men medmindre du er chefen, skal du følge virksomhedens politik.

  Sådan skriver du bash-scripts for at automatisere Linux

Chage Kommandoen

Du kan bruge chage-kommandoen for at ændre indstillingerne vedrørende ældning af adgangskode. Denne kommando får sit navn fra “ændre aldring.” Det er ligesom kommandoen passwd med elementerne til oprettelse af adgangskode fjernet.

Indstillingen -l (liste) viser den samme information som kommandoen passwd -S, men på en mere venlig måde.

Vi skriver følgende:

sudo chage -l eric

En anden fin detalje er, at du kan indstille en kontoudløbsdato ved hjælp af -E (udløbsdato). Vi sender en dato (i år-måned-dato-formatet) for at angive en udløbsdato til den 30. november 2020. På den dato bliver kontoen låst.

Vi skriver følgende:

sudo chage eric -E 2020-11-30

Dernæst skriver vi følgende for at sikre, at denne ændring er blevet udført:

sudo chage -l eric

Vi ser, at kontoudløbsdatoen er ændret fra “aldrig” til 30. november 2020.

For at indstille en adgangskodeudløbsperiode kan du bruge indstillingen -M (maksimum dage) sammen med det maksimale antal dage, en adgangskode kan bruges, før den skal ændres.

Vi skriver følgende:

sudo chage -M 45 mary

Vi skriver følgende ved hjælp af -l (liste) mulighed for at se effekten af ​​vores kommando:

sudo chage -l mary

Adgangskodens udløbsdato er nu indstillet til 45 dage fra den dato, vi har angivet den, hvilket, som vi er vist, vil være den 8. december 2020.

Foretag adgangskodeændringer for alle på et netværk

Når konti oprettes, bruges et sæt standardværdier til adgangskoder. Du kan definere, hvad standarderne er for minimum, maksimum og advarselsdage. Disse opbevares derefter i en fil kaldet “/etc/login.defs.”

Du kan skrive følgende for at åbne denne fil i gedit:

sudo gedit /etc/login.defs

Rul til kontrolelementerne for ældning af adgangskode.

Du kan redigere disse, så de passer til dine krav, gemme dine ændringer og derefter lukke editoren. Næste gang du opretter en brugerkonto, vil disse standardværdier blive anvendt.

Hvis du vil ændre alle udløbsdatoer for adgangskode for eksisterende brugerkonti, kan du nemt gøre det med et script. Bare skriv følgende for at åbne gedit-editoren og oprette en fil kaldet “password-date.sh”:

sudo gedit password-date.sh

Kopier derefter følgende tekst til din editor, gem filen, og luk derefter gedit:

#!/bin/bash

reset_days=28

for username in $(ls /home)
do
  sudo chage $username -M $reset_days
  echo $username password expiry changed to $reset_days
done

Dette vil ændre det maksimale antal dage for hver brugerkonto til 28 og dermed frekvensen for nulstilling af adgangskode. Du kan justere værdien af ​​reset_days-variablen, så den passer.

Først skriver vi følgende for at gøre vores script eksekverbart:

chmod +x password-date.sh

Nu kan vi skrive følgende for at køre vores script:

sudo ./password-date.sh

Hver konto behandles derefter, som vist nedenfor.

Vi indtaster følgende for at kontrollere kontoen for “mary”:

sudo change -l mary

Den maksimale dages værdi er blevet sat til 28, og vi får at vide, at den falder den 21. november 2020. Du kan også nemt ændre scriptet og tilføje flere chage- eller passwd-kommandoer.

Adgangskodehåndtering er noget, der skal tages alvorligt. Nu har du de værktøjer, du skal bruge til at tage kontrol.