Erstellung von Passwortrichtlinien in Linux

Und wieder hallo! Bereits morgen beginnen die Unterrichtsstunden in der neuen Gruppe des Kurses „Linux-Administrator“, aus diesem Grund veröffentlichen wir einen nĂŒtzlichen Artikel zu diesem Thema.

Erstellung von Passwortrichtlinien in Linux

Im vorherigen Tutorial haben wir erklĂ€rt, wie man pam_cracklib, um Passwörter in den Systemen zu komplizieren Red Hat 6 oder CentOS. In Red Hat 7 pam_pwquality hat cracklib als pam als Standardmodul zur ÜberprĂŒfung von Passwörtern ersetzt. Das Modul pam_pwquality wird auch in Ubuntu und CentOS sowie in vielen anderen Betriebssystemen unterstĂŒtzt. Dieses Modul vereinfacht die Erstellung von Passwortrichtlinien, um sicherzustellen, dass die Benutzer Ihre Anforderungen an die PasswortkomplexitĂ€t akzeptieren.

Lange Zeit war der gĂ€ngige Ansatz fĂŒr Passwörter, den Benutzer zu zwingen, darin Groß- und Kleinbuchstaben, Zahlen oder andere Zeichen zu verwenden. Diese grundlegenden Regeln zur PasswortkomplexitĂ€t wurden in den letzten zehn Jahren aktiv propagiert. Es gab viele Diskussionen darĂŒber, ob dies eine gute Praxis ist oder nicht. Das Hauptargument gegen das Setzen solcher komplexen Bedingungen war, dass Benutzer Passwörter auf Papier notieren und sie unsicher aufbewahren.

Eine andere Politik, die kĂŒrzlich in Frage gestellt wurde, zwingt die Benutzer, ihre Passwörter alle x Tage zu Ă€ndern. Es wurden einige Studien durchgefĂŒhrt, die zeigten, dass dies ebenfalls die Sicherheit schĂ€digt.

Über das Thema dieser Diskussionen wurden zahlreiche Artikel geschrieben, die das eine oder andere Standpunkt rechtfertigten. Aber das ist nicht das, was wir in diesem Artikel besprechen werden. Dieser Artikel wird darĂŒber sprechen, wie man die PasswortkomplexitĂ€t korrekt festlegt, anstatt die Sicherheitsrichtlinien zu verwalten.

Parameter der Passwortrichtlinien

Unten sehen Sie die Parameter der Passwortrichtlinien und eine kurze Beschreibung jedes einzelnen. Viele von ihnen Ă€hneln den Parametern im Modul cracklib. Dieser Ansatz erleichtert das Übertragen Ihrer Richtlinien aus dem alten System.

  • difok – Anzahl der Zeichen in Ihrem neuen Passwort, die NICHT in Ihrem alten Passwort vorhanden sein dĂŒrfen. (Standard 5)
  • minlen – Minimale LĂ€nge des Passworts. (Standard 9)
  • ucredit – Maximale Anzahl an Punkten fĂŒr die Verwendung von Großbuchstaben (wenn der Parameter > 0), oder die minimal erforderliche Anzahl an Großbuchstaben (wenn der Parameter < 0). StandardmĂ€ĂŸig 1.
  • lcredit – Maximale Anzahl der Credits fĂŒr die Verwendung von Kleinbuchstaben (wenn der Parameter > 0 ist) oder die minimale erforderliche Anzahl von Kleinbuchstaben (wenn der Parameter < 0 ist). StandardmĂ€ĂŸig 1.
  • dcredit – Maximale Anzahl der Credits fĂŒr die Verwendung von Ziffern (wenn der Parameter > 0 ist) oder die minimale erforderliche Anzahl von Ziffern (wenn der Parameter < 0 ist). StandardmĂ€ĂŸig 1.
  • ocredit – Maximale Anzahl der Credits fĂŒr die Verwendung anderer Zeichen (wenn der Parameter > 0 ist) oder die minimale erforderliche Anzahl anderer Zeichen (wenn der Parameter < 0 ist). StandardmĂ€ĂŸig 1.
  • minclass – Legt die erforderliche Anzahl von Klassen fest. Die Klassen umfassen die oben genannten Parameter (Großbuchstaben, Kleinbuchstaben, Ziffern und andere Zeichen). StandardmĂ€ĂŸig 0.
  • maxrepeat – Maximale Anzahl von Wiederholungen eines Zeichens im Passwort. StandardmĂ€ĂŸig 0.
  • maxclassrepeat – Maximale Anzahl von aufeinanderfolgenden Zeichen in einer Klasse. StandardmĂ€ĂŸig 0.
  • gecoscheck – ÜberprĂŒft, ob das Passwort Wörter aus den GECOS-Zeilen des Benutzers enthĂ€lt. (Benutzerinformationen, d.h. richtiger Name, Standort usw.) StandardmĂ€ĂŸig 0 (deaktiviert).
  • dictpath – Pfad zu den cracklib-WörterbĂŒchern.
  • badwords – Durch Leerzeichen getrennte Wörter, die in Passwörtern verboten sind (z.B. Firmenname, das Wort „passwort“ usw.).

Wenn der Begriff Credits seltsam klingt, ist das in Ordnung, es ist normal. Wir werden in den folgenden Abschnitten nÀher darauf eingehen.

Konfiguration der Passwortpolitik

Bevor Sie mit dem Bearbeiten der Konfigurationsdateien beginnen, ist es eine gute Praxis, die grundlegende Passwortpolitik im Voraus festzuhalten. Zum Beispiel werden wir die folgenden Schwierigkeitsregeln verwenden:

  • Das Passwort muss eine MindestlĂ€nge von 15 Zeichen haben.
  • Im Passwort darf dasselbe Zeichen nicht mehr als zweimal wiederholt werden.
  • In Passwörtern dĂŒrfen Zeichengruppen bis zu viermal wiederholt werden.
  • Das Passwort muss Zeichen aus jeder Gruppe enthalten.
  • Das neue Passwort muss 5 neue Zeichen im Vergleich zum alten enthalten.
  • GECOS-ÜberprĂŒfung aktivieren.
  • Wörter wie „password, pass, word, putorius“ verbieten.

Jetzt, wo wir die Politik dargelegt haben, können wir die Datei bearbeiten, /etc/security/pwquality.conf, um die Anforderungen an die PasswortkomplexitĂ€t zu verstĂ€rken. Hier ist ein Beispiel fĂŒr eine Datei mit Kommentaren fĂŒr ein besseres VerstĂ€ndnis.

# 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

Wie Sie vielleicht bemerkt haben, sind einige Parameter in unserer Datei ĂŒberflĂŒssig. Zum Beispiel der Parameter minclass ist ĂŒberflĂŒssig, da wir bereits mindestens zwei Zeichen aus der Klasse verwenden, indem wir die Felder nutzen [u,l,d,o]credit. Unsere Liste der Wörter, die nicht verwendet werden dĂŒrfen, ist ebenfalls ĂŒberflĂŒssig, da wir eine Wiederholung einer Klasse viermal verboten haben (alle Wörter in unserer Liste sind in Kleinbuchstaben geschrieben). Ich habe diese Parameter nur hinzugefĂŒgt, um zu demonstrieren, wie man sie zur Anpassung der Passwortpolitik verwendet.
Sobald Sie Ihre Richtlinie erstellt haben, können Sie die Benutzer zwingen, ihre Passwörter bei ihrem nÀchsten Anmelden zu Àndern System.

Eine weitere seltsame Sache, die Sie möglicherweise bemerkt haben, ist, dass die Felder [u,l,d,o]credit eine negative Zahl enthalten. Das liegt daran, dass Zahlen, die grĂ¶ĂŸer oder gleich 0 sind, einen Kredit fĂŒr die Verwendung eines Zeichens in Ihrem Passwort geben. Wenn das Feld eine negative Zahl enthĂ€lt, bedeutet dies, dass eine bestimmte Anzahl erforderlich ist.

Was sind Kredite (credit)?

Ich nenne sie Kredite, da dies ihren Zweck am besten beschreibt. Wenn der Wert des Parameters grĂ¶ĂŸer als 0 ist, erhöhen Sie die Anzahl der „Kredite pro Zeichen“ um „x“ zur LĂ€nge des Passworts. Zum Beispiel, wenn alle Parameter (u,l,d,o)credit auf 1 gesetzt werden und die erforderliche PasswortlĂ€nge 6 betrĂ€gt, benötigen Sie 6 Zeichen, um die LĂ€ngenanforderung zu erfĂŒllen, da jedes Großbuchstaben-, Kleinbuchstaben-, Zahlen- oder Sonderzeichen Ihnen einen Kredit gibt.

Wenn Sie auf dcredit 2 setzen, können Sie theoretisch ein Passwort mit einer LĂ€nge von 9 Zeichen verwenden und 2 Kredite fĂŒr Zahlen erhalten, und dann könnte die PasswortlĂ€nge bereits 10 betragen.

Sehen Sie sich dieses Beispiel an. Ich habe die PasswortlÀnge auf 13 gesetzt, dcredit auf 2 gesetzt und alles andere auf 0.

$ pwscore
Thisistwelve
PasswortqualitĂ€tsprĂŒfung fehlgeschlagen:
Das Passwort ist kĂŒrzer als 13 Zeichen

$ pwscore
Th1sistwelve
18

Mein erster Test ist fehlgeschlagen, da die PasswortlĂ€nge weniger als 13 Zeichen betrug. Bei meinem nĂ€chsten Versuch habe ich den Buchstaben „I“ durch die Zahl „1“ ersetzt und zwei Kredite fĂŒr Zahlen erhalten, was das Passwort auf 13 brachte.

Passworttest

Paket libpwquality stellt die in diesem Artikel beschriebene FunktionalitĂ€t bereit. Es wird auch das Programm pwscore, das dazu dient, die PasswortkomplexitĂ€t zu ĂŒberprĂŒfen, mitgeliefert. Wir haben es oben verwendet, um die Kredite zu ĂŒberprĂŒfen.
Das Tool pwscore liest aus stdin. FĂŒhren Sie einfach das Dienstprogramm aus und geben Sie Ihr Passwort ein, es gibt entweder einen Fehler oder einen Wert von 0 bis 100 zurĂŒck.

Der PasswortqualitĂ€tswert steht im VerhĂ€ltnis zum Parameter minlen in der Konfigurationsdatei. Insgesamt wird ein Wert unter 50 als „normales Passwort“ betrachtet, wĂ€hrend alles darĂŒber als „starkes Passwort“ gilt. Jedes Passwort, das die QualitĂ€tsprĂŒfungen besteht (insbesondere die obligatorische ÜberprĂŒfung cracklib) muss gegen Wörterbuchangriffe bestehen, und ein Passwort mit einem Wert ĂŒber 50 bei der Einstellung minlen standardmĂ€ĂŸig sogar Brute-Force- Angriffen standhalten.

Fazit

Einstellungen pwquality – ist einfach und unkompliziert im Vergleich zu den Unannehmlichkeiten der direkten Bearbeitung von Dateien. cracklib . In diesem Handbuch haben wir alles betrachtet, was Sie fĂŒr die Einrichtung von Passwortrichtlinien in Red Hat 7, CentOS 7 und sogar Ubuntu-Systemen benötigen. Auch haben wir das Konzept von Krediten behandelt, ĂŒber das selten ausfĂŒhrlich geschrieben wird, weshalb dieses Thema oft unklar blieb fĂŒr diejenigen, die zuvor nicht damit konfrontiert wurden. pampwquality man page

Quellen:

pam_pwquality man page
pwscore man page
Sichere Passwörter wĂ€hlen – Bruce Schneier

NĂŒtzliche Links:

Lorrie Faith Cranor spricht ĂŒber ihre Passwortstudien an der CMU
Der berĂŒchtigte xkcd Cartoon ĂŒber Entropie
đŸ„‡Erstellung von Passwortrichtlinien in Linux | ProHoster

Quelle: habr.com

60GB SSD 8Gb DDR4