So sehr Linux als sicheres Betriebssystem gilt, ist seine Sicherheit genauso gut wie die Passwortstärke von Login-Benutzern. Es gibt Kennwortrichtlinien, um sicherzustellen, dass für Benutzer ein starkes Kennwort festgelegt wird, und als Linux-Benutzer sollten Sie darauf achten, diese Richtlinien durchzusetzen, um Verstöße zu erschweren. Sie möchten sicherlich nicht, dass Benutzer schwache oder erratbare Passwörter konfigurieren, die von Hackern innerhalb von Sekunden brutal erzwungen werden können.
In diesem Artikel befassen wir uns mit der Durchsetzung von Kennwortrichtlinien in Linux, insbesondere CentOS und Ubuntu. Wir behandeln die Durchsetzung von Passwortrichtlinien wie Passwortablaufzeit, Passwortkomplexität und Passwortlänge.
Passwortrichtlinien in Ubuntu / Debian erzwingen
Es gibt zwei Möglichkeiten, Passwortrichtlinien durchzusetzen. Sehen wir uns jeden im Detail an.
1) Konfigurieren Sie die maximale Anzahl von Tagen, die ein Passwort verwendet werden kann
Für den Anfang können Sie eine Kennwortrichtlinie konfigurieren, die Benutzer dazu auffordert, ihre Kennwörter nach einer bestimmten Anzahl von Tagen zu ändern. Best Practice schreibt vor, dass ein Passwort regelmäßig geändert werden sollte, um böswillige Benutzer aus dem Gleichgewicht zu bringen und es ihnen schwerer zu machen, in Ihr System einzudringen. Dies gilt nicht nur für Linux, sondern auch für andere Systeme wie Windows und macOS.
Um dies zu erreichen, müssen Sie in Debian/Ubuntu die Datei /etc/login.defs ändern und nach den PASS_MAX_DAYS Ausschau halten Attribut.
Standardmäßig ist dies wie gezeigt auf 99.999 Tage eingestellt.
Sie können dies auf eine angemessene Dauer ändern, z. B. 30 Tage. Stellen Sie einfach den aktuellen Wert wie gezeigt auf 30 ein und speichern Sie die Änderungen. Nach Ablauf der 30 Tage müssen Sie ein weiteres Passwort erstellen.
2) Konfigurieren Sie die Passwortkomplexität mit pam
Die Sicherstellung, dass das Passwort ein gewisses Maß an Komplexität erfüllt, ist ebenso wichtig und vereitelt alle Versuche von Hackern, Ihr System mit Brute Force zu infiltrieren.
Als allgemeine Regel sollte ein sicheres Passwort eine Kombination aus Großbuchstaben, Kleinbuchstaben, Ziffern und Sonderzeichen enthalten und mindestens 12-15 Zeichen lang sein.
Um die Passwortkomplexität in Debian-/Ubuntu-Systemen zu erzwingen, müssen Sie das libpam-pwquality-Paket wie gezeigt installieren:
$ sudo apt install libpam-pwquality
Gehen Sie nach der Installation zur Datei /etc/pam.d/common-password, von wo aus Sie die Passwortrichtlinien festlegen werden. Standardmäßig erscheint die Datei wie gezeigt:
Suchen Sie die unten gezeigte Zeile
password requisite pam_pwquality.so retry=3
Fügen Sie der Zeile die folgenden Attribute hinzu:
minlen=12 maxrepeat=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1 difok=4 reject_username enforce_for_root
Die gesamte Zeile sollte wie gezeigt aussehen:
Lassen Sie uns konkretisieren, wofür diese Anweisungen stehen:
- retry=3:Diese Option fordert den Benutzer 3 Mal auf, bevor sie beendet wird und einen Fehler zurückgibt.
- minlen=12:Dies gibt an, dass das Passwort nicht weniger als 12 Zeichen lang sein darf.
- maxrepeat=3:Dies erlaubt impliziert, dass nur maximal 3 wiederholte Zeichen im Passwort enthalten sein dürfen.
- ucredit=-1:Die Option erfordert mindestens einen Großbuchstaben im Passwort.
- lcredit=-1:Die Option erfordert mindestens einen Kleinbuchstaben im Passwort.
- dcredit=-1:Dies impliziert, dass das Passwort zuletzt ein numerisches Zeichen haben sollte.
- ocredit=-1:Die Option erfordert mindestens ein Sonderzeichen im Passwort.
- difok=3:Dies bedeutet, dass nur maximal 3 Zeichenänderungen im neuen Passwort im alten Passwort vorhanden sein sollten.
- reject_username:Die Option lehnt ein Passwort ab, wenn es aus dem Benutzernamen entweder in seiner normalen Form oder umgekehrt besteht.
- enforce_for_root:Dies stellt sicher, dass die Passwortrichtlinien eingehalten werden, selbst wenn es der Root-Benutzer ist, der die Passwörter konfiguriert.
Passwortrichtlinien in CentOS / RHEL erzwingen
Für Debian- und Ubuntu-Systeme haben wir die Passwortrichtlinie erzwungen, indem wir Änderungen an /etc/pam.d/common-password vorgenommen haben Konfigurationsdatei.
Für CentOS 7 und andere Derivate werden wir /etc/pam.d/system-auth ändern oder /etc/security/pwquality.conf Konfigurationsdatei.
Fahren Sie also fort und öffnen Sie die Datei:
$ sudo vim /etc/pam.d/system-auth
Suchen Sie die unten gezeigte Zeile
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
Fügen Sie die Optionen wie gezeigt in die Zeile ein.
minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
Sie erhalten am Ende die folgende Zeile:
Wenn Sie fertig sind, speichern Sie die Passwortrichtlinien und beenden Sie die Datei.
Wenn Sie erneut versuchen, einen Benutzer mit einem schwachen Passwort zu erstellen, das sich nicht an die erzwungenen Richtlinien hält, werden Sie auf den im Terminal angezeigten Fehler stoßen.
Fazit
Wie Sie gesehen haben, ist die Durchsetzung einer Passwortrichtlinie recht einfach und dient als hervorragende Möglichkeit, Benutzer daran zu hindern, schwache Passwörter einzurichten, die leicht zu erraten oder anfällig für Brute-Force-Angriffe sein können. Indem Sie diese Richtlinien durchsetzen, können Sie sicher sein, dass Sie die Sicherheit Ihres Systems verstärkt und es Hackern erschwert haben, Ihr System zu kompromittieren.