Een wachtwoordbeleid maken in Linux

Welkom terug! Morgen starten de lessen in de nieuwe cursusgroep "Linux-beheerder"In dit verband publiceren we een nuttig artikel over dit onderwerp.

Een wachtwoordbeleid maken in Linux

In de vorige tutorial hebben we je verteld hoe je het moet gebruiken pam_cracklibom wachtwoorden op systemen complexer te maken Rode Hoed 6 of CentOS. In Rode Hoed 7 pam_pwquality vervangen cracklib als pam standaardmodule voor het controleren van wachtwoorden. Module pam_pwquality wordt ook ondersteund op Ubuntu en CentOS, evenals op vele andere besturingssystemen. Met deze module kunt u eenvoudig wachtwoordbeleid maken om ervoor te zorgen dat gebruikers uw standaarden voor wachtwoordsterkte accepteren.

Lange tijd was de gebruikelijke benadering van wachtwoorden het dwingen van de gebruiker om hoofdletters, kleine letters, cijfers of andere symbolen te gebruiken. Deze basisregels voor de complexiteit van wachtwoorden zijn de afgelopen tien jaar op grote schaal gepromoot. Er is veel discussie geweest over de vraag of dit een goede praktijk is of niet. Het belangrijkste argument tegen het stellen van dergelijke complexe voorwaarden was dat gebruikers wachtwoorden op stukjes papier schrijven en deze onveilig opslaan.

Een ander beleid dat onlangs in twijfel is getrokken, dwingt gebruikers om hun wachtwoord elke x dagen te wijzigen. Er zijn onderzoeken die aantonen dat dit ook schadelijk is voor de veiligheid.

Er zijn veel artikelen geschreven over het onderwerp van deze discussies, die het ene of het andere standpunt onderbouwen. Maar dit is niet wat we in dit artikel zullen bespreken. In dit artikel wordt besproken hoe u de wachtwoordcomplexiteit correct kunt instellen in plaats van het beveiligingsbeleid te beheren.

Instellingen voor wachtwoordbeleid

Hieronder ziet u de opties voor wachtwoordbeleid en een korte beschrijving van elke optie. Veel ervan zijn vergelijkbaar met de parameters in de module cracklib. Deze aanpak maakt het eenvoudiger om uw beleid vanuit het oude systeem over te zetten.

  • mijn excuses – Het aantal tekens in uw nieuwe wachtwoord dat NIET in uw oude wachtwoord mag voorkomen. (Standaard 5)
  • minlen – Minimale wachtwoordlengte. (Standaard 9)
  • utegoed – Het maximale aantal credits voor het gebruik van hoofdletters (als parameter > 0), of het minimaal vereiste aantal hoofdletters (als parameter < 0). Standaard is 1.
  • ik tegoed β€” Het maximale aantal credits voor het gebruik van kleine letters (als parameter > 0), of het minimaal vereiste aantal kleine letters (als parameter < 0). Standaard is 1.
  • krediet β€” Het maximale aantal credits voor het gebruik van cijfers (als parameter > 0), of het minimaal vereiste aantal cijfers (als parameter < 0). Standaard is 1.
  • hij gelooft β€” Het maximale aantal credits voor het gebruik van andere symbolen (als parameter > 0), of het minimaal vereiste aantal andere symbolen (als parameter < 0). Standaard is 1.
  • minklasse – Stelt het aantal vereiste klassen in. Klassen omvatten de bovenstaande parameters (hoofdletters, kleine letters, cijfers, andere tekens). Standaard is 0.
  • maximaal herhalen – Het maximale aantal keren dat een teken in een wachtwoord kan worden herhaald. Standaard is 0.
  • maxklasse herhalen β€” Het maximale aantal opeenvolgende tekens in één klasse. Standaard is 0.
  • gecocheck – Controleert of het wachtwoord woorden bevat uit de GECOS-reeksen van de gebruiker. (Gebruikersinformatie, d.w.z. echte naam, locatie, etc.) Standaard is 0 (uit).
  • dictaat – Laten we naar cracklib-woordenboeken gaan.
  • BADWORDS – Door spaties gescheiden woorden die verboden zijn in wachtwoorden (bedrijfsnaam, het woord β€œwachtwoord”, enz.).

Als het concept van leningen vreemd klinkt, is dat okΓ©, het is normaal. We zullen hier meer over praten in de volgende paragrafen.

Configuratie van wachtwoordbeleid

Voordat u configuratiebestanden gaat bewerken, is het een goede gewoonte om vooraf een basiswachtwoordbeleid op te schrijven. We gebruiken bijvoorbeeld de volgende moeilijkheidsregels:

  • Het wachtwoord moet minimaal 15 tekens lang zijn.
  • Hetzelfde teken mag niet vaker dan tweemaal in het wachtwoord worden herhaald.
  • Karakterklassen kunnen maximaal vier keer worden herhaald in een wachtwoord.
  • Het wachtwoord moet tekens uit elke klasse bevatten.
  • Het nieuwe wachtwoord moet 5 nieuwe tekens bevatten in vergelijking met het oude.
  • Schakel GECOS-controle in.
  • Verbied de woorden β€œwachtwoord, pas, woord, putorius”

Nu we het beleid hebben vastgelegd, kunnen we het bestand bewerken /etc/security/pwquality.confom de vereisten voor wachtwoordcomplexiteit te verhogen. Hieronder vindt u een voorbeeldbestand met opmerkingen voor een beter begrip.

# 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

Zoals u wellicht heeft gemerkt, zijn sommige parameters in ons bestand overbodig. Bijvoorbeeld de parameter minclass is overbodig omdat we al minstens twee tekens uit de klasse gebruiken die velden gebruiken [u,l,d,o]credit. Onze lijst met woorden die niet kunnen worden gebruikt is ook overbodig, omdat we hebben verboden om een ​​klasse vier keer te herhalen (alle woorden in onze lijst zijn in kleine letters geschreven). Ik heb deze opties alleen toegevoegd om te demonstreren hoe u ze kunt gebruiken om uw wachtwoordbeleid te configureren.
Nadat u uw beleid heeft gemaakt, kunt u gebruikers dwingen hun wachtwoord te wijzigen de volgende keer dat ze inloggen. systeem.

Een ander vreemd ding dat je misschien is opgevallen, zijn de velden [u,l,d,o]credit een negatief getal bevatten. Dit komt omdat getallen groter dan of gelijk aan 0 krediet geven voor het gebruik van het teken in uw wachtwoord. Als het veld een negatief getal bevat, betekent dit dat een bepaald aantal vereist is.

Wat zijn leningen?

Ik noem ze leningen omdat dat hun doel zo nauwkeurig mogelijk weergeeft. Als de parameterwaarde groter is dan 0, voegt u een aantal "tekencredits" gelijk aan "x" toe aan de wachtwoordlengte. Als bijvoorbeeld alle parameters (u,l,d,o)credit ingesteld op 1 en de vereiste wachtwoordlengte was 6, dan heeft u 6 tekens nodig om aan de lengtevereiste te voldoen, omdat elke hoofdletter, kleine letter, cijfer of ander teken u één credit oplevert.

Als u installeert dcredit bij 2 zou je theoretisch een wachtwoord kunnen gebruiken dat 9 tekens lang is en 2 tekencredits krijgen voor cijfers, en dan zou de wachtwoordlengte al 10 kunnen zijn.

Kijk naar dit voorbeeld. Ik heb de wachtwoordlengte ingesteld op 13, dcredit op 2 en al het andere op 0.

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

$ pwscore
 Th1sistwelve
 18

Mijn eerste controle mislukte omdat het wachtwoord minder dan 13 tekens lang was. De volgende keer veranderde ik de letter β€œI” in het cijfer β€œ1” en kreeg ik twee credits voor de cijfers, waardoor het wachtwoord gelijk werd aan 13.

Wachtwoord testen

Verpakking libpwquality biedt de functionaliteit die in het artikel wordt beschreven. Er zit ook een programma bij pwscore, dat is ontworpen om de complexiteit van wachtwoorden te controleren. We hebben het hierboven gebruikt om leningen te controleren.
Nut pwscore leest van stdin. Voer gewoon het hulpprogramma uit en schrijf uw wachtwoord op. Er wordt een fout of een waarde van 0 tot 100 weergegeven.

De wachtwoordkwaliteitsscore is gerelateerd aan de parameter minlen in het configuratiebestand. Over het algemeen wordt een score van minder dan 50 beschouwd als een β€˜normaal wachtwoord’, en een score daarboven als een β€˜sterk wachtwoord’. Elk wachtwoord dat de kwaliteitscontroles doorstaat (vooral geforceerde verificatie). cracklib) moet bestand zijn tegen woordenboekaanvallen en een wachtwoord met een score boven de 50 bij de instelling minlen zelfs standaard brute force aanvallen.

Conclusie

afstelling pwquality – het is gemakkelijk en eenvoudig vergeleken met het ongemak van het gebruik cracklib met directe bestandsbewerking pam. In deze handleiding hebben we alles besproken wat u nodig heeft bij het instellen van wachtwoordbeleid op Red Hat 7-, CentOS 7- en zelfs Ubuntu-systemen. We spraken ook over het concept van leningen, waarover zelden in detail wordt geschreven, waardoor dit onderwerp vaak onduidelijk bleef voor degenen die er nog niet eerder mee te maken hadden gehad.

Bronnen:

pwquality manpagina
pam_pwquality manpagina
pwscore manpagina

Nuttige links:

Veilige wachtwoorden kiezen – Bruce Schneier
Lorrie Faith Cranor bespreekt haar wachtwoordstudies bij CMU
De beruchte xkcd-cartoon over Entropy

Bron: www.habr.com

Voeg een reactie