Vor einiger Zeit habe ich root ein Passwort gegeben, damit ich mich als root anmelden und einige Dinge erledigen konnte. Jetzt möchte ich die Root-Anmeldung deaktivieren, um die Sicherheit zu erhöhen, da ich meinen Server dem Internet zur Verfügung stelle. Ich habe verschiedene Möglichkeiten gesehen, dies zu tun ( sudo passwd -l root
herumzuspielen /etc/shadow
und so weiter), aber nirgendwo sagt das aus, was die beste / vernünftigste Art ist, es zu tun. Ich habe es getan, sudo passwd -l root
aber ich habe Hinweise gesehen, die besagen, dass dies sich auf Init-Skripte auswirken kann und dass es nicht so sicher ist, wie es aussieht, da immer noch nach einem Kennwort gefragt wird, wenn Sie versuchen, sich anzumelden, anstatt den Zugriff zu verweigern. Wie könnte man das erreichen?
BEARBEITEN: um zu verdeutlichen, ist dies für die lokale Anmeldung als root; Ich habe die Remote-Anmeldung über SSH bereits deaktiviert. Obwohl der Versuch, sich über SSH als root anzumelden, immer noch zur Eingabe des root-Passworts auffordert (was immer fehlschlägt). Ist das schlecht?
rm
. Etwas, das ich auf die harte Tour gelernt habe. Ja, man kann sich einfach NICHT als root anmelden, aber die Deaktivierung ist aus Sicht von sys admin sinnvoll.Antworten:
Es ist für mich umstritten, dass das Deaktivieren von root die potenziellen Probleme wert ist. Ich habe noch nie einen so konfigurierten Server getestet. Ich bevorzuge es, nur den lokalen Root-Zugriff zuzulassen. Wenn ein Angreifer physischen Zugriff auf Ihren Server hat, können Sie alles vergessen, was Sie getan haben, um Ihre Installation trotzdem zu "sichern".
Deaktivieren Sie den Root-
ssh
Zugriff, indem Sie Folgendes bearbeiten/etc/ssh/sshd_config
:Hantieren mit
/etc/shadow
,chsh -s /bin/false root
alles kann rückgängig gemacht wird mit einem einfachen Boot - CD / Stick.Aktualisieren Sie nach Ihrem Kommentar:
Von help.ubuntu.com : "Standardmäßig ist das Passwort des Root-Kontos in Ubuntu gesperrt ". Weitere Informationen finden Sie im Abschnitt "Deaktivieren Ihres Root-Kontos". Verwenden Sie den folgenden Befehl, um den Status des Root-Kontos auf "install-default" zurückzusetzen:
quelle
Ich nehme an, Sie beziehen sich auf die Remote-Anmeldung über ssh. Fügen Sie die folgende Zeile hinzu
/etc/ssh/sshd_config
:und starten Sie den SSH-Dienst neu
Das sollte funktionieren und Sie können Ihr Root-Konto so lassen, wie es ist (oder versuchen, es trotzdem zu deaktivieren, wenn Sie dies für notwendig halten).
quelle
Die Hauptfrage wurde mehrmals beantwortet, die zweite nicht. SSH fordert nach Eingabe von root zur Eingabe des Kennworts auf, nachdem es als Sicherheitsfunktion deaktiviert wurde. Es wird auch ausgelöst, wenn Sie versuchen, sich als lkjfiejlksji anzumelden.
Dies soll verhindern, dass jemand einen Stapel von Benutzernamen testet, um herauszufinden, welche auf Ihrem System gültig sind. Wenn Sie jedoch aus Sicherheitsgründen root über SSH deaktiviert haben, würde ich auch ein Bruteforce-Erkennungsprogramm (wie fail2ban) einrichten und es so einstellen, dass es sie blockiert, wenn sich jemand als root anmeldet Versuchen Sie weitere Angriffe.
quelle
Das Ersetzen des verschlüsselten Passworts durch ein * in / etc / shadow (zweites Feld nach dem ersten ':') ist der beste Weg, IMHO. Deaktivieren Sie außerdem die root-Anmeldung für ssh (auf diese Weise ist es einfach unmöglich, sich über ssh als root anzumelden) und beschränken Sie ssh möglicherweise auf Zertifikatsanmeldungen, was viel sicherer ist als kennwortbasierte Anmeldungen.
In den meisten Fällen sollte SSH der einzige Dienst sein, auf den von außen zugegriffen werden kann, der möglicherweise eine Root-Anmeldung ermöglicht, sodass diese Tür verschlossen ist.
Um dies weiter einzuschränken, können Sie so etwas wie fail2ban installieren, bei dem IP-Adressen nach mehreren erfolglosen Anmeldeversuchen für eine bestimmte Zeit gesperrt werden.
quelle
JR et al.,
Ihre AllowUsers haben mich zu dieser https://help.ubuntu.com/community/SSH/OpenSSH/Configuring geführt
sudo vi / etc / ssh / sshd_config
PermitRootLogin yes (geändert in no)
(Zeile am Ende der Datei hinzufügen) DenyUsers user1 user2
Speichern und beenden und dann
sudo service ssh neu starten
Löste mein Problem. Dank an alle.
quelle
Wenn Sie die lokale Root-Anmeldung deaktivieren möchten, können Sie versuchen, / etc / passwd zu ändern und / bin / bash durch / bin / false zu ersetzen. Da ich es jedoch nicht getestet habe, würde ich sagen, lassen Sie eine Root-Sitzung auf der Seite offen, testen Sie sie, und wenn es irgendwelche seltsamen Nebenwirkungen gibt, ändern Sie sie zurück.
quelle
Betreff: Sicherheit.
IMHO gibt es nur so viel, was Sie sicherheitshalber tun können, wenn Sie die Box nicht ausstecken, vom Netzwerk trennen und in einer 3 "dicken, kugelsicheren Hartmetall-Stahlbox schweißen.
Stellen Sie sich das so vor - wenn die Leute das Verteidigungsministerium, die CIA, das FBI und die Citibank hacken können -, kann der Rest von uns Sterblichen es nicht viel besser machen.
Betreff: SSH-Sicherheit.
Ich verbiete nicht nur den Root-Zugriff über ssh, sondern setze auch den Parameter "AllowUsers" auf meinen und nur meinen Benutzernamen. Auf diese Weise kann sich niemand außer meinem eigenen Benutzer über ssh anmelden. Dies kann redundant sein, da ich in meinem Fall sowieso nur EINEN Benutzer ohne Rootberechtigung erstelle.
Leider sind, wie andere schon oft gesagt haben, alle Wetten AUS, sobald jemand physischen Zugang zur Box hat!
Zertifikatsaustausch für SSH Login? Hmmmm. . . . hört sich gut an. Wie machst du das?
Jim (JR)
quelle