it-swarm.com.de

Wie deaktiviere ich die Root-Anmeldung in Ubuntu?

vor einiger Zeit habe ich root ein Passwort gegeben, damit ich mich als root anmelden und einige Dinge erledigen kann. Jetzt möchte ich die Root-Anmeldung deaktivieren, um die Sicherheit zu erhöhen, da ich meinen Aufschlag dem Internet zugänglich machen werde. Ich habe verschiedene Möglichkeiten gesehen, dies zu tun (Sudo passwd -l root, fummeln mit /etc/shadow und so weiter), aber nirgendwo sagt das, was die beste/vernünftigste Art ist, es zu tun. Ich habe Sudo passwd -l root aber ich habe Ratschläge gesehen, die besagen, dass dies Auswirkungen auf Init-Skripte haben kann und dass es nicht so sicher ist, wie es aussieht, da es immer noch nach einem Passwort fragt, wenn Sie versuchen, sich anzumelden, anstatt den Zugriff zu verweigern. Was wäre der Weg, um das zu erreichen?

BEARBEITEN: Zur Verdeutlichung ist dies für die lokale Anmeldung als root; Ich habe die Remote-Anmeldung über SSH bereits deaktiviert. Beim Versuch, sich über SSH als root anzumelden, werden Sie dennoch zur Eingabe des root-Passworts aufgefordert (was immer fehlschlägt). Ist das schlecht?

31
Ben Hymers

Für mich ist es fraglich, ob das Deaktivieren von root die potenziellen Probleme wert ist. Ich habe noch nie einen so konfigurierten Server getestet. Ich bevorzuge es, nur 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-Zugriff ssh, indem Sie /etc/ssh/sshd_config Bearbeiten, um Folgendes zu enthalten:

PermitRootLogin no

Wenn Sie mit /etc/shadow, chsh -s /bin/false root Spielen, können Sie alles mit einer einfachen bootfähigen CD/Thumbdrive rückgängig machen.

Update gemäß 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 Installationsstandard zurückzusetzen:

Sudo usermod -p '!' root
36
jscott

Ich gehe davon aus, dass Sie sich über ssh auf die Remote-Anmeldung beziehen. Fügen Sie die folgende Zeile zu /etc/ssh/sshd_config:

PermitRootLogin no

und starten Sie den SSH-Dienst neu

Sudo service ssh restart

Das sollte den Job erledigen 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).

23
kynan

Die Hauptfrage wurde mehrmals beantwortet, die sekundäre jedoch nicht. SSH fordert nach der 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. Aus Sicherheitsgründen würde ich, wenn Sie root über SSH deaktiviert haben, auch ein Bruteforce-Erkennungsprogramm (wie fail2ban) einrichten und es so einstellen, dass jemand, der versucht, sich als root anzumelden, diese blockiert versuchen Sie zusätzliche Angriffe.

5
Ryan Gooler

Das Ersetzen des verschlüsselten Passworts durch ein * in/etc/shadow (zweites Feld nach dem ersten ':') ist meiner Meinung nach 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 von außen zugängliche Dienst sein, der möglicherweise die Root-Anmeldung ermöglicht, sodass diese Tür verschlossen ist.

Um dies weiter einzuschränken, können Sie so etwas wie fail2ban installieren, das IP-Adressen nach mehreren erfolglosen Anmeldeversuchen für eine bestimmte Zeit verbietet.

2
Sven

JR et al.

Ihre AllowUsers haben mich zu diesem 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 Neustart

Mein Problem wurde gelöst. Dank an alle.

1
jeff

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 ändern Sie sie zurück, wenn es irgendwelche seltsamen Nebenwirkungen gibt.

0
Julien Vehent

Betreff: Sicherheit.

IMHO gibt es nur so viel, was Sie tun können, was die Sicherheit betrifft, ohne die Box abzuziehen, sie vom Netzwerk zu trennen und sie in eine 3 "dicke kugelsichere Hartmetall-Stahlbox zu schweißen.

Stellen Sie sich das so vor - wenn 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 nur mein eigener Benutzer über ssh anmelden. Dies kann redundant sein, da ich in meinem Fall ohnehin nur EINEN Nicht-Root-Benutzer erstelle.

Leider sind, wie andere schon oft gesagt haben, alle Wetten AUS, sobald jemand physischen Zugang zur Box erhält!

Zertifikatsaustausch für SSH-Login? Hmmmm. . . . hört sich gut an. Wie machst du das?

Jim (JR)

0
Jim