ForumRunlevel 1 passwortgeschützt
Stefan Koch – Samstag, 23. April 2005 00:22 Uhr

Hallo,

unter http://www.pc-experience.de/wbb2/thread.php?threadid=8945 habe ich gelesen, wenn man im Runlevel 1 startet, kann kann man dort das root-Passwort (ohne es zu wissen) ändern.

Meine Frage ist, wie ich den Runlevel 1 mit einem Passwort schützen kann, oder ihn zu deaktivieren, sodass kein Passwort geändert werden kann ohne es zu wissen. Sonst hätte ja jeder unbefugte Zugriff.

Ich verwende SuSE Linux 9.2 Eval.

Danke!

3 Antworten
Florian L. Klein – Samstag, 23. April 2005 01:24 Uhr

So schlimm ist es auch wieder nicht. Auch mit Runlevel 1 ist das System sicher. Dabei werden nur “ein paar” Dienste weniger gestartet, je nach Konfiguration evtl. nur eine einzige Konsole (nach Passworteingabe) geöffnet, aber ohne Passwort Root-Rechte zu erlangen geht dabei genausowenig wie im normalen Betrieb.

Anders sieht es aus, wenn man per Bootparameter den Kernel anweist, anstatt “init” die Shell als ersten Prozess zu starten. Diese läuft dann mit Root-Rechten, ohne vorher ein Passwort abzufragen:

linux init=/bin/sh

Als Abhilfe kann man LILO, Grub oder Syslinux mit einem Passwort schützen oder so konfigurieren, dass man keine Bootparameter manuell übergeben kann. In falhcser Sicherheit sollte man sich dann nicht wiegen, da man immer noch über einen USB-Stick, eine CD oder eine Diskette booten kann – außer man verhindert dies im BIOS.

/.
DocSnyder.

burnstone – Samstag, 23. April 2005 09:57 Uhr

“außer man verhindert dies im BIOS.”

Auch das hilft nicht endgültig. Die meisten Mainboards erlauben das reseten des BIOS per Jumper (kleiner Stecker auf dem Mainboard).

Wenn das nicht geht, kann ein “Angreifer” immer noch die Festplatte ausbauen und bei einem anderen PC einbauen.

Völlig sicher ist das Zeugs also eigentlich nur, wenn die Kiste eingemauert ist. Aber das wäre dann wohl ein wenig übertrieben :)

Gruss

burnstone

Tobias Hunger – Samstag, 23. April 2005 14:30 Uhr

Man kann auch noch die Partitionen verschlüsseln, dann geht ohne Passwort beim
Start (egal welcher Runlevel, wo die Platte eingebaut ist und was man als
init-Programm mit gibt) gar nichts.

HackRevDD – Samstag, 23. April 2005 11:28 Uhr

Hmm. Das ist so nicht ganz richtig. Der Runlevel 1 ist (in den mir bekannten Distris, auch SuSE) der s.g. Maintenance-Runlevel. D.h. es werden (fast) keine Dienste gestartet. Im Runlevel 1 wird das Kennwort des Superusers (root) abgefragt und dann eine einzige Shell auf Konsole 1 gestartet, wenn das Kennwort korrekt war.

Ansonsten bleibt das System stehen und kann nur mit Hilfe von + gebootet werden.

Dieser Modus wird auch dann aufgerufen, wenn auf der Festplatte beim standardmäßigen Prüfen der Platte nicht automatisch korrigierbare Fehler auftreten.

Das was du meinst, ist das Ausnützen vom Init-Parameter über den Bootmanager, wenn dieser nicht durch ein Kennwort geschützt ist.

Zum Schützen des Bootmanagers verweise ich hier mal auf die Manpages zu lilo und/oder grub.

Grüße,
Dominik

Stefan Koch – Samstag, 23. April 2005 17:51 Uhr

Wie ist das mit dem Schützen des Bootmanagers? Man könnte doch auch noch von Diskette, etc. starten.

Peter Sütterlin – Sonntag, 24. April 2005 09:39 Uhr

Man könnte doch auch noch von Diskette, etc. starten.

Deswegen sollte man als erstes nach der Installation die Bootreihenfolge auf “Harddisk first” stellen. Wie bereits hier geschrieben wurde gibt auch das keine grosse Sicherheit, legt aber immerhin die Latte etwas höher. Daß das BIOS mit Passwort gschützt sein muß versteht sich dabei wohl von selbst…

Pit

Jan Kandziora – Montag, 25. April 2005 11:20 Uhr

Ich weiß zwar nicht, welche Distribution das so einrichtet, aber bei mir (SuSE9) muss ich auch in Runlevel S und 1 das Root-Kennwort angeben.

Aber um zu deiner Frage zurückzukommen: Um das System gegen einen lokalen Angreifer *dicht* zu machen, musst du die Festplatte verschlüsseln. Ansonsten kann man immer die Festplatte ausbauen,in einem anderen Rechner wiedereinbauen, und dort die Daten auslesen und ändern. Die einzige Alternative ist es, den Rechner in einen klimatisierten Tresor zu stellen und nur Zugriff per Netzwerk zuzulassen.

Jan