Artikel mit ‘recovery’ getagged

Bootvorgang - Recovery Modus unterbinden

Donnerstag, 28. August 2008

Der Bootloader Grub sollte nach der Installation abgesichert werden. Ubuntu bietet zudem nach einer Basisinstallation die Möglichkeit im sog. Recovery-Modus zu starten, was zur Folge hat das eine Rootshell ohne Passwortabfrage geöffnet wird. Jeder der physikalischen Zugang zu Ihrem Rechner hat, kann sich daher völlig frei im System bewegen, Programme installieren, Dateien löschen, oder verändern, etc.

Grub selbst bietet weiterhin eine Konsole, mit der sich die Einträge im Bootmenu verändern lassen. Dieser Zugang zur Grub-Konsole sollte daher ebenfalls abgesichert werden.

Sie können eine Passwort-Direktive zur Konfigurationsdatei von Grub hinzufügen.

Zunächst sollten Sie mittel des zu Grub gehörenden Befehls grub-md5-crypt ein verschlüsseltes Passwort erzeugen.

 grub-md5-crypt
Password:
Retype password:
$1$q6jIf$zguPFQEn.vQGMkXzBUcrN1

Im obigen Beispiel wird für das Passwort testnutzer der folgende verschlüsselte String erzeugt:
$1$q6jIf$zguPFQEn.vQGMkXzBUcrN1
Sie benötigen das erzeugte und verschlüsselte Passwort zur Konfiguration des Grub Bootloaders in der Datei
/boot/grub/menu.lst

Nachfolgend sehen Sie eine menu.lst, die exemplarisch eine typische Umgebung zeigt und zusätzlich kommentiert ist. Von mir auf Deutsch eingefügte Kommentare sind mit #>> gekennzeichnet.

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
#
#>> Das zu startende Betriebssystem in der Liste
#>> (Die Liste beginnt mit 0, in diesem Fall nehmen wir den zweiten Eintrag)
default		1

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
#
#>> Zeit bevor der per default gewählte Eintrag gestartet wird (in Sekunden)
timeout		120

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#
#>> Menu ausblenden (wird durch die Taste ESC angezeigt)
#>> WARNUNG: Falls Sie einen kurzen timeout wählen kommen Sie evtl.
#>> bei gleichzeitiger Nutzung von hiddenmenu nicht mehr
#>> in Ihre Bootauswahl!
hiddenmenu

# Pretty colours
#color cyan/blue white/blue
#
#>> Ein bischen bunt ;-)
color yellow/black red/black

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
#
#>> Das durch grub-md5-crypt verschluesselte Passwort
#>> In dieser Zeile wird durch das setzen des Passwortes ein Zugriff auf
#>> die von Grub bereitgestellte Konsole/Editor unterbunden.
#>> (Es wäre sonst u.a. möglich einen später folgenden lock Befehl zu umgehen)
password --md5 $1$q6jIf$zguPFQEn.vQGMkXzBUcrN1

#
# examples
#
# title		Windows 95/98/NT/2000
# root		(hd0,0)
# makeactive
# chainloader	+1
#
# title		Linux
# root		(hd0,1)
# kernel	/vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=f38f ro

## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,1)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
##>> lockalternative eingeschaltet
# lockalternative=true

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##
##
#>> Die folgenden Zeilen sind etwas gekürzt und können abweichen.
#>> Generell entsprechen die Einträge einer typischen Ubuntu 8.04 Installation

title		Virtual World Xen 3.2 / U 8.04.1, 2.6.24-19-xen
root		(hd0,1)
kernel		/boot/xen-3.2.gz
module		/boot/vmlinuz-2.6.24-19-xen root=UUID=f38f ro console=tty0
module		/boot/initrd.img-2.6.24-19-xen
quiet

title		Ubuntu 8.04.1, 2.6.24-19-generic
root		(hd0,1)
kernel		/boot/vmlinuz-2.6.24-19-generic root=UUID=f38f ro quiet splash
initrd		/boot/initrd.img-2.6.24-19-generic
quiet

#>>
### Zusätzlicher Schutz ###
#>> Ubuntu könnte im recovery-mode gestartet werden, daher erhält der
#>> folgende Eintrag einen lock Befehl und Passwortschutz.

title		Ubuntu 2.6.24-19-generic (recovery mode)
lock
password --md5 $1$q6jIf$zguPFQEn.vQGMkXzBUcrN1
root		(hd0,1)
kernel		/boot/vmlinuz-2.6.24-19-generic root=UUID=f38f ro single
initrd		/boot/initrd.img-2.6.24-19-generic

title		Ubuntu Speichertest
root		(hd0,1)
kernel		/boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		___________________________________________________
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
#
#>> Ein zusätzlich installiertes Windows (ggf. auch durch lock zu schützen)
#
title		Microsoft Fenster 5.1 (beta) Media Center
root		(hd0,0)
savedefault
makeactive
chainloader	+1

Download:
menu.example.lst
Hinweis:
Bitte editieren Sie die entsprechende Datei auf Ihrem System, versuchen Sie nicht, die Beispieldatei auf Ihrem Computer zu verwenden. Die Datei enthält die UUID für das Dateisystem auf dem Rechner, auf dem Sie erzeugt wurde. Die UUID ist einmalig vom System vergeben und kann nicht ersetzt, oder durch die UUID anderer Rechner und Nutzer ausgetauscht werden.

Dieser Artikel bietet nur einen Beitrag zur Sicherheit. Bedenken Sie, dass Personen die Zugang zu Ihrem Rechner haben, weiterhin eine Live CD, oder ein anderes Betriebssystem von CD starten können.
Links:
http://wiki.ubuntuusers.de/UUID