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

Passwörter sind der Schlüssel zur Kontosicherheit. Wir zeigen Ihnen, wie Sie Kennwörter zurücksetzen, Ablaufzeiten für Kennwörter festlegen und Kennwortänderungen in Ihrem Linux-Netzwerk erzwingen.

Das Passwort gibt es seit fast 60 Jahren

Seit Mitte der 1960er Jahre, als das Passwort erstmals eingeführt wurde, beweisen wir Computern, dass wir die sind, für die wir uns ausgeben. Not macht erfinderisch, die Kompatibles Time-Sharing-System entwickelt an der Massachusetts Institute of Technology benötigte eine Möglichkeit, verschiedene Personen im System zu identifizieren. Es musste auch verhindert werden, dass Personen die Dateien der anderen sehen.

Fernando J. Corbató schlug ein Schema vor, das jeder Person einen eindeutigen Benutzernamen zuweist. Um zu beweisen, dass jemand der war, für den er sich ausgab, musste er ein privates, persönliches Passwort verwenden, um auf sein Konto zuzugreifen.

Das Problem mit Passwörtern ist, dass sie wie ein Schlüssel funktionieren. Jeder, der einen Schlüssel hat, kann ihn benutzen. Wenn jemand Ihr Passwort findet, errät oder herausfindet, kann diese Person auf Ihr Konto zugreifen. Noch bis Multi-Faktor-Authentifizierung ist allgemein verfügbar, das Passwort ist das einzige, was unbefugte Personen (Bedrohungsakteure, in der Cybersicherheitssprache) aus Ihrem System.

Remote-Verbindungen, die über eine Secure Shell (SSH) hergestellt werden, können so konfiguriert werden, dass sie SSH-Schlüssel anstelle von Passwörtern verwenden, und das ist großartig. Dies ist jedoch nur eine Verbindungsmethode und deckt keine lokalen Anmeldungen ab.

Natürlich ist die Verwaltung von Passwörtern von entscheidender Bedeutung, ebenso wie die Verwaltung der Personen, die diese Passwörter verwenden.

Die Anatomie eines Passworts

Was macht ein Passwort überhaupt gut? Nun, ein gutes Passwort sollte alle folgenden Eigenschaften haben:

Es ist unmöglich zu erraten oder herauszufinden.
Sie haben es nirgendwo anders verwendet.
Es war nicht beteiligt an einem Datenleck.

Der Wurde ich pwned (HIBP)-Website enthält über 10 Milliarden Sätze von gebrochenen Anmeldeinformationen. Bei so hohen Zahlen besteht die Möglichkeit, dass jemand anderes dasselbe Passwort verwendet hat wie Sie. Das bedeutet, dass sich Ihr Passwort möglicherweise in der Datenbank befindet, obwohl nicht Ihr Konto gehackt wurde.

Wenn sich Ihr Passwort auf der HIBP-Website befindet, bedeutet dies, dass es auf der Liste der Akteure für Passwörter steht. Brute-Force- und Wörterbuchangriff Tools verwenden, wenn sie versuchen, ein Konto zu knacken.

Ein wirklich zufälliges Passwort (wie z [email protected]%*[email protected]#b~aP) ist praktisch unverwundbar, aber natürlich würden Sie sich nie daran erinnern. Wir empfehlen Ihnen dringend, einen Passwort-Manager für Online-Konten zu verwenden. Sie generieren komplexe, zufällige Passwörter für alle Ihre Online-Konten, und Sie müssen sich diese nicht merken – der Passwort-Manager liefert Ihnen das richtige Passwort.

Für lokale Konten muss jede Person ihr eigenes Passwort generieren. Sie müssen auch wissen, was ein akzeptables Passwort ist und was nicht. Sie müssen angewiesen werden, Passwörter nicht für andere Konten wiederzuverwenden und so weiter.

Diese Informationen befinden sich normalerweise in der Kennwortrichtlinie einer Organisation. Es weist die Leute an, eine Mindestanzahl von Zeichen zu verwenden, Groß- und Kleinbuchstaben zu mischen, Symbole und Satzzeichen einzufügen und so weiter.

Allerdings gem ein brandneues Papierr von einem Team bei Carnegie Mellon Universität, all diese Tricks tragen wenig oder gar nichts zur Robustheit eines Passworts bei. Forscher fanden heraus, dass die beiden Schlüsselfaktoren für die Robustheit von Passwörtern darin bestehen, dass sie mindestens 12 Zeichen lang und ausreichend stark sind. Sie maßen die Passwortstärke mit einer Reihe von Software-Cracker-Programmen, statistischen Techniken und neuronalen Netzwerken.

Ein Minimum von 12 Zeichen mag zunächst abschreckend klingen. Denken Sie jedoch nicht an ein Passwort, sondern an eine Passphrase aus drei oder vier voneinander unabhängigen Wörtern, die durch Satzzeichen getrennt sind.

Zum Beispiel die Experte Passwort-Checker sagte, es würde 42 Minuten dauern, um „chicago99“ zu knacken, aber 400 Milliarden Jahre, um „chimney.purple.bag“ zu knacken. Es ist auch leicht zu merken und einzugeben und enthält nur 18 Zeichen.

Überprüfen der aktuellen Einstellungen

Bevor Sie irgendetwas ändern, das mit dem Passwort einer Person zu tun hat, ist es ratsam, einen Blick auf ihre aktuellen Einstellungen zu werfen. Mit dem passwd-Befehl ist das möglich Überprüfen Sie ihre aktuellen Einstellungen mit seiner Option -S (Status). Beachten Sie, dass Sie sudo auch mit passwd verwenden müssen, wenn Sie mit den Passworteinstellungen einer anderen Person arbeiten.

Wir geben Folgendes ein:

sudo passwd -S mary

Eine einzelne Informationszeile wird im Terminalfenster gedruckt, wie unten gezeigt.

Sie sehen die folgenden Informationen (von links nach rechts) in dieser knappen Antwort:

Der Anmeldename der Person.
Hier erscheint einer der folgenden drei möglichen Indikatoren:
P: Zeigt an, dass das Konto ein gültiges, funktionierendes Passwort hat.
L: Bedeutet, dass das Konto vom Besitzer des Root-Kontos gesperrt wurde.
NP: Es wurde kein Passwort festgelegt.

Das Datum, an dem das Passwort zuletzt geändert wurde.
Mindestalter des Passworts: Der Mindestzeitraum (in Tagen), der zwischen dem Zurücksetzen des Passworts durch den Eigentümer des Kontos vergehen muss. Der Besitzer des Root-Kontos kann jedoch jederzeit das Passwort eines jeden ändern. Wenn dieser Wert 0 (Null) ist, gibt es keine Einschränkung für die Häufigkeit von Kennwortänderungen.
Maximales Passwortalter: Der Besitzer des Kontos wird aufgefordert, sein Passwort zu ändern, wenn es dieses Alter erreicht. Dieser Wert wird in Tagen angegeben, ein Wert von 99.999 bedeutet also, dass das Passwort nie abläuft.
Warnzeitraum für Kennwortänderung: Wenn ein maximales Kennwortalter erzwungen wird, erhält der Kontoinhaber Erinnerungen, sein Kennwort zu ändern. Die erste davon wird die hier angezeigte Anzahl von Tagen vor dem Rücksetzdatum gesendet.
Inaktivitätszeitraum für das Passwort: Wenn jemand für einen Zeitraum, der sich mit der Frist zum Zurücksetzen des Passworts überschneidet, nicht auf das System zugreift, wird das Passwort dieser Person nicht geändert. Dieser Wert gibt an, wie viele Tage die Kulanzfrist auf das Ablaufdatum eines Kennworts folgt. Wenn das Konto diese Anzahl von Tagen nach Ablauf eines Kennworts inaktiv bleibt, wird das Konto gesperrt. Ein Wert von -1 deaktiviert die Nachfrist.

Festlegen eines maximalen Kennwortalters

Um einen Zeitraum zum Zurücksetzen des Kennworts festzulegen, können Sie die Option -x (maximal Tage) mit einer Anzahl von Tagen verwenden. Sie lassen kein Leerzeichen zwischen dem -x und den Ziffern, also würden Sie es wie folgt eingeben:

sudo passwd -x45 mary

Uns wurde mitgeteilt, dass der Ablaufwert geändert wurde, wie unten gezeigt.

Verwenden Sie die Option -S (Status), um zu überprüfen, ob der Wert jetzt 45 ist:

sudo passwd -S mary

Jetzt muss in 45 Tagen ein neues Passwort für dieses Konto gesetzt werden. Mahnungen beginnen sieben Tage vorher. Wenn nicht rechtzeitig ein neues Passwort festgelegt wird, wird dieses Konto sofort gesperrt.

Erzwingen einer sofortigen Passwortänderung

Sie können auch einen Befehl verwenden, damit andere in Ihrem Netzwerk ihre Passwörter ändern müssen, wenn sie sich das nächste Mal anmelden. Dazu würden Sie die Option -e (expire) wie folgt verwenden:

sudo passwd -e mary

Uns wird dann mitgeteilt, dass sich die Informationen zum Ablauf des Passworts geändert haben.

Lassen Sie uns mit der Option -S überprüfen und sehen, was passiert ist:

sudo passwd -S mary

Das Datum der letzten Passwortänderung wird auf den ersten Tag des Jahres 1970 gesetzt. Wenn diese Person das nächste Mal versucht, sich anzumelden, muss sie ihr Passwort ändern. Sie müssen auch ihr aktuelles Passwort angeben, bevor sie ein neues eingeben können.

Sollten Sie Passwortänderungen erzwingen?

Früher war es gesunder Menschenverstand, Menschen zu zwingen, ihre Passwörter regelmäßig zu ändern. Dies war einer der routinemäßigen Sicherheitsschritte für die meisten Installationen und galt als gute Geschäftspraxis.

Das Denken ist jetzt das genaue Gegenteil. In Großbritannien ist die Nationales Zentrum für Cybersicherheit rät dringend gegen die Erzwingung regelmäßiger Kennworterneuerungen, und das Nationales Institut für Standards und Technologie in den USA stimmt zu. Beide Organisationen empfehlen, eine Passwortänderung nur dann zu erzwingen, wenn Sie wissen oder vermuten, dass eine besteht anderen bekannt.

Menschen dazu zu zwingen, ihre Passwörter zu ändern, wird eintönig und fördert schwache Passwörter. Die Leute beginnen normalerweise mit der Wiederverwendung eines Basispassworts mit einem Datum oder einer anderen Nummer, die darauf getaggt ist. Oder sie schreiben sie auf, weil sie sie so oft ändern müssen, dass sie sich nicht daran erinnern können.

Die beiden oben genannten Organisationen empfehlen die folgenden Richtlinien für die Passwortsicherheit:

Verwenden Sie einen Passwort-Manager: Sowohl für Online- als auch für lokale Konten.
Aktivieren Sie die Zwei-Faktor-Authentifizierung: Verwenden Sie diese Option, wo immer sie verfügbar ist.
Verwenden Sie eine starke Passphrase: Eine hervorragende Alternative für Konten, die nicht mit einem Passwort-Manager funktionieren. Drei oder mehr Wörter, die durch Satzzeichen oder Symbole getrennt sind, sind eine gute Vorlage.
Niemals ein Passwort wiederverwenden: Vermeiden Sie es, dasselbe Passwort zu verwenden, das Sie für ein anderes Konto verwenden, und verwenden Sie auf keinen Fall eines, das auf aufgeführt ist Wurde ich pwned.

Mit den obigen Tipps können Sie eine sichere Methode für den Zugriff auf Ihre Konten einrichten. Sobald Sie diese Richtlinien festgelegt haben, halten Sie sich an sie. Warum sollten Sie Ihr Passwort ändern, wenn es stark und sicher ist? Wenn es in die falschen Hände gerät – oder Sie vermuten, dass es passiert ist – können Sie es dann ändern.

Manchmal liegt diese Entscheidung jedoch nicht in Ihren Händen. Wenn die Befugnisse, die Kennwortänderungen erzwingen, Ihnen keine große Wahl bleiben. Sie können Ihren Fall vertreten und Ihre Position kundtun, aber wenn Sie nicht der Chef sind, müssen Sie die Unternehmensrichtlinien befolgen.

Der Chage-Befehl

Sie können verwenden der Chage-Befehl um die Einstellungen bezüglich der Kennwortalterung zu ändern. Dieser Befehl hat seinen Namen von „Change Aging“. Es ist wie der passwd-Befehl, bei dem die Elemente zur Passworterstellung entfernt wurden.

Die Option -l (Liste) präsentiert die gleichen Informationen wie der Befehl passwd -S, aber auf eine freundlichere Art und Weise.

Wir geben Folgendes ein:

sudo chage -l eric

Eine weitere nette Sache ist, dass Sie mit der Option -E (Ablauf) ein Ablaufdatum für das Konto festlegen können. Wir übergeben ein Datum (im Format Jahr-Monat-Tag), um ein Ablaufdatum auf den 30. November 2020 festzulegen. An diesem Datum wird das Konto gesperrt.

Wir geben Folgendes ein:

sudo chage eric -E 2020-11-30

Als nächstes geben wir Folgendes ein, um sicherzustellen, dass diese Änderung vorgenommen wurde:

sudo chage -l eric

Wir sehen, dass sich das Ablaufdatum des Kontos von „nie“ auf den 30. November 2020 geändert hat.

Um einen Ablaufzeitraum für das Kennwort festzulegen, können Sie die Option -M (maximale Tage) zusammen mit der maximalen Anzahl von Tagen verwenden, die ein Kennwort verwendet werden kann, bevor es geändert werden muss.

Wir geben Folgendes ein:

sudo chage -M 45 mary

Wir geben Folgendes mit der Option -l (Liste) ein, um die Wirkung unseres Befehls zu sehen:

sudo chage -l mary

Das Ablaufdatum des Passworts ist jetzt auf 45 Tage ab dem Datum festgelegt, an dem wir es festgelegt haben, was, wie uns gezeigt wird, der 8. Dezember 2020 sein wird.

Kennwortänderungen für alle in einem Netzwerk vornehmen

Beim Erstellen von Konten wird eine Reihe von Standardwerten für Passwörter verwendet. Sie können die Standardwerte für die Mindest-, Höchst- und Warntage festlegen. Diese werden dann in einer Datei namens „/etc/login.defs“ gespeichert.

Sie können Folgendes eingeben, um diese Datei in gedit zu öffnen:

sudo gedit /etc/login.defs

Scrollen Sie zu den Steuerelementen für die Kennwortalterung.

Sie können diese nach Ihren Wünschen bearbeiten, Ihre Änderungen speichern und anschließend den Editor schließen. Wenn Sie das nächste Mal ein Benutzerkonto erstellen, werden diese Standardwerte angewendet.

Wenn Sie alle Kennwortablaufdaten für vorhandene Benutzerkonten ändern möchten, können Sie dies ganz einfach mit einem Skript tun. Geben Sie einfach Folgendes ein, um den Gedit-Editor zu öffnen und eine Datei namens „password-date.sh“ zu erstellen:

sudo gedit password-date.sh

Kopieren Sie als Nächstes den folgenden Text in Ihren Editor, speichern Sie die Datei und schließen Sie dann gedit:

#!/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

Dadurch ändert sich die maximale Anzahl von Tagen für jedes Benutzerkonto auf 28 und damit auch die Häufigkeit der Kennwortzurücksetzung. Sie können den Wert der Variable reset_days entsprechend anpassen.

Zuerst geben wir Folgendes ein, um unser Skript ausführbar zu machen:

chmod +x password-date.sh

Jetzt können wir Folgendes eingeben, um unser Skript auszuführen:

sudo ./password-date.sh

Jedes Konto wird dann wie unten gezeigt verarbeitet.

Wir geben Folgendes ein, um das Konto auf „mary“ zu überprüfen:

sudo change -l mary

Der maximale Wert für Tage wurde auf 28 festgelegt, und uns wurde gesagt, dass dies auf den 21. November 2020 fallen wird. Sie können das Skript auch einfach ändern und weitere chage- oder passwd-Befehle hinzufügen.

Passwortverwaltung ist etwas, das ernst genommen werden muss. Jetzt haben Sie die Werkzeuge, die Sie brauchen, um die Kontrolle zu übernehmen.