Og igen, hej! Allerede i morgen starter undervisningen i den nye gruppe på kurset , derfor offentliggør vi en nyttig artikel om emnet.

I den forrige tutorial fortalte vi, hvordan man bruger pam_cracklib, for at komplicere adgangskoder i systemer eller CentOS. I Red Hat 7 pam_pwquality erstatte cracklib som pam som standardmodul til kontrol af adgangskoder. Modulet pam_pwquality understøttes også i Ubuntu og CentOS samt i mange andre operativsystemer. Dette modul gør det lettere at oprette adgangskodepolitikker, så brugerne overholder dine komplekse adgangskrav.
Længe har den normale tilgang til adgangskoder været at tvinge brugeren til at inkludere store og små bogstaver, tal eller andre tegn. Disse grundlæggende krav til adgangskodens kompleksitet er blevet aktivt fremmet i det sidste årti. Der har været mange diskussioner om, hvorvidt det er en god praksis eller ej. Det primære argument imod at indføre sådanne strenge betingelser var, at brugere skriver deres adgangskoder ned på papir og opbevarer dem usikkert.
En anden politik, der for nylig er blevet sat under spørgsmål, tvang brugerne til at ændre deres adgangskoder hver x dag. Der er blevet udført nogle undersøgelser, der viser, at dette også skader sikkerheden.
Der er skrevet mange artikler om disse diskussioner, der understøtter den ene eller den anden holdning. Men det er ikke, hvad vi skal diskutere i denne artikel. Denne artikel vil fortælle, hvordan man korrekt angiver kompleksiteten af en adgangskode og ikke håndterer sikkerhedspolitik.
Indstillinger for adgangskodepolitikker
Nedenfor vil du se indstillingerne for adgangskodepolitikker og en kort beskrivelse af hver enkelt. Mange af dem ligner indstillingerne i modulet cracklib. Denne tilgang gør det lettere at portere dine politikker fra det gamle system.
- difok – Antallet af tegn i din nye adgangskode, der IKKE må være til stede i din gamle adgangskode. (Som standard 5)
- minlen – Den minimale længde af adgangskoden. (Som standard 9)
- ucredit – Maksimalt antal kreditter for brug af store bogstaver (hvis parameteren > 0), eller minimumskravet for antallet af store bogstaver (hvis parameteren < 0). Som standard 1.
- lcredit – Det maksimale antal kreditter for brug af små bogstaver (hvis parameteren > 0), eller det minimale krævede antal små bogstaver (hvis parameteren < 0). Som standard 1.
- dcredit – Det maksimale antal kreditter for brug af cifre (hvis parameteren > 0), eller det minimale krævede antal cifre (hvis parameteren < 0). Som standard 1.
- ocredit – Det maksimale antal kreditter for brug af andre tegn (hvis parameteren > 0), eller det minimale krævede antal andre tegn (hvis parameteren < 0). Som standard 1.
- minclass – Angiver det krævede antal klasser. Klasserne inkluderer de førnævnte parametre (store bogstaver, små bogstaver, cifre, andre tegn). Som standard 0.
- maxrepeat – Det maksimale antal gentagelser af et tegn i passwordet. Som standard 0.
- maxclassrepeat – Det maksimale antal sammenhængende tegn i en klasse. Som standard 0.
- gecoscheck – Tjekker om passwordet indeholder ord fra GECOS-strengene for brugeren. (Brugerinformation, dvs. rigtige navn, placering mv.) Som standard 0 (slukket).
- dictpath – Sti til cracklib-ordbøger.
- badwords – Ord adskilt af mellemrum, der er forbudt i passwords (f.eks. firmanavn, ordet 'password' mv.).
Hvis begrebet kreditter lyder underligt, er der ikke noget at bekymre sig om, det er helt normalt. Vi vil uddybe det i de følgende sektioner.
Konfiguration af passwordpolitikken
Før man begynder at redigere konfigurationsfiler, er det en god praksis at notere den grundlæggende passwordpolitik på forhånd. For eksempel vil vi bruge følgende kompleksitetsregler:
- Passwordet skal have en minimumslængde på 15 tegn.
- Det samme tegn må ikke gentages mere end to gange i passwordet.
- Klasserne af tegn kan gentages op til fire gange i passwordet.
- Passwordet skal indeholde tegn fra hver klasse.
- Det nye password skal have 5 nye tegn i forhold til det gamle.
- Aktivér GECOS-kontrollen.
- Forbud mod ord som 'password', 'pass', 'word', 'putorius'
Nu hvor vi har skitseret politikken, kan vi redigere filen /etc/security/pwquality.conf, for at styrke kravene til passwordkompleksitet. Nedenfor er et eksempel på en fil med kommentarer til 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 putoriusSom du 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 ved at bruge felterne [u,l,d,o]credit. Vores liste over ord, der ikke må bruges, er også overflødig, da vi har forbudt at gentage en hvilken som helst klasse 4 gange (alle ord på vores liste er skrevet med små bogstaver). Jeg inkluderede disse parametre kun for at demonstrere, hvordan man bruger dem til at tilpasse politikken for adgangskoder.
Når du har oprettet din politik, kan du tvinge brugerne til at ændre deres adgangskoder ved næste login til .
En anden mærkelig ting, som du måske har bemærket, er, at felterne [u,l,d,o]credit indeholder et negativt tal. Dette skyldes, at tal større end eller lig med 0 vil give kredit for brug af et tegn i din adgangskode. Hvis feltet indeholder et negativt tal, betyder det, at der kræves et bestemt antal.
Hvad er kreditter (credit)?
Jeg kalder dem kreditter, fordi det præcist beskriver deres formål. Hvis værdien af parameteren er større end 0, tilføjer du antallet af "kreditter pr. tegn" lig med "x" til længden af adgangskoden. For eksempel, hvis alle parametre (u,l,d,o)credit er indstillet til 1, og den krævede adgangskodelængde var 6, så skal du bruge 6 tegn for at opfylde længdekravet, fordi hvert tegn med stort bogstav, lille bogstav, nummer eller andet tegn giver dig en kredit.
Hvis du indstiller dcredit til 2, kan du teoretisk set bruge en adgangskode af længde 9 og få 2 kreditter pr. tegn for cifre, og så kan længden på adgangskoden være 10.
Se på dette eksempel. Jeg indstillede adgangskodelængden til 13, indstillede dcredit til 2, og alt andet til 0.
$ pwscore
Thisistwelve
Adgangskvalitetstjek fejlede:
Adgangskoden er kortere end 13 tegn
$ pwscore
Th1sistwelve
18Mit første tjek mislykkedes, da længden på adgangskoden var mindre end 13 tegn. Næste gang ændrede jeg bogstavet “I” til cifret “1” og fik to kreditter for cifre, hvilket gjorde adgangskoden lig med 13.
Adgangskode testning
Pakken libpwquality giver funktionaliteten, der er beskrevet i artiklen. Der følger også et program med pwscore, som er designet til at kontrollere adgangskodens kompleksitet. Vi brugte det ovenfor til at kontrollere kreditter.
Utility pwscore læser fra . Bare kør værktøjet og skriv din adgangskode, det vil give en fejl eller en værdi fra 0 til 100.
Kvalitetsindikatoren for adgangskoder relaterer til parameteren minlen i konfigurationsfilen. Generelt betragtes en score under 50 som "normal adgangskode", mens en score over 50 klassificeres som "stærk adgangskode". Enhver adgangskode, der består sikre tests (især den tvungne kvalitetstest, cracklib) skal modstå ordbogsangreb, og en adgangskode med en score over 50 med standardindstillingerne minlen endda modstår brute force angreb.
Konklusion
Indstillinger pwquality – er let og enkelt sammenlignet med besværet ved at bruge cracklib direkte filredigering. pamI denne vejledning har vi gennemgået alt, hvad du har brug for til at konfigurere adgangskodepolitikker i Red Hat 7, CentOS 7 og endda Ubuntu-systemer. Vi har også talt om konceptet af kreditter, som sjældent bliver beskrevet i detaljer, så dette emne forblev ofte uklart for dem, der ikke tidligere har beskæftiget sig med det.
Kilder:
Nyttige links:
Kilde: habr.com
