Frage Wie deaktiviere ich den Root-Login in Ubuntu?


Vor einiger Zeit habe ich ein Passwort vergeben, damit ich mich als root anmelden und ein paar Sachen erledigen konnte. Jetzt möchte ich die Root-Anmeldung deaktivieren, um die Sicherheit zu erhöhen, da ich meinen Dienst dem Internet zur Verfügung stellen werde. Ich habe mehrere Möglichkeiten gesehen, dies zu tun (sudo passwd -l rootherumspielen /etc/shadowund so weiter), aber nirgends sagt das, was der beste / vernünftigste Weg ist, es zu tun. Ich habe es getan sudo passwd -l root aber ich habe Ratschläge gesehen, 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, anstatt zu versuchen, den Zugang zu verweigern. Was wäre der Weg, um das zu erreichen?

EDIT: um zu klären, ist dies für lokale Anmeldung als root; Ich habe die Remote-Anmeldung per SSH bereits deaktiviert. Obwohl versucht wird, sich als root über SSH anzumelden, wird immer noch nach dem root-Passwort gefragt (was immer fehlschlägt). Ist das schlecht?


23
2017-09-04 14:08


Ursprung


Das Deaktivieren des lokalen Zugriffs für Root hat fast keinen Sicherheitsvorteil. Ein Benutzer mit physisch Zugang kann Pfennig deine Box auf unzählige Arten. - jscott
Punkt genommen. Sie müssen sich nicht als root anmelden, wenn Sie nur die Festplatten herausnehmen können. Ich würde immer noch gerne wissen, wie ich das root-Konto zurückbringen kann, bevor es geändert wurde, wenn auch nur aus Neugierde. - Ben Hymers
Siehe das Update zu meiner Antwort unten. Ich denke, ich verstehe jetzt, was du verlangst. - jscott
@jscott während der Deaktivierung von root bietet möglicherweise keinen Sicherheitsvorteil gegen ein Eindringen, aber keine Anmeldung als root bietet einen Sicherheitsschalter gegen die Zerstörung von sys mit verlegt rm Befehl oder so. Etwas, das ich auf die harte Art gelernt habe. Ja, man kann sich einfach nicht als root anmelden, aber das Deaktivieren ist aus Sicht des sys-Administrators sinnvoll. - codechimp


Antworten:


Es ist fraglich, dass die Deaktivierung 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".

Deaktiviere root ssh Zugriff durch Bearbeitung /etc/ssh/sshd_config enthalten:

PermitRootLogin no

Fummeln mit /etc/shadow, chsh -s /bin/false root Alles kann mit einer einfachen bootfähigen CD / Thumbdrive rückgängig gemacht werden.

Aktualisieren Sie nach Ihrem Kommentar:

Von hilfe.ubuntu.com: "Standardmäßig ist das Root-Account-Passwort in Ubuntu gesperrt". Bitte lesen Sie den Abschnitt" Erneutes Deaktivieren Ihres root-Kontos ". Um den Status des root-Kontos auf install-default zurückzusetzen, verwenden Sie den folgenden Befehl:

sudo usermod -p '!' root

28
2017-09-04 14:28



Kein System ist sicher, wenn ein Angreifer physischen Zugriff auf dieses System hat. Wenn Sie / etc / shadow bearbeiten können, was hindert Sie daran, / etc / ssh / sshd_config zu bearbeiten? - Sven♦
@SvenW: Genau. Deshalb diskutiere ich die Nützlichkeit, sicherheitshalber, sogar die Wurzel zu "deaktivieren". Beschränken Sie den Zugriff von root, ja. Deaktivieren Sie das Konto, nein. - jscott
Brilliant, danke! Genau das, was ich wollte. - Ben Hymers
sudo service ssh neustart ....... nachdem das getan wurde. - Enthusiast
Die referenzierte Hilfedatei gibt nun folgenden Befehl: sudo passwd -dl root - brandong


Ich nehme an, Sie beziehen sich auf Remote-Login über SSH. Fügen Sie die folgende Zeile hinzu /etc/ssh/sshd_config:

PermitRootLogin no

und der ssh-Dienst wird neu gestartet

sudo service ssh restart

Das sollte den Job erledigen und Sie können Ihr root-Konto so behalten, wie es ist (oder versuchen Sie es trotzdem zu deaktivieren, wenn Sie das für nötig halten).


21
2017-09-04 14:27



Tut mir leid, ich hätte sagen sollen, das ist für lokale Logins. Ich habe die Frage aktualisiert. - Ben Hymers


Die Hauptfrage wurde mehrmals beantwortet, die Sekundärfrage jedoch nicht. SSH fordert nach der Eingabe von root nach dem Deaktivieren als Sicherheitsfeature zur Eingabe des Kennworts auf. Es wird auch ausgelöst, wenn Sie versuchen, sich als lkjfiejlksji einzuloggen.

Dies soll verhindern, dass jemand einen Haufen von Nutzernamen testet, um herauszufinden, welche auf Ihrem System gültig sind. Aus Sicherheitsgründen, wenn Sie root über SSH deaktiviert haben, würde ich auch ein Bruteforce-Erkennungsprogramm (wie fail2ban) einrichten und es so einrichten, dass wenn jemand versucht, sich als root anzumelden, es blockiert weitere Attacken versuchen.


4
2017-09-04 21:08



Gute Antwort, danke! Ich habe fail2ban bereits eingerichtet, ich werde es so konfigurieren, dass es beim ersten Versuch blockiert, sich als root anzumelden, guter Rat. - Ben Hymers


Das Ersetzen des verschlüsselten Passwortes 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 Zertifikate, die wesentlich sicherer sind als passwortbasierte Logins.

In den meisten Fällen sollte SSH der einzige Service sein, auf den von außen zugegriffen werden kann, was möglicherweise eine root-Anmeldung ermöglicht, so dass diese Tür gesperrt wäre.

Um dies weiter einzuschränken, könnten Sie etwas wie fail2ban installieren, das IP-Adressen nach einer Reihe von fehlgeschlagenen Anmeldeversuchen für eine gewisse Zeit verbietet.


2
2017-09-04 14:28



Ich habe das Gefühl, "*" ist das gleiche wie "!", Wie die angenommene Antwort, also werde ich diese Antwort auch abstimmen. - Ben Hymers


JR et al.,

Deine AllowUser haben mich dazu geführt https://help.ubuntu.com/community/SSH/OpenSSH/Configuring

Sudo vi / etc / ssh / sshd_config

PermitRootLogin ja (geändert zu nein)

(Zeile am Ende der Datei hinzufügen) DenyUsers user1 user2

Speichern und beenden und dann

Sudo-Dienst SSH Neustart

Mein Problem wurde gelöst. Dank an alle.


1
2018-05-24 17:33





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. JEDOCH, da ich es nicht getestet habe, würde ich sagen, lasse eine Wurzelsitzung auf der Seite offen, teste sie, und wenn es irgendeinen seltsamen Nebeneffekt gibt, ändere es zurück.


0
2017-09-04 14:59





Re: Sicherheit.

IMHO gibt es nur so viel, was man sicherheitshalber tun kann, kurz bevor man die Box herauszieht, sie vom Netzwerk trennt und sie in eine 3 "dicke, kugelsichere Hartmetallbox schweisst.

Denken Sie so darüber nach - wenn Leute das Verteidigungsministerium, die CIA, das FBI und die Citibank hacken können - der Rest von uns Normalsterblichen kann nicht viel besser machen.

Betreff: SSH-Sicherheit.

Ich verbiete nicht nur Root-Zugriff über ssh, ich habe auch den Parameter "AllowUsers" auf meinen und nur meinen Benutzernamen gesetzt. Auf diese Weise kann sich niemand außer meinem eigenen Benutzer über ssh anmelden. Dies kann redundant sein wie in meinem Fall, ich erstelle nur EINEN Nicht-root Benutzer.

Leider, wie andere schon oft gesagt haben, sobald jemand physischen Zugriff auf die Box hat, sind alle Wetten OFF!

Zertifikataustausch für ssh Login? Hmmmm. . . . hört sich gut an. Wie machst du das?

Jim (JR)


0
2018-03-07 05:39