Hallo zusammen! Bereits morgen beginnen die Kurse in der neuen Gruppe. , aus diesem Grund veröffentlichen wir einen hilfreichen Artikel zu diesem Thema.

Im vorherigen Tutorial haben wir erklärt, wie man pam_cracklib, um Passwörter in Systemen zu komplexer zu gestalten. oder CentOS. In Red Hat 7 pam_pwquality hat cracklib als pam als Standardmodul zur Passwortüberprüfung ersetzt. Das Modul pam_pwquality wird auch in Ubuntu und CentOS sowie in vielen anderen Betriebssystemen unterstützt. Dieses Modul erleichtert die Erstellung von Passwort-Richtlinien, um sicherzustellen, dass die Benutzer Ihre Komplexitätsstandards akzeptieren.
Lange Zeit war es gängig, dass Passwörter sowohl Groß- als auch Kleinbuchstaben, Zahlen oder andere Zeichen enthalten müssen. Diese grundlegenden Regeln für Passwortkomplexität werden seit zehn Jahren aktiv propagiert. Es gab zahlreiche Diskussionen, ob dies eine gute Praxis ist oder nicht. Das Hauptargument gegen die Einführung solch strenger Bedingungen war, dass Benutzer Passwörter auf Zetteln notieren und sie unsicher aufbewahren.
Eine weitere Politik, die kürzlich in Frage gestellt wurde, zwingt Benutzer dazu, ihre Passwörter alle x Tage zu ändern. Einige Studien haben gezeigt, dass dies die Sicherheit ebenfalls beeinträchtigt.
Über diese Diskussionen wurden zahlreiche Artikel verfasst, die die jeweilige Sichtweise untermauern. Doch darum soll es in diesem Artikel nicht gehen. Dieser Artikel wird erläutern, wie man die Passwortkomplexität korrekt festlegt, anstatt sich mit der Sicherheitsrichtlinie zu befassen.
Passwortrichtlinienoptionen
Nachfolgend finden Sie die Optionen der Passwortrichtlinien sowie eine kurze Beschreibung jeder einzelnen. Viele davon ähneln den Parametern im Modul cracklib. Dieser Ansatz erleichtert die Übertragung Ihrer Richtlinien aus dem alten System.
- difok – Anzahl der Zeichen in Ihrem neuen Passwort, die NICHT in Ihrem alten Passwort vorhanden sein dürfen. (Standardmäßig 5)
- minlen – Minimale Passwortlänge. (Standardmäßig 9)
- ucredit – Maximale Anzahl der Credits für die Verwendung von Großbuchstaben (wenn der Parameter > 0) oder die minimal erforderliche Anzahl von Großbuchstaben (wenn der Parameter < 0). Standardmäßig 1.
- lcredit — Maximale Anzahl der Credits für die Verwendung von Kleinbuchstaben (wenn der Parameter > 0) oder die minimale erforderliche Anzahl von Kleinbuchstaben (wenn der Parameter < 0). Standardmäßig 1.
- dcredit — Maximale Anzahl der Credits für die Verwendung von Ziffern (wenn der Parameter > 0) oder die minimale erforderliche Anzahl von Ziffern (wenn der Parameter < 0). Standardmäßig 1.
- ocredit — Maximale Anzahl der Credits für die Verwendung anderer Zeichen (wenn der Parameter > 0) oder die minimale erforderliche Anzahl von anderen Zeichen (wenn der Parameter < 0). Standardmäßig 1.
- minclass – Legt die erforderliche Anzahl der Klassen fest. Klassen umfassen die oben genannten Parameter (Großbuchstaben, Kleinbuchstaben, Ziffern und andere Zeichen). Standardmäßig 0.
- maxrepeat – Maximale Anzahl der Wiederholungen eines Zeichens im Passwort. Standardmäßig 0.
- maxclassrepeat — Maximale Anzahl aufeinanderfolgender Zeichen in einer Klasse. Standardmäßig 0.
- gecoscheck – Überprüft, ob das Passwort Wörter aus den GECOS-Zeilen des Benutzers enthält. (Benutzerinformationen wie der vollständige 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. Unternehmensname, das Wort „Passwort“ usw.).
Wenn Ihnen der Begriff Kredite komisch vorkommt, ist das in Ordnung, das ist normal. Wir werden in den nächsten Abschnitten näher darauf eingehen.
Konfiguration der Passwortpolitik
Bevor Sie mit der Bearbeitung von Konfigurationsdateien beginnen, ist es eine gute Praxis, die grundlegende Passwortpolitik im Voraus festzuhalten. Zum Beispiel verwenden wir die folgenden Komplexitätsregeln:
- Das Passwort muss eine Mindestlänge von 15 Zeichen haben.
- Im Passwort darf dasselbe Zeichen nicht mehr als zweimal hintereinander auftreten.
- In einem Passwort dürfen Zeichenklassen bis zu viermal wiederholt werden.
- Das Passwort muss Zeichen aus jeder Klasse enthalten.
- Das neue Passwort muss fünf neue Zeichen im Vergleich zum alten Passwort aufweisen.
- GECOS-Überprüfung aktivieren.
- Die Wörter „password, pass, word, putorius“ verbieten.
Jetzt, da wir die Richtlinien festgelegt haben, können wir die Datei bearbeiten /etc/security/pwquality.conf, um die Anforderungen an die Passwortkomplexität zu verschärfen. Im Folgenden finden Sie ein Beispiel der 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 putoriusWie Sie möglicherweise 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 Felder nutzen. [u,l,d,o]credit. Unsere Liste der nicht verwendbaren Wörter ist ebenfalls überflüssig, da wir die Wiederholung einer beliebigen Klasse viermal untersagt haben (alle Wörter auf unserer Liste sind in Kleinbuchstaben verfasst). Ich habe diese Parameter nur eingefügt, um zu demonstrieren, wie Sie sie zur Anpassung der Passwortrichtlinie verwenden können.
Sobald Sie Ihre Richtlinie erstellt haben, können Sie Benutzer zwingen, ihre Passwörter beim nächsten Anmelden zu ändern. .
Eine andere seltsame Sache, die Ihnen möglicherweise aufgefallen ist, ist, dass die Felder [u,l,d,o]credit eine negative Zahl enthalten. Das liegt daran, dass Zahlen größer oder gleich 0 Ihnen Kredit für die Verwendung eines Zeichens in Ihrem Passwort geben. Wenn das Feld eine negative Zahl enthält, bedeutet dies, dass eine bestimmte Menge erforderlich ist.
Was sind Kredite (credit)?
Ich nenne sie Kredite, da dies ihre Funktion am genauesten beschreibt. Wenn der Wert des Parameters größer als 0 ist, erhöhen Sie die Anzahl der 'Zeichenkredite' um 'x' zur Passwortlänge. Zum Beispiel, wenn alle Parameter (u,l,d,o)credit Wenn Sie die Länge auf 1 setzen und eine erforderliche Passwortlänge von 6 haben, benötigen Sie 6 Zeichen, um die Länge zu erfüllen, da jedes Zeichen in Großbuchstaben, Kleinbuchstaben, Ziffern oder Sonderzeichen Ihnen einen Kredit einbringt.
Wenn Sie die Länge auf dcredit 2 setzen, könnten Sie theoretisch ein Passwort mit einer Länge von 9 Zeichen verwenden und 2 Kredite für Ziffern erhalten, sodass die Passwortlänge bereits 10 betragen kann.
Sehen Sie sich dieses Beispiel an. Ich habe die Passwortlänge auf 13 gesetzt, dcredit auf 2 und den Rest auf 0.
$ pwscore
Thisistwelve
Passwortqualitätsprüfung fehlgeschlagen:
Das Passwort ist kürzer als 13 Zeichen
$ pwscore
Th1sistwelve
18Meine erste Prüfung ist fehlgeschlagen, da das Passwort kürzer als 13 Zeichen war. Beim nächsten Mal habe ich den Buchstaben 'I' durch die Ziffer '1' ersetzt und dafür zwei Kredite für Ziffern erhalten, wodurch das Passwort auf 13 erhöht wurde.
Passworttest
Das Paket libpwquality stellt die in dem Artikel beschriebenen Funktionen bereit. Außerdem wird das Programm pwscore, das zur Überprüfung der Passwortkomplexität dient, mitgeliefert. Wir haben es oben verwendet, um die Kredite zu überprüfen.
Dienstprogramm pwscore liest von . Starten Sie einfach das Dienstprogramm und geben Sie Ihr Passwort ein; es gibt Ihnen einen Fehler oder einen Wert von 0 bis 100 aus.
Der Passwortqualität zeigt sich im Parameter minlen in der Konfigurationsdatei. Generell 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 erzwungene Prüfung cracklib) muss gegen Wörterbuchangriffe bestehen, und ein Passwort mit einem Wert über 50 und der Einstellung minlen im Standard sogar Brute-Force- Angriffe.
Fazit
Konfiguration pwquality ist im Vergleich zu den Unannehmlichkeiten bei der direkten Dateiänderung einfach und unkompliziert. cracklib In diesem Leitfaden haben wir alles behandelt, was Sie zur Einrichtung von Passwort-Richtlinien in Red Hat 7, CentOS 7 und sogar Ubuntu-Systemen benötigen. Außerdem haben wir das Konzept der Credits angesprochen, über die selten ausführlich geschrieben wird, weshalb dieses Thema oft unverständlich bleibt für diejenigen, die noch nie damit in Berührung gekommen sind. pampwquality man-Seite
Quellen:
Nützliche Links:
Quelle: habr.com
