das Entfernen von `nullok` aus der Systemauthentifizierung verhindert jedes Root-Passwort

das Entfernen von `nullok` aus der Systemauthentifizierung verhindert jedes Root-Passwort

[Dies ist eine Fortsetzung meines Beitrags zu ServerFault:https://serverfault.com/questions/661136/root-accepts-any-password-how-to-change-to-a-real-password]

Auf einem alten System akzeptiert der Root-Account jedes beliebige Passwort, solange es nicht leer ist. Jedes Passwort wurde als korrektes Passwort akzeptiert, sodass sich jeder anmelden konnte.

Früher (vor mehr als 10 Jahren) war dies kein Problem, da sich das System hinter einem DFÜ-Modem mit eigener Authentifizierung befand … seit einigen Jahren ist das System jedoch über eine öffentliche IP-Adresse erreichbar.

Wie durch ein Wunder hat sich bis letzte Woche niemand um den SSH-Port gekümmert.

Jemand (chinesische IP-Adresse) hat sich als Root angemeldet, einige Systemeinstellungen geändert und sich abgemeldet.

Ich habe das System aus einem Backup wiederhergestellt und den SSH-Port geändert, sodass es nicht mehr über das ADSL-Modem erreicht werden kann, um mir etwas Zeit zu verschaffen, dieses Problem zu lösen.

Das Problem scheint hier zu liegen /etc/pam.d/system-auth:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      /lib/security/pam_env.so
auth        sufficient    /lib/security/pam_unix.so likeauth nullok
auth        required      /lib/security/pam_deny.so

account     required      /lib/security/pam_unix.so

password    required      /lib/security/pam_cracklib.so retry=3
password    sufficient    /lib/security/pam_unix.so nullok use_authtok md5
password    required      /lib/security/pam_deny.so

session     required      /lib/security/pam_limits.so
session     required      /lib/security/pam_unix.so

Wenn ich mich ändere

auth        sufficient    /lib/security/pam_unix.so likeauth nullok

Zu

auth        sufficient    /lib/security/pam_unix.so likeauth

dann akzeptiert der Root-Account kein zufälliges Passwort mehr, aber mein konfiguriertes Passwort akzeptiert er auch nicht

Ich habe Folgendes versucht:

  • Ändern Sie zuerst das Root-Passwort über den passwdBefehl. Ergebnis: Ich konnte mich mit jedem beliebigen Passwort anmelden
  • dann entfernen nullok: Ich konnte mich in einer neuen SSH-Sitzung mit keinem Passwort anmelden, nicht einmal mit dem Passwort, das ich gerade festgelegt habe
  • dann habe ich das Root-Passwort erneut geändert. Ergebnis: Ich konnte mich in einer neuen SSH-Sitzung immer noch nicht mit irgendeinem Passwort anmelden.
  • dann habe ich nullokwieder in die Systemauthentifizierung eingegeben: Ich konnte mich wieder mit jedem beliebigen Passwort anmelden

Die Bearbeitung und Passworteinstellung habe ich die ganze Zeit in einer geöffneten SSH-Sitzung vorgenommen und das Ergebnis durch Öffnen einer neuen SSH-Sitzung getestet.

Ich habe mich nicht getraut, meine Haupt-SSH-Sitzung zu schließen, aus Angst, dass ich mich nicht wieder anmelden kann. Außerdem habe ich das System nicht neu gestartet, da es ein laufendes System für Ampeln ist

Ich war überrascht, dass ich kein altes Passwort eingeben musste, sondern einfach das neue Passwort eingeben konnte (2 Mal).

Nach der Änderung des Passwortes bekam ich zwar die Antwort, Password changedkonnte mich mit dem neuen Passwort allerdings nicht per SSH anmelden.

Muss ich das Root-Passwort noch woanders setzen? Oder wird durch das Entfernen nullokder Root-Account über SSH komplett gesperrt?

Ich möchte, rootdass sich die Anmeldung nur mit einem bestimmten Passwort möglich ist und der Zugriff mit anderen Passwörtern verweigert wird.

verwandte Informationen