So zwingen Sie Benutzer, ihre Passwörter unter Linux zu ändern

Passwörter in Linux: Verwaltung und Sicherheit

Passwörter sind essentiell für die Sicherheit von Konten. In diesem Artikel zeigen wir Ihnen, wie Sie Passwörter zurücksetzen, Gültigkeitsdauern festlegen und Passwortänderungen in Ihrem Linux-Netzwerk erzwingen können.

Die Geschichte des Passworts: Fast 60 Jahre

Seit der Einführung des Passworts in den 1960er Jahren dienen sie als Nachweis unserer Identität gegenüber Computern. Das Compatible Time-Sharing System am Massachusetts Institute of Technology benötigte damals eine Methode, um Nutzer zu unterscheiden und den Zugriff auf fremde Dateien zu verhindern.

Fernando J. Corbató entwickelte ein System, bei dem jeder Nutzer einen individuellen Benutzernamen und ein privates Passwort erhielt, um sich zu authentifizieren.

Das Problem: Passwörter sind wie Schlüssel – jeder, der sie hat, kann sie nutzen. Wenn ein Passwort entdeckt, erraten oder erlangt wird, kann ein Unbefugter auf das Konto zugreifen. Solange Multi-Faktor-Authentifizierung nicht flächendeckend ist, bleiben Passwörter das Haupthindernis für Bedrohungsakteure.

Obwohl Remote-Verbindungen per Secure Shell (SSH) oft SSH-Schlüssel statt Passwörter nutzen, deckt dies lokale Anmeldungen nicht ab. Eine umfassende Passwortverwaltung ist daher unerlässlich.

Die Beschaffenheit eines sicheren Passworts

Was macht ein Passwort sicher? Ein gutes Passwort sollte:

  • Unmöglich zu erraten oder zu entschlüsseln sein.
  • Nirgendwo anders verwendet werden.
  • Nicht in einem Datenleck kompromittiert worden sein.

Die Webseite Have I Been Pwned (HIBP) verzeichnet über 10 Milliarden geleakte Anmeldedaten. Die Wahrscheinlichkeit, dass Ihr Passwort auch dabei ist, ist also nicht gering. Auch wenn Ihr Konto nicht gehackt wurde, kann Ihr Passwort in einer solchen Datenbank sein.

Ein Passwort, das auf HIBP gelistet ist, ist auch für Brute-Force- und Wörterbuchangriffe anfällig.

Ein zufällig generiertes Passwort ist zwar sehr sicher, aber schwer zu merken. Daher ist die Nutzung eines Passwort-Managers für Online-Konten empfehlenswert. Dieser generiert komplexe Passwörter und speichert sie sicher.

Für lokale Konten muss jeder Nutzer seine eigenen Passwörter erstellen. Eine klare Passwortrichtlinie, die u.a. eine Mindestlänge und die Verwendung von Sonderzeichen vorschreibt, ist unabdingbar.

Eine Studie der Carnegie Mellon Universität hat jedoch gezeigt, dass viele dieser üblichen Tipps kaum die Sicherheit erhöhen. Entscheidend sind eine Passwortlänge von mindestens 12 Zeichen und eine hohe Komplexität, gemessen mit speziellen Software-Tools.

Denken Sie bei der Passwortwahl eher an eine Passphrase aus drei oder vier Wörtern, getrennt durch Satzzeichen. Zum Beispiel: Der Experte Passwort-Checker würde für „chicago99“ 42 Minuten zum Knacken benötigen, aber für „chimney.purple.bag“ 400 Milliarden Jahre. Letztere ist leichter zu merken und zu tippen, obwohl sie 18 Zeichen lang ist.

Aktuelle Einstellungen überprüfen

Bevor Sie Passwortänderungen vornehmen, sollten Sie die aktuellen Einstellungen prüfen. Der Befehl `passwd` mit der Option `-S` (Status) erlaubt es, die aktuellen Passwort-Parameter einzusehen. Bei der Bearbeitung der Passworteinstellungen anderer Benutzer benötigen Sie sudo-Rechte.

Beispielbefehl:

sudo passwd -S mary

Die Ausgabe zeigt eine Zeile mit Informationen, die von links nach rechts folgendes beinhalten:

  • Den Anmeldenamen.
  • Einen von drei möglichen Statusindikatoren:
    • `P`: Das Konto hat ein gültiges Passwort.
    • `L`: Das Konto wurde vom Root-Benutzer gesperrt.
    • `NP`: Es wurde kein Passwort gesetzt.
  • Das Datum der letzten Passwortänderung.
  • Das Mindestalter des Passworts (in Tagen). 0 bedeutet keine Einschränkung der Passwortänderung.
  • Das maximale Passwortalter (in Tagen). 99.999 bedeutet, dass das Passwort nie abläuft.
  • Die Warnzeit (in Tagen) vor dem Ablauf des Passworts.
  • Die Nachfrist (in Tagen), innerhalb derer das Passwort geändert werden kann, bevor das Konto gesperrt wird. `-1` deaktiviert diese Frist.

Maximale Passwortgültigkeit festlegen

Mit der Option `-x` (maximale Tage) können Sie einen Zeitraum für das Zurücksetzen des Passworts angeben.

Beispielbefehl:

sudo passwd -x45 mary

Nach Ausführung wird der Ablaufwert geändert.

Verwenden Sie `-S` (Status), um den Wert zu überprüfen:

sudo passwd -S mary

Nach 45 Tagen ist ein neues Passwort erforderlich. Erinnerungen erfolgen sieben Tage zuvor. Wird kein neues Passwort festgelegt, wird das Konto gesperrt.

Sofortige Passwortänderung erzwingen

Mit der Option `-e` (expire) können Sie Nutzer bei der nächsten Anmeldung zur Passwortänderung zwingen.

Beispielbefehl:

sudo passwd -e mary

Nach Ausführung wird der Passwortablauf geändert. Die letzte Passwortänderung wird auf den 1. Januar 1970 gesetzt. Beim nächsten Login muss der Benutzer das Passwort ändern und zuvor das aktuelle Passwort eingeben.

Sollte man Passwortänderungen erzwingen?

Früher war es üblich, regelmäßige Passwortänderungen zu fordern. Heutzutage raten das National Cyber Security Centre in Großbritannien und das National Institute of Standards and Technology in den USA davon ab, sofern keine Kompromittierung des Passworts bekannt oder vermutet wird.

Die erzwungene Passwortänderung kann zu schwachen Passwörtern führen, da Nutzer oft einfache Variationen ihres alten Passworts verwenden oder sie aufschreiben, weil sie sie sich nicht merken können.

Stattdessen werden folgende Richtlinien empfohlen:

  • Einsatz eines Passwort-Managers.
  • Aktivierung der Zwei-Faktor-Authentifizierung, wo immer möglich.
  • Nutzung von starken Passphrasen.
  • Keine Wiederverwendung von Passwörtern, insbesondere nicht von solchen, die in Have I Been Pwned gelistet sind.

Solange Ihr Passwort sicher ist, gibt es keinen Grund, es zu ändern. Nur bei Kompromittierung oder Verdacht ist eine Änderung nötig. Wenn Ihre Firma jedoch Passwortänderungen erzwingt, müssen Sie diese befolgen.

Der Chage-Befehl

Der Befehl `chage`, abgeleitet von „Change Aging“, ist ein weiteres Werkzeug zur Verwaltung von Passwortrichtlinien. Er ist ähnlich wie `passwd`, verzichtet aber auf die Passwortänderungsfunktion.

Die Option `-l` (Liste) zeigt die Passwortinformationen in einem übersichtlicheren Format als `passwd -S`.

Beispielbefehl:

sudo chage -l eric

Die Option `-E` (Ablauf) erlaubt es, ein Ablaufdatum für ein Konto zu setzen.

Beispiel:

sudo chage eric -E 2020-11-30

Um die Änderung zu verifizieren:

sudo chage -l eric

Das Ablaufdatum des Kontos wurde auf den 30. November 2020 gesetzt.

Mit der Option `-M` (maximale Tage) können Sie die maximale Gültigkeit eines Passworts festlegen.

Beispiel:

sudo chage -M 45 mary

Überprüfung:

sudo chage -l mary

Das Passwort läuft nun nach 45 Tagen ab, beginnend mit dem Datum der Festlegung.

Passwortänderungen für ein ganzes Netzwerk vornehmen

Die Standardpassworteinstellungen für ein System, z.B. Mindest-, Maximal- und Warntage, sind in der Datei `/etc/login.defs` gespeichert.

Öffnen Sie die Datei mit Gedit:

sudo gedit /etc/login.defs

Suchen Sie die Einstellungen für die Passwortalterung, bearbeiten Sie diese, speichern Sie die Datei und schließen Sie den Editor. Diese Einstellungen werden dann für neue Benutzerkonten angewendet.

Um die Passwortablaufdaten aller bestehenden Konten zu ändern, können Sie ein Skript verwenden. Erstellen Sie eine Datei namens `password-date.sh`:

sudo gedit password-date.sh

Fügen Sie den folgenden Text in die Datei ein:

#!/bin/bash

reset_days=28

for username in $(ls /home)
do
  sudo chage $username -M $reset_days
  echo $username password expiry changed to $reset_days
done

Dieses Skript setzt die maximale Passwortgültigkeit für alle Benutzerkonten auf 28 Tage. Sie können `reset_days` anpassen.

Machen Sie das Skript ausführbar:

chmod +x password-date.sh

Führen Sie das Skript aus:

sudo ./password-date.sh

Jedes Konto wird nun verarbeitet. Sie können den Erfolg mit `chage -l` überprüfen.

Beispiel:

sudo change -l mary

Die maximale Passwortgültigkeit wurde auf 28 Tage gesetzt.

Die Passwortverwaltung ist ein wichtiges Thema. Mit diesen Werkzeugen können Sie die Kontrolle über die Sicherheit Ihrer Passwörter übernehmen.