In UNIX (und Linux) ist das Kennwortalterung ein Sicherheitsmechanismus, der die Benutzer dazu zwingt, ihre Passwörter regelmäßig zu ändern. Ziel ist es, das Risiko von gefährdeten Konten zu verringern, indem die Lebensdauer eines einzelnen Passworts begrenzt wird. Hier ist eine Aufschlüsselung der Schlüsselkonzepte:
Kernidee:
* zeitbasiertes Ablauf: Nach einer bestimmten Anzahl von Tagen (definiert vom Systemadministrator) wird das Passwort eines Benutzers "alt" und verlangt von ihnen, es bei seinem nächsten Anmeldung zu ändern.
Wie es funktioniert (Schlüsselattribute):
* `ay` in`/etc/Shadow`: Die häufigste Implementierung wird über die Datei "/etc/Shadow" verwaltet (die Kennwortinformationen sicher speichert). Diese Datei enthält Attribute, die sich auf das Kennwortalterung für jeden Benutzer beziehen. Die wichtigsten Attribute, die Sie möglicherweise sehen, sind:
* `last_changed` (Last Änderungsdatum): Die Anzahl der Tage seit der Epoche (1. Januar 1970), als das Passwort zuletzt geändert wurde. Dies ist der Ausgangspunkt für die Berechnung des Alterns.
* `min_days` (Mindestalter des Kennworts): Die Mindestanzahl von Tagen, die * vor * bestehen müssen * Ein Benutzer darf sein Passwort erneut ändern. Dies verhindert, dass Benutzer sofort zu einem alten, potenziell beeinträchtigen Kennwort zurückkehren.
* `max_days` (Maximales Kennwort Alter): Die maximale Anzahl von Tagen, an denen ein Passwort gültig ist. Nach diesen vielen Tagen ist der Benutzer gezwungen, ihn beim nächsten Anmeldung zu ändern.
* `warn_days` (Warnperiode): Die Anzahl der Tage * vor * der Ablauf von `max_days ', dass der Benutzer beginnt, Warnungen vor Ablauf seines Kennworts zu erhalten. Dies gibt ihnen Zeit, es bequem zu ändern.
* `Inactive_days` (Inaktivitätszeit): Die Anzahl der Tage nach Ablauf eines Passworts, in dem das Konto deaktiviert ist. Schließt den Benutzer effektiv aus.
* `expire_date` (Konto Ablaufdatum): Ein fester Datum (Tage seit der Epoche), wenn das gesamte Konto unbrauchbar wird. Dies ist ein separates Konzept, aber häufig in Verbindung mit dem Kennwortalterung zum Verwalten von temporären Konten verwendet.
* `flag`: Ein Flag, das verwendet werden kann, um die Funktion zum Kennwortaling zu deaktivieren oder eine Änderung des Kennworts bei der nächsten Anmeldung zu erzwingen.
* `Passwd` Befehl: Benutzer und Administratoren verwenden in der Regel den Befehl "passwd", um Passwörter zu ändern. Wenn ein Benutzer sein Passwort ändert, wird das Datum "Last_Changed" in `/etc/Shadow` aktualisiert.
* Anmeldeprozess: Wenn ein Benutzer versucht, sich anzumelden, überprüft das System das Datum "Last_Changed" mit den Werten "max_days" und "Warn_Days" in `/etc/Shadow`. Wenn das Passwort abgelaufen ist, wird der Benutzer aufgefordert, es zu ändern *, bevor * er auf sein Konto zugreifen kann. Wenn sich das Kennwort dem Ablauf nähert, wird eine Warnmeldung angezeigt.
Beispiel:
Sagen wir "/etc/Shadow" den folgenden (vereinfachten) Eintrag für einen Benutzer namens "John":
`` `
John:$ 6 $ Somesalt $ Hashstring:19400:7:90:7:-1 :::
`` `
So interpretieren Sie dies (unter der Annahme der Standardbedeutungen der Felder):
* `John`:Benutzername.
* `$ $ $ $ Somesalt $ Hashstring`:Passwort Hash.
* `19400`:` last_changed` (Tage seit der Epoche).
* `7`:` min_days` (muss mindestens 7 Tage warten, bevor sie erneut geändert werden).
* `90`:` max_days` (Passwort läuft nach 90 Tagen ab).
* `7`:` warn_days` (warnen Sie den Benutzer 7 Tage vor Ablauf).
* `-1`:` inactive_days` (deaktiviert). In diesem Beispiel nicht verwendet.
* `:::` - Konto nach Ablauf des Kontos (leer, was bedeutet, dass kein Konto Ablauf ist)
Das heisst:
1. John hat sein Passwort am Tag 19400 (seit der Epoche) zuletzt geändert.
2. Er muss mindestens 7 Tage warten, bevor er es wieder wechselt.
3. Sein Passwort läuft 90 Tage nach 19400 ab.
4. Er wird 7 Tage vor diesem Ablaufdatum vor Ablauf gewarnt.
Tools für die Verwaltung:
* `Passwd` Befehl: Wie bereits erwähnt, verwenden Benutzer und Administratoren "Passwd", um Passwörter zu ändern.
* `chage` Befehl: Der Befehl "chage" (Change Age) wurde speziell so konzipiert, dass die Parameter des Kennwortalterung in `/etc/Shadow` verwaltet wird. Administratoren verwenden es, um die `min_days`,` max_days`, `warn_days` usw. für einzelne Benutzer festzulegen.
* pam (steckbare Authentifizierungsmodule): PAM ist ein Framework, mit dem Sie Authentifizierungsmechanismen anpassen können. Das alternde Kennwortalter wird normalerweise über PAM -Module behandelt, die Flexibilität bei der Implementierung bieten. Sie konfigurieren PAM in Dateien unter `/etc/pam.d/`.
* `/etc/login.defs`: Diese Datei legt systemweite Standardeinstellungen für die Kennwortalterung und andere Anmeldeparameter fest. Die hier festgelegten Werte werden häufig als Ausgangspunkt verwendet, es sei denn, sie überschrieben durch bestimmte Benutzereinstellungen in `/etc/Shadow`.
Warum das Alterung des Passworts verwenden?
* Kennwortrisse mildern: Auch wenn ein Passwort schwach oder durch Brute-Force-Angriffe oder Wörterbuchangriffe beeinträchtigt wird, wird es schließlich geändert, wodurch das Chancenfenster des Angreifers einschränkt.
* Auswirkungen von wiederverwendeten Passwörtern reduzieren: Viele Benutzer verwenden Passwörter über mehrere Konten. Wenn ein Dienst gefährdet ist, sind die Kennwörter des Benutzers für andere Dienste gefährdet. Regelmäßige Passwortänderungen können dazu beitragen, dies zu mildern.
* Konformität: Viele Sicherheitsrichtlinien und -vorschriften erfordern das Alterung des Kennworts als Best Practice.
* Insider -Bedrohungen: Das alternde Passwort kann dazu beitragen, die Risiken durch verärgerte oder ehemalige Mitarbeiter zu verringern, die möglicherweise ein Passwort kennen.
Nachteile:
* Benutzer Ärger: Benutzer finden häufig häufige Kennwortänderungen ärgerlich und führen zu:
* Vorhersehbare Passwörter: Benutzer können einfach eine Zahl am Ende ihres Passworts erhöhen, was sie leicht vorhersehbar macht.
* Post-it Notizen: Das Aufschreiben von Passwörtern besiegt den Zweck.
* Passwort Ermüdung: Benutzer können ihre Passwörter häufiger vergessen und erhöhen Helpdesk -Anrufe.
* geht nicht mit Phishing oder Social Engineering an: Das alternde Passwort allein schützt nicht vor Benutzern, die ihre Passwörter freiwillig verschenken.
moderne Überlegungen (über das traditionelle Kennwortalterung hinaus):
Während das Altern des Passworts eine langjährige Sicherheitspraxis war, deuten moderne Empfehlungen häufig auf eine Verschiebung hin zu:
* Starke Passwörter: Erzwingen Sie die Anforderungen an die Komplexität der Kennwortkomplexität (Länge, Zeichentypen) und verhindern Sie, dass Benutzer schwache oder leicht erratene Passwörter verwenden. Tools wie "Pwquality" und PAM -Module helfen dabei.
* Multi-Faktor-Authentifizierung (MFA): Fügen Sie eine zusätzliche Sicherheitsebene über nur ein Passwort hinaus (z. B. einen Code aus einer mobilen App).
* Passwortmanager: Ermutigen Sie Benutzer, Kennwortmanager zu verwenden, um für jedes Konto starke, eindeutige Passwörter zu generieren und zu speichern.
* Überwachung und Alarmierung: Erkennen Sie verdächtige Anmeldeaktivität (z. B. ungewöhnliche Anmeldepositionen, mehrere fehlgeschlagene Anmeldeversuche).
* kompromittierte Passwort -Detektion: Verwenden Sie Dienste, die erkennen, ob Kennwörter in Datenverletzungen durchgesickert sind, und benachrichtigen Sie die Benutzer, sie zu ändern.
Das alternde Kennwortalterung wird selbst nicht mehr als vollständige Sicherheitslösung angesehen, kann jedoch immer noch eine nützliche Komponente in einer breiteren Sicherheitsstrategie sein, insbesondere in Kombination mit anderen Best Practices. Der beste Ansatz hängt von den spezifischen Sicherheitsbedürfnissen und der Risikotoleranz der Organisation ab.