
Ich habe einen Server bei OVH, der gegen 12:10 Uhr plötzlich offline ging.
Laut meinen Logs ist der Hacker mit dem Root-Benutzer eingedrungen. Das bedeutet, dass er wahrscheinlich mein Passwort hatte. Ich habe dieses Passwort bereits geändert, frage mich aber immer noch, wie er hereingekommen ist.
In der sshd_config steht, PermitRootLogin no
dass sie sich normalerweise nicht über SSH anmelden können. Die einzige Möglichkeit, sich als Root direkt anzumelden, ist also über KVM, und ich bin der Einzige, der darauf Zugriff hat.
Dies ist das Protokoll zu dem Zeitpunkt, als er ausfiel. Ich konnte es durch einen einfachen Neustart beheben. Aber wie ich die Protokolle davor sehe, hat sich jemand mehrmals als Root angemeldet. Und ich bin ziemlich sicher, dass ich das nicht war. In denselben Protokollen steht auch, dass sich jemand als Root anmeldet.
Jun 11 12:10:01 vps115965 systemd: Starting Session c3450 of user root.
Jun 11 12:10:01 vps115965 systemd: Started Session c3450 of user root.
Jun 11 21:31:02 vps115965 xinetd[2703]: START: gopher pid=22775 from=::ffff:46.182.107.117
Meine Frage. Wie kann ich den Root-Login komplett deaktivieren? Damit meine ich nur einen physischen Login. Cronjobs, die als Root und sudo (sowie sudo -i) ausgeführt werden, sollten weiterhin funktionieren.
Auf meinem Server läuft CentOS 7 (Updates werden über Cronjobs installiert)
Vielen Dank im Voraus
Jeroen
BEARBEITEN:
Ich habe festgestellt, dass der Root-Login alle 10 Minuten erfolgt, was meiner Meinung nach geplant sein sollte. Also habe ich in die Crontab geschaut und es scheint, dass Spamassassin dies tut. Da ich dies nicht mehr verwende (ich verwende mein Norton IS zum Spamfiltern), habe ich beschlossen, es zu entfernen.
Da ich keine Beweise mehr dafür habe, dass ich gehackt wurde, denke ich, dass ich einfach Pech hatte (vielleicht Kernel Panic).
Ich möchte jedoch immer noch meine Frage zum Deaktivieren des physischen Root-Logins wissen.
Antwort1
passwd -l root
Sie können es verwenden, dort man passwd
können Sie die Beschreibung dazu sehen.
-l This option is used to lock the specified account and it is available to root only. The locking is performed by rendering the encrypted pass-
word into an invalid string (by prefixing the encrypted string with an !).
Antwort2
Sie haben 2 Möglichkeiten:
Beschäftigen Sie sich mit der Datei /etc/securetty, wie in der vorherigen Antwort erwähnt.
Löschen Sie das Root-Passwort aus /etc/shadow – auf diese Weise kann sich niemand als Root anmelden, während Cron-Jobs und Sudo funktionieren.
Die zweite Option wird in der Standardkonfiguration von Ubuntu verwendet, da hierdurch die Kompatibilität mit alter Software aus der KDE-1/2-Ära nicht beeinträchtigt wird, die Hilfsdialoge zum Abrufen des Root-Passworts und der Root-Berechtigungen verwendet hat.
Antwort3
Die Anmeldung an der physischen Konsole wird über die /etc/securetty
Datei gesteuert. Um zu verhindern, dass sich der Root-Benutzer über eine beliebige Konsole anmeldet, können Sie echo > /etc/securetty
die Datei mit etwas wie leeren (Sie sollten vorher ggf. ein Backup erstellen).
Wenn Sie nur bestimmte Pfade schließen möchten, wie beispielsweise Logins über die serielle Konsole, entfernen Sie diese einfach aus der /etc/securetty
Datei.
Danach können Sie sich weiterhin anmelden mitsshund ein normales Benutzerkonto und verwenden Sie dannsudoum Root zu werden.