Oprettelse af en adgangskodepolitik i Linux

Hej igen! Undervisningen i den nye kursusgruppe starter i morgen "Linux-administrator", i denne henseende udgiver vi en nyttig artikel om emnet.

Oprettelse af en adgangskodepolitik i Linux

I den forrige tutorial fortalte vi dig, hvordan du bruger pam_cracklibat gøre adgangskoder på systemer mere komplekse Red Hat 6 eller CentOS. I Red Hat 7 pam_pwquality erstattet cracklib som pam standardmodul til kontrol af adgangskoder. modul pam_pwquality også understøttet på Ubuntu og CentOS, samt mange andre operativsystemer. Dette modul gør det nemt at oprette adgangskodepolitikker for at sikre, at brugerne accepterer dine standarder for adgangskodestyrke.

I lang tid var den almindelige tilgang til adgangskoder at tvinge brugeren til at bruge store bogstaver, små bogstaver, tal eller andre symboler. Disse grundlæggende regler for adgangskodekompleksitet er blevet bredt fremmet i løbet af de sidste ti år. Der har været en del diskussion om, hvorvidt dette er god praksis eller ej. Hovedargumentet imod at sætte så komplekse betingelser var, at brugerne skriver adgangskoder ned på stykker papir og opbevarer dem usikkert.

En anden politik, der for nylig er blevet sat i tvivl, tvinger brugerne til at ændre deres adgangskoder hver x dag. Der har været nogle undersøgelser, der har vist, at dette også er skadeligt for sikkerheden.

Der er skrevet mange artikler om emnet for disse diskussioner, som underbygger et eller andet synspunkt. Men det er ikke det, vi vil diskutere i denne artikel. Denne artikel vil tale om, hvordan man korrekt indstiller adgangskodens kompleksitet i stedet for at administrere sikkerhedspolitikken.

Indstillinger for adgangskodepolitik

Nedenfor vil du se mulighederne for adgangskodepolitik og en kort beskrivelse af hver. Mange af dem ligner parametrene i modulet cracklib. Denne tilgang gør det nemmere at overføre dine politikker fra det gamle system.

  • difok – Antallet af tegn i din nye adgangskode, der IKKE bør være til stede i din gamle adgangskode. (Standard 5)
  • minlen – Minimum adgangskodelængde. (Standard 9)
  • ukredit – Det maksimale antal kreditter for brug af store bogstaver (hvis parameter > 0), eller det mindst nødvendige antal store bogstaver (hvis parameter < 0). Standard er 1.
  • lkredit — Det maksimale antal kreditter for brug af små bogstaver (hvis parameter > 0), eller det mindst nødvendige antal små bogstaver (hvis parameter < 0). Standard er 1.
  • dkredit — Det maksimale antal kreditter for brug af cifre (hvis parameter > 0), eller det mindst nødvendige antal cifre (hvis parameter < 0). Standard er 1.
  • okredit — Det maksimale antal kreditter for at bruge andre symboler (hvis parameter > 0), eller det mindst nødvendige antal andre symboler (hvis parameter < 0). Standard er 1.
  • minklasse – Indstiller antallet af krævede klasser. Klasser inkluderer ovenstående parametre (store bogstaver, små bogstaver, tal, andre tegn). Standard er 0.
  • max gentag – Det maksimale antal gange et tegn kan gentages i en adgangskode. Standard er 0.
  • maxclassrepeat — Det maksimale antal på hinanden følgende tegn i én klasse. Standard er 0.
  • gecocheck – Kontrollerer, om adgangskoden indeholder nogle ord fra brugerens GECOS-strenge. (Brugeroplysninger, dvs. rigtige navn, placering osv.) Standard er 0 (fra).
  • diktpath – Lad os gå til cracklib-ordbøger.
  • badwords – Mellemrumsadskilte ord, der er forbudt i adgangskoder (virksomhedsnavn, ordet "adgangskode" osv.).

Hvis begrebet lån lyder mærkeligt, er det okay, det er normalt. Vi vil tale mere om dette i de følgende afsnit.

Konfiguration af adgangskodepolitik

Før du begynder at redigere konfigurationsfiler, er det en god praksis at nedskrive en grundlæggende adgangskodepolitik på forhånd. For eksempel vil vi bruge følgende sværhedsgradsregler:

  • Adgangskoden skal have en minimumlængde på 15 tegn.
  • Det samme tegn bør ikke gentages mere end to gange i adgangskoden.
  • Karakterklasser kan gentages op til fire gange i en adgangskode.
  • Adgangskoden skal indeholde tegn fra hver klasse.
  • Den nye adgangskode skal have 5 nye tegn i forhold til den gamle.
  • Aktiver GECOS-tjek.
  • Forbyd ordene "password, pass, word, putorius"

Nu hvor vi har fastlagt politikken, kan vi redigere filen /etc/security/pwquality.conffor at øge kravene til adgangskodekompleksitet. Nedenfor er en eksempelfil med kommentarer for bedre forståelse.

# Make sure 5 characters in new password are new compared to old password
difok = 5
# Set the minimum length acceptable for new passwords
minlen = 15
# Require at least 2 digits
dcredit = -2
# Require at least 2 upper case letters
ucredit = -2
# Require at least 2 lower case letters
lcredit = -2
# Require at least 2 special characters (non-alphanumeric)
ocredit = -2
# Require a character from every class (upper, lower, digit, other)
minclass = 4
# Only allow each character to be repeated twice, avoid things like LLL
maxrepeat = 2
# Only allow a class to be repeated 4 times
maxclassrepeat = 4
# Check user information (Real name, etc) to ensure it is not used in password
gecoscheck = 1
# Leave default dictionary path
dictpath =
# Forbid the following words in passwords
badwords = password pass word putorius

Som du måske har bemærket, er nogle parametre i vores fil overflødige. For eksempel parameteren minclass er overflødig, da vi allerede bruger mindst to tegn fra klassen, der bruger felter [u,l,d,o]credit. Vores liste over ord, der ikke kan bruges, er også overflødig, da vi har forbudt at gentage nogen klasse 4 gange (alle ord på vores liste er skrevet med små bogstaver). Jeg har kun inkluderet disse muligheder for at demonstrere, hvordan du bruger dem til at konfigurere din adgangskodepolitik.
Når du har oprettet din politik, kan du tvinge brugere til at ændre deres adgangskoder, næste gang de logger på. systemet.

En anden mærkelig ting, du måske har bemærket, er, at markerne [u,l,d,o]credit indeholde et negativt tal. Dette skyldes, at tal større end eller lig med 0 vil give kredit for at bruge tegnet i din adgangskode. Hvis feltet indeholder et negativt tal, betyder det, at der kræves et bestemt antal.

Hvad er lån?

Jeg kalder dem lån, fordi det formidler deres formål så præcist som muligt. Hvis parameterværdien er større end 0, tilføjer du et antal "karakterkreditter" svarende til "x" til adgangskodens længde. For eksempel hvis alle parametre (u,l,d,o)credit indstillet til 1 og den nødvendige adgangskodelængde var 6, så skal du bruge 6 tegn for at opfylde længdekravet, fordi hver store bogstaver, små bogstaver, ciffer eller andre tegn vil give dig én kredit.

Hvis du installerer dcredit ved 2 kan du teoretisk bruge en adgangskode, der er 9 tegn lang og få 2 karakterkreditering for tal, og så kunne adgangskodens længde allerede være 10.

Se på dette eksempel. Jeg satte adgangskodens længde til 13, satte dcredit til 2 og alt andet til 0.

$ pwscore
 Thisistwelve
 Password quality check failed:
  The password is shorter than 13 characters

$ pwscore
 Th1sistwelve
 18

Min første kontrol mislykkedes, fordi adgangskoden var mindre end 13 tegn lang. Næste gang ændrede jeg bogstavet "I" til tallet "1" og fik to kreditter for tallene, hvilket gjorde adgangskoden lig med 13.

Adgangskode test

pakke libpwquality giver den funktionalitet, der er beskrevet i artiklen. Det kommer også med et program pwscore, som er designet til at kontrollere adgangskodens kompleksitet. Vi brugte det ovenfor til at tjekke lån.
Hjælpeprogram pwscore læser fra stdin. Bare kør værktøjet og skriv dit kodeord, det vil vise en fejl eller en værdi fra 0 til 100.

Adgangskodens kvalitetsscore er relateret til parameteren minlen i konfigurationsfilen. Generelt betragtes en score på mindre end 50 som en "normal adgangskode", og en score over den betragtes som en "stærk adgangskode". Enhver adgangskode, der består kvalitetstjek (især tvungen verifikation cracklib) skal modstå ordbogsangreb, og en adgangskode med en score over 50 med indstillingen minlen selv som standard brute force angreb.

Konklusion

justering pwquality – det er nemt og enkelt i forhold til ulejligheden ved brug cracklib med direkte filredigering pam. I denne vejledning har vi dækket alt, hvad du har brug for, når du opsætter adgangskodepolitikker på Red Hat 7, CentOS 7 og endda Ubuntu-systemer. Vi talte også om begrebet lån, som sjældent bliver skrevet i detaljer om, så dette emne forblev ofte uklart for dem, der ikke tidligere havde stødt på det.

Kilder:

pwquality man page
pam_pwquality man-side
pwscore man page

Nyttige links:

Valg af sikre adgangskoder – Bruce Schneier
Lorrie Faith Cranor diskuterer sine adgangskodestudier på CMU
Den berygtede xkcd-tegnefilm om entropi

Kilde: www.habr.com

Tilføj en kommentar