Erstellen einer Passwortrichtlinie in Linux

Hallo wieder! Der Unterricht in der neuen Kursgruppe beginnt morgen "Administrator Linux»In diesem Zusammenhang veröffentlichen wir einen nĂŒtzlichen Artikel zu diesem Thema.

Erstellen einer Passwortrichtlinie in Linux

Im vorherigen Tutorial haben wir Ihnen die Verwendung erklĂ€rt pam_cracklibum Passwörter auf Systemen komplexer zu machen Red Hat 6 oder CentOSIn Red Hat 7 pam_pwquality ersetzt cracklib als pam Standardmodul zur ÜberprĂŒfung von Passwörtern. Modul pam_pwquality wurde auch unterstĂŒtzt in Ubuntu Đž CentOSDieses Modul ist mit vielen anderen Betriebssystemen kompatibel. Es vereinfacht die Erstellung von Passwortrichtlinien und stellt sicher, dass Benutzer Ihre Standards fĂŒr die PasswortkomplexitĂ€t einhalten.

Lange Zeit bestand die gĂ€ngige Vorgehensweise bei Passwörtern darin, den Benutzer zur Verwendung von Groß- und Kleinbuchstaben, Zahlen oder anderen Symbolen zu zwingen. Diese Grundregeln fĂŒr die KomplexitĂ€t von Passwörtern wurden in den letzten zehn Jahren umfassend propagiert. Es gab viele Diskussionen darĂŒber, ob dies eine gute Praxis ist oder nicht. Das Hauptargument gegen die Festlegung solch komplexer Bedingungen war, dass Benutzer Passwörter auf Zettel schreiben und diese unsicher aufbewahren.

Eine andere Richtlinie, die kĂŒrzlich in Frage gestellt wurde, zwingt Benutzer dazu, ihre Passwörter alle x Tage zu Ă€ndern. Es gibt einige Studien, die gezeigt haben, dass dies auch schĂ€dlich fĂŒr die Sicherheit ist.

Zum Thema dieser Diskussionen wurden viele Artikel geschrieben, die den einen oder anderen Standpunkt untermauern. Aber das ist nicht das, worĂŒber wir in diesem Artikel sprechen werden. In diesem Artikel geht es darum, wie man die PasswortkomplexitĂ€t richtig einstellt und nicht wie man die Sicherheitsrichtlinie verwaltet.

Passwortrichtlinieneinstellungen

Unten sehen Sie die Passwortrichtlinienoptionen und jeweils eine kurze Beschreibung. Viele davon Àhneln den Parametern im Modul cracklib. Dieser Ansatz erleichtert die Portierung Ihrer Richtlinien aus dem Altsystem.

  • Es tut mir Leid – Die Anzahl der Zeichen in Ihrem neuen Passwort, die in Ihrem alten Passwort NICHT vorhanden sein sollten. (Standard 5)
  • Minlen – MindestlĂ€nge des Passworts. (Standard 9)
  • ukredit – Die maximale Anzahl an Credits fĂŒr die Verwendung von Großbuchstaben (wenn Parameter > 0) oder die minimal erforderliche Anzahl von Großbuchstaben (wenn Parameter < 0). Der Standardwert ist 1.
  • Kredit — Die maximale Anzahl an Credits fĂŒr die Verwendung von Kleinbuchstaben (wenn Parameter > 0) oder die minimal erforderliche Anzahl von Kleinbuchstaben (wenn Parameter < 0). Der Standardwert ist 1.
  • Anerkennung — Die maximale Anzahl an Credits fĂŒr die Verwendung von Ziffern (wenn Parameter > 0) oder die minimal erforderliche Anzahl von Ziffern (wenn Parameter < 0). Der Standardwert ist 1.
  • er glaubt — Die maximale Anzahl an Credits fĂŒr die Verwendung anderer Symbole (wenn Parameter > 0) oder die minimal erforderliche Anzahl anderer Symbole (wenn Parameter < 0). Der Standardwert ist 1.
  • Minklasse – Legt die Anzahl der erforderlichen Klassen fest. Klassen umfassen die oben genannten Parameter (Großbuchstaben, Kleinbuchstaben, Zahlen, andere Zeichen). Der Standardwert ist 0.
  • maxrepeat – Die maximale HĂ€ufigkeit, mit der ein Zeichen in einem Passwort wiederholt werden darf. Der Standardwert ist 0.
  • maxclassrepeat — Die maximale Anzahl aufeinanderfolgender Zeichen in einer Klasse. Der Standardwert ist 0.
  • gecoscheck – PrĂŒft, ob das Passwort Wörter aus den GECOS-Strings des Benutzers enthĂ€lt. (Benutzerinformationen, d. h. echter Name, Standort usw.) Der Standardwert ist 0 (aus).
  • Diktierpfad – Gehen wir zu den Cracklib-WörterbĂŒchern.
  • BADWORDS – Durch Leerzeichen getrennte Wörter, die in Passwörtern verboten sind (Firmenname, das Wort „Passwort“ usw.).

Wenn das Konzept der Kredite seltsam klingt, ist es in Ordnung, es ist normal. Wir werden in den folgenden Abschnitten mehr darĂŒber sprechen.

Konfiguration der Passwortrichtlinie

Bevor Sie mit der Bearbeitung von Konfigurationsdateien beginnen, empfiehlt es sich, im Voraus eine grundlegende Passwortrichtlinie aufzuschreiben. Beispielsweise verwenden wir die folgenden Schwierigkeitsregeln:

  • Das Passwort muss eine MindestlĂ€nge von 15 Zeichen haben.
  • Das gleiche Zeichen sollte im Passwort nicht mehr als zweimal vorkommen.
  • Zeichenklassen können in einem Passwort bis zu viermal wiederholt werden.
  • Das Passwort muss Zeichen aus jeder Klasse enthalten.
  • Das neue Passwort muss im Vergleich zum alten 5 neue Zeichen haben.
  • GECOS-PrĂŒfung aktivieren.
  • Verbieten Sie die Wörter „Passwort, Pass, Wort, Putorius“

Nachdem wir nun die Richtlinie festgelegt haben, können wir die Datei bearbeiten /etc/security/pwquality.confum die Anforderungen an die PasswortkomplexitÀt zu erhöhen. Nachfolgend finden Sie eine Beispieldatei mit Kommentaren zum besseren 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 redundant. Zum Beispiel der Parameter minclass ist ĂŒberflĂŒssig, da wir bereits mindestens zwei Zeichen aus der Klasse verwenden, die Felder verwendet [u,l,d,o]credit. Unsere Liste der Wörter, die nicht verwendet werden dĂŒrfen, ist ebenfalls ĂŒberflĂŒssig, da wir die viermalige Wiederholung einer Klasse verboten haben (alle Wörter in unserer Liste sind in Kleinbuchstaben geschrieben). Ich habe diese Optionen nur eingefĂŒgt, um zu veranschaulichen, wie Sie sie zum Konfigurieren Ihrer Passwortrichtlinie verwenden.
Sobald Sie Ihre Richtlinie erstellt haben, können Sie Benutzer dazu zwingen, ihre Passwörter bei der nÀchsten Anmeldung zu Àndern. System.

Eine weitere seltsame Sache, die Ihnen vielleicht aufgefallen ist, sind die Felder [u,l,d,o]credit eine negative Zahl enthalten. Dies liegt daran, dass Zahlen grĂ¶ĂŸer oder gleich 0 die Verwendung des Zeichens in Ihrem Passwort anerkennen. Wenn das Feld eine negative Zahl enthĂ€lt, bedeutet dies, dass eine bestimmte Menge erforderlich ist.

Was sind Kredite?

Ich nenne sie Kredite, weil das ihren Zweck so genau wie möglich wiedergibt. Wenn der Parameterwert grĂ¶ĂŸer als 0 ist, addieren Sie zur PasswortlĂ€nge eine Anzahl von „Zeichen-Credits“ gleich „x“. Wenn beispielsweise alle Parameter (u,l,d,o)credit auf 1 gesetzt und die erforderliche PasswortlĂ€nge 6 war, dann benötigen Sie 6 Zeichen, um die LĂ€ngenanforderung zu erfĂŒllen, da Sie fĂŒr jeden Großbuchstaben, Kleinbuchstaben, jede Ziffer oder jedes andere Zeichen eine Gutschrift erhalten.

Wenn Sie installieren dcredit Bei 2 könnte man theoretisch ein 9 Zeichen langes Passwort verwenden und 2 Zeichen Credits fĂŒr Zahlen erhalten, dann könnte die PasswortlĂ€nge bereits 10 betragen.

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

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

$ pwscore
 Th1sistwelve
 18

Meine erste PrĂŒfung schlug fehl, weil das Passwort weniger als 13 Zeichen lang war. Das nĂ€chste Mal Ă€nderte ich den Buchstaben „I“ in die Zahl „1“ und erhielt zwei Credits fĂŒr die Zahlen, wodurch das Passwort gleich 13 wurde.

Passworttest

Package libpwquality stellt die im Artikel beschriebene FunktionalitĂ€t bereit. Es kommt auch mit einem Programm pwscore, mit dem die KomplexitĂ€t von Passwörtern ĂŒberprĂŒft werden soll. Wir haben es oben verwendet, um Kredite zu prĂŒfen.
Dienstprogramm pwscore liest aus Standard. FĂŒhren Sie einfach das Dienstprogramm aus und geben Sie Ihr Passwort ein. Es wird ein Fehler oder ein Wert zwischen 0 und 100 angezeigt.

Der Passwort-QualitĂ€tsfaktor hĂ€ngt mit dem Parameter zusammen minlen in der Konfigurationsdatei. Im Allgemeinen gilt ein Wert unter 50 als „normales Passwort“ und ein Wert darĂŒber als „starkes Passwort“. Jedes Passwort, das QualitĂ€tsprĂŒfungen besteht (insbesondere erzwungene Verifizierung). cracklib) muss Wörterbuchangriffen standhalten, und ein Passwort mit einem Wert ĂŒber 50 mit der Einstellung minlen sogar standardmĂ€ĂŸig brute force AnschlĂ€ge.

Fazit

Einstellung pwquality – es ist einfach und unkompliziert im Vergleich zu den Unannehmlichkeiten der Verwendung cracklib mit direkter Dateibearbeitung pamIn diesem Leitfaden haben wir alles behandelt, was Sie zum Einrichten von Passwortrichtlinien in Red Hat 7 wissen mĂŒssen. CentOS 7 und sogar Systeme UbuntuWir haben auch ĂŒber das Konzept der Kredite gesprochen, das selten detailliert erörtert wird, sodass das Thema fĂŒr diejenigen, die damit nicht vertraut sind, oft unklar bleibt.

Quellen:

pwquality-Manpage
pam_pwquality-Manpage
pwscore-Manpage

NĂŒtzliche Links:

Sichere Passwörter wĂ€hlen – Bruce Schneier
Lorrie Faith Cranor spricht ĂŒber ihr Passwortstudium an der CMU
Der berĂŒchtigte xkcd-Cartoon zum Thema Entropie

Source: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz und VPS-VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster