














| 
|  Ausdruck von: fsub.schule.de/wissen/programm/ggrub.htm


grub - Der neue Bootloader
Zitat
von http://fsub.schule.de/wissen/programm/ggrub.htm
Die offizielle Anleitung zu grub
( info grub)
ist sehr ausführlich, setzt aber ein Grundverständnis
der Materie
voraus. Wer in der Materie steckt und für die anderen
schreibt, merkt
oft nicht, dass kleine aber entscheidende Angaben fehlen. Zum Beispiel,
mit welcher Taste man beim Start vom grub-Menü
(=Auswahlmöglichkeiten)
zur leistungsstarken grub-Kommandozeile (=Eingabemöglichkeit)
wechseln
kann.
Diese Zeilen sind nur ein
kleiner Einstieg, geboren aus dem Kampf, DOS - das auf der dritten
Festplatte lag - aus dem grub-Menü heraus starten zu
können. Die von
yast2 eingerichtete Lösung funktionierte nicht. Die weiteren
Hinweise
in den Anleitungen (LILO nach Maß (AdminHandbuch 8.1, S.100)
und info grub
(Booting: ->OS-specific_Issues: ->DOS/Windows))
führten nicht zum gewünschten Erfolg.
Hinweis: Ein Linkliste zu grub finden Sie auf unserem Server unter
InternetFundstellen (Links)
->Systemsoftware ->grub
Grundsätzliches zum Start eines Betriebssystems
Um einen Computer in Betrieb zu nehmen, muss ein Betriebssystem geladen
werden. Diese Aufgabe übernehmt ein Ladeprogramm, das man Bootloader nennt.
Da Betriebssysteme unterschiedlich sind, benötigt jedes
Betriebssystem
ein eigenes Ladeprogramm. Aus diesem und aus anderen Gründen
kann man
einen Computer nicht so konstruieren, das mit dem Einschalten ein
bestimmtes Ladeprogramm aktiv wird.
Das erste Programm, das beim Einschalten des Rechners aktiv wird, ist
das sogenannte Basic
Input-Output-System, kurz BIOS
genannt.
Das BIOS erwartet im ersten Sektor eines Speichermediums (Diskette,
CD-ROM oder Festplatte) ein Ladeprogramm.
Im Umgebungsspeicher des BIOS kann eingestellt werden, in welcher
Reihenfolge die Speichermedien angesprochen werden sollen.
Das Hauptproblem beim Laden eines Betriebssystems ist, dass das
Ladeprogramm wissen muss, wie bei einem speziellen Betriebssystem die
Speicherung der Dateien organisiert (= Typ des Dateisystems).
grub ist ein internationales Projekt, dass die Voraussetzungen
dafür
schaffen will, dass in Zukunft mit einem Bootloader wie grub alle
Betriebssysteme direkt, ohne eigenes Ladeprogramm geladen und gestartet
werden können.
grub muss daher lernen, wie die Dateisysteme der unterschiedlichen
Betriebssysteme organisiert sind.
Für die Fälle, in denen grup (noch) Nichts
über den speziellen Dateityp
eines Betriebssystem weiß, muss grub in der Lage sein, den
speziellen
Bootloader dieses Betriebssystems zu laden, damit dieser Bootloader
dann die Arbeit übernehmen kann, das gewünschte
Betriebssystem zu
laden.
Wenn ein Bootloader einen weiteren Bootloader lädt, dann
spricht man vom "Ketten-Laden", chain-loading.
Zur Zeit (SuSE-Linux 9.0) kennt grub folgende Dateisysteme:
Oben wurde bereits erwähnt, dass das BIOS im ersten Sektor
eines
Speichermediums ein Ladeprogramm erwartet. Für ein
leistungsfähiges
Ladeprogramm ist dieser Platz viel zu klein, zumal am Ende dieses
Sektors auch noch die Partitionstabelle und die beiden
BootPartitionsBytes (BPB) untergebracht sind. (Die BootPartitionsBytes
"55 AA" identifizieren diesen Sektor als vom Typ "Bootsektor".) Aber es
gibt eine einfache Lösung:
grub besteht aus zwei Teilen, stage1
und stage2.
stage1 wird in diesen ersten Sektor des ersten Zylinders
hineingeschrieben und
stage2 dann in die weiteren Sektoren dieses ersten Zylinders eines
Speichermediums. (Diese weiteren Sektoren werden traditionell von
Betriebssystemen nicht genutzt.)
Der Ablauf ist nun ganz einfach:
Das BIOS lädt und startet stage1.
Und stage1 sorgt dann dafür, dass das eigentliche grub,
nämlich stage2 geladen und gestartet wird.
Nun haben Sie grub zur Verfügung, ein sehr flexibles Programm
mit einer
Vielfalt von Befehlen, um das gewünschte Betriebssystem so zu
starten,
wie Sie es für nötig halten.
Zum besseren Verständnis: Wenn Sie es gewohnt sind, dass Sie
den
Rechner einschalten und er lädt und startet so ganz
automatisch ohne
weiteres Zutun das Betriebssystem, dann hatten Sie bis jetzt nur ein
Betriebssystem.
Wenn aber das eine
oder das andere oder gar noch ein drittes Betriebssystem, vielleicht
von der Diskette oder von der dritten Festplatte geladen werden soll,
dann sind mehrere Maßnahmen notwendig. Deshalb ist grub ein
Programm,
das selber wieder über Kommandos gesteuert werden kann.
Um ein Betriebssystem mit Hilfe von grub zu starten, sind also im
allgemeinen mehrere Befehle notwendig:
Sie können
diese Befehle einzeln von Hand über die grub-Kommandozeile
eingeben.
Im allgemeinen werden Sie aber das grub-Menü
benutzen, dass Sie sich allerdings erst einmal selbst zurecht zimmern
müssen.
Für jedes Betriebssystem, dass Sie laden können
möchten, muss es einen MenüEintrag geben.
Unter diesem MenüEintrag sind die Kommandos hinterlegt, die
notwendig
sind, um das gewünschte Betriebssystem zu laden und zu
starten.
Bei dieser Arbeit hilft Ihnen zum Beispiel yast2 von SuSE. Das Ergebnis
dieser Bemühungen ist die Datei menu.lst,
die Sie dann im Verzeichnis /boot/grub
finden.
Sie können die Datei menu.lst auch von Hand editieren.
Manchmal müssen Sie dies sogar.
Und Sie können die hinterlegten Kommandos auch beim Start noch
- vor
der eigentlichen Ausführung - editieren. Das gibt Ihnen die
Möglichkeit
zu experimentieren, wenn einmal etwas nicht klappt.
Bei der Installation von grub im Startbereich des von Ihnen
gewünschten
Mediums (Diskette oder Festplatte), wird unter anderem angegeben, wo
die Datei menu.lst zu finden ist.
Mit welchen Optionen und Informationen grub installiert wurde,
können Sie in der Datei /etc/grub.config
finden:
root (hd0,1) install --stage2=/boot/grub/stage2 /boot/grub/stage1 d (fd0) /boot/grub/stage2 0x8000 (hd0,1)/boot/grub/menu.lst quit
Sie können erkennen,
dass das Stammverzeichnis root
auf der ersten Festplatte (hd0) in der zweiten Partition (hd0,1) zu
finden ist. (Die erste Partition ist (hd0,0).)
dass grub auf der Diskette installiert werden soll [d (fd0)] und
dass grub beim Start des Rechners die Datei menu.lst auf der ersten
Festplatte in der zweiten Partition im Verzeichnis /boot/grub suchen soll
[(hd0,1)/boot/grub/menu.lst].
Wichtig zu wissen: grub richtet sich in der Bezeichnung der Festplatten
nach der Reihenfolge, die das BIOS setzt. Und das BIOS richtet sich
nach der Boot-Reihenfolge, nicht nach der physikalischen.
Wenn Sie also Ihre Slave-Festplatte zum Boot-Laufwerk machen, dann ist
das - in der BIOS-Sprechweise - 0x80
(0x = hexadezimal 80) und somit in grub hd0.
Das heißt:
Wenn Sie Ihre Bootreihenfolge
ändern, dann müssen Sie eine neue grub-Bootdiskette
erstellen.
Auch etwas überraschend vielleicht
hd steht bei grub für
Hard Disk,
ganz gleich ob es eine SCSI-Festplatte (sonst: sda,
sdb, ... ) ist oder eine IDE-Festplatte (sonst: hda, hdb, ... )
Einzelne Problem beim Start mit grub
Um zwischen
grub-Menü und grub-Kommandozeile hin- und herzuschalten,
drücken Sie die Taste .
Das System bleibt hängen und nur der Text GRUB ist auf dem Bildschirm zu
sehen, wenn die in meinem BIOS eingestellte Bootreihenfolge nicht
stimmt:
Wenn grub auf der Diskette für (hd0) eingerichtet, dann muss
im BIOS diese Festplatte auch die erste sein (0x80).
Vertauschen Sie die Bootreihenfolge entsprechend, zum Beispiel die
IDE-Festplatten vor den SCSI-Festplatten.
Der von yast (SuSE-Linux 8.1) erzeugte Menüpunkt
für DOS sieht folgendermaßen aus:
title dos root (hd2,0) makeactive chainloader +1
Dieses Abfolge von Kommandos führt nicht zum Laden von DOS.
Die im
Vorspann erwähnten Hinweise, woran das liegen könnte,
führen auch nicht
zum Erfolg. Man experimentiert und erhält alle
möglichen
Fehlermeldungen, die aber für die Lösung des Problems
nicht hilfreich
sind. Die Lösung, die funktioniert, ist einfach:
title dos map (hd2) (hd0) root (hd2,0) makeactive chainloader +1
Diese und nur diese zusätzliche Zeile: map
(hd2) (hd0) bringt den Erfolg.
Man darf weder die Reihenfolge dieser beiden Festplattenangaben
verändern,
noch die zweite Zeile map (hd0)(hd2)
hinzufügen, wie in den Anleitungen angegeben.
Auch darf man root (hd2,0)
nicht verändern zu root
(hd0,0), wie in den Anleitungen vermerkt.
DOS will glauben, dass die Festplatte, von der es gebootet wird, die
erste ist. Das erreicht man scheinbar durch das Kommando map (hd2) (hd0). Das
heißt aber nicht, so muss man annehmen, dass die Zuordnung
der Festplatten wirklich vertauscht worden ist.
grub lässt sich sowohl im Startbereich einer Festplatte als
auch im
Startbereich einer Diskette einrichten. Das Booten von Diskette ist
unwesentlich langsamer. Um auf der sicheren Seite zu sein, empfiehlt es
sich daher, Bootdisketten zu verwenden.
Für das Erstellen von Bootdisketten gibt es mehrere
Möglichkeiten
Sie benutzen yast2
und lassen sich führen. Hierbei wird grub so
eingerichtet, dass sowohl stage2 als auch das Menü von der
Festplatte
geholt werden. Der Start ist praktisch genauso schnell als wenn grub im
Bootsektor einer Festplatte eingerichtet worden wäre.
Der angeblich einfachste Weg, um eine Bootdiskette mit
Menü zu erstellen, wird unter info
grub: ->FAQ: ->How to create a GRUB boot floppy with the
menu interface? beschrieben.
Sie müssen aber vorher die Menü-Datei erstellen.
Vielleicht gehen Sie erst den Weg über yast2
und erstellen danach mit Hilfe der nun bereits verhandenen menu.lst
diese Diskette als zweite, die auch dann noch funktioniert, wenn Sie
zum Beispiel auf (hd0,1) nicht mehr zugreifen können, wo ja
die menu.lst der ersten
Lösung liegt.
Oder Sie wählen den Weg, der unter info grub: ->Installation:
->Creating a GRUB boot floppy beschrieben ist. Das
dort genannte Verzeichnis /usr/share/grub/i386-pc
heißt unter SuSE-Linux 8.1 /usr/lib/grub.
Sie erzeugen damit eine reine Bootdiskette ohne Menü. Die
Kommandos müssen daher von Hand eingegeben werden.
Linkliste
Zitat von http://www.linuxforen.de/forums/showthread.php?t=136651
Diese
FAQ soll einen groben Überblick über die Seiten und
Projekte geben,
welche sich mit der Sicherheit unter Linux auseinander setzen.
Im Idealfall lassen sich Fragen direkt auf diesen Seiten
klären, so dass unnötiges Fragen im Forum vermieden
werden kann.
Ursprünglich wurde diese FAQ von cane
erstellt, an dieser Stelle ein großes DANKESCHÖN
an ihn!
Vorschläge
für neue Links bzw. Anregungen, Meldung toter Verweise etc.
bitte als
Antwort posten, ich werde diese Vorschläge prüfen und
ggf. übernehmen.
Die Posts werden dann wieder gelöscht.
Thomas.
Allgemeine Informationen
Allgemeine Informationen, HOWTOs und Anleitungen rund ums Thema
Sicherheit.
Informiert sein
Sich
über aktuelle Sicherheitslücken und neue
Angriffstechniken zu
informieren ist Pflicht, wenn man sich um die Sicherheit seines Systems
sorgt.
Online-Bücher / Tutorials
Firewall
Eine Firewall schützt das System oder ganze Netze vor
ungewollten Zugriffen und stellt im Falle von IPTables
umfangreiche Möglichkeiten zur Regelung der Zugriffe auf ein
System/Netzwerk und viele weitere Optionen zur Verfügung.
Virenscanner / Rootkit-Erkennung
Zwar
gibt es bisher kaum Viren, welche unter Linux lauffähig sind,
jedoch
kann ein Scan nie verkehrt sein. Ausserdem lassen sich so wunderbar
Windows-Partitionen oder Samba-Shares auf Windows-Viren und
-Würmer
untersuchen.
- chkrootkit - Durchsucht das System
nach Rootkits.
- Rootkit Hunter
- Sucht nicht nur nach Rootkits auf dem System, sondern auch nach
Backdoors und lokalen Sicherheitslücken durch diverse Tests
(für nähere
Informationen zu den Tests siehe die Projekt-Seite).
- Was ist ein Rootkit?
- antivir
- Für Workstations sowie Mailserver. Bei privater Nutzung
kostenfrei.
- f-prot
- Für Workstations. Bei privater Nutzung kostenfrei.
- BitDefender - Für
Workstations. Bei privater Nutzung als Freeware verfügbar.
- AVG Antivirus für Linux -
Für EMail- und File-Server. Kostenloses Testen ist
über eine einmonatige Freischaltung möglich.
Sicherheitsscanner
Sicherheitsscanner
werden dazu verwendet, Sicherheitslücken im eigenen System zu
lokalisieren um sie dann zu schließen. Unterschieden wird
zwischen Portscannern und Scannern, welche auch
nach bekannten Sicherheitslücken suchen.
- nmap - Der wohl bekannteste
Portscanner.
- Nessus
- Sicherheits-Scanner, sucht nach Schwachstellen auf entfernten
Systemen.
- HOWTO zu Nessus
- Saint - Sicherheits-Scanner, sucht
nach Schwachstellen auf entfernten Systemen.
- Nikto - Tool zu Scannen von
Webserver auf Sicherheitslöcher
HIDS (Host-based Intrusion Detection System)
Ein HIDS überwacht die Dateien eines Systems mittels Checksums
und warnt den Systemverwalter, wenn Änderungen vorgenommen
werden. So
lässt sich ein Einbruch zwar nicht verhindern, aber er wird
mit hoher
Sicherheit erkannt, wenn z.B. Binaries ausgetauscht oder Log-Dateien
manipuliert werden.
NIDS (Network-based Intrusion Detection System)
Ein
NIDS befindet sich entweder auf dem zu überwachenden System
oder, was
der Regelfall ist, zwischen einem lokalen Netz und einer Verbindung an
ein anderes Netz. Alle ankommenden Pakete werden untersucht und
ausgewertet. So können korrupte Pakete, Shellcode und bekannte
Exploits
erkannt und eine Warnung an den Systemverwalter gesendet werden.
Achtung: NIDS erkennen Angriffe zwar, verhindern diese jedoch nicht!
(siehe hierzu IPS)
IPS (Intrusion Prevention System)
Ein IPS ist generell das selbe wie ein NIDS, jedoch besitzt es die
Fähigkeit, erkannte Angriffe abzuwehren.
HyIDS (Hybrid Intrusion Detection System)
Ein
HyDS ist eine Kombination von HIDS und NIDS. Durch die vielseitigen
Überwachungsmöglichkeiten wird ein hohes
Sicherheitsniveau
gewährleistet.
- Prelude
- Ein System, weches modular, verteilt, ausgesprochen stabil und
performant aufgebaut ist. Es besitzt die Fähigkeit seine
Informationen
aus vielen Quellen zu beziehen (Snort, honeyd, Nessus Vulnerability
Scanner, Samhain, über 30 verschiedene Logs, und viele
weitere), was
Prelude besonders zuverlässig und flexibel in der
Angriffserkennung
macht.
VPN
Es gibt verschiedene VPN-Lösungen für Linux:
Verschlüsselung
Wer
sensible Daten speichern oder über unsichere Kanäle
austauschen will,
sollte seine Daten verschlüsseln, um sie vor ungewollten
Blicken zu
schützen.
Sicheres Löschen
Dass Dateien, wenn sie mittels rm
gelöscht werden, noch immer auf der Festlatte liegen und ohne
großen
Aufwand auszulesen sind, ist mittlerweile den meisten bekannt. Mit
Hilfe kleiner Tools ist es jedoch möglich, diese Dateien nicht
nur zu
löschen, sondern es auch nahezu unmöglich machen, die
gelöschten Daten
wiederherzustellen.
- shred - shred
ist in den coreutils enthalten
- wipe
Schutz vor Spam
Wer
kennt das nicht: Die Mailbox ist voll, jedoch ist keine einzige Mail
erwünscht, alles nur Werbung für Potenzpillen. Zwar
haben die meisten
Mail-Provider einen eigenen Spamschutz, doch auch dort
schlüpft die ein
oder andere Mail durch. Zeit, sich um eine eigene Lösung zu
kümmern.
Digitale Forensic
Was
tun wen auf dem eigenen Rechner eingebrochen wurde? Digital Forensic
Tools erlauben es die Wege des Angreifers nachzuvollziehen und die
ausgenutzte Sicherheitslücke offenzulegen.
Nützliche Helferlein
Dinge, die einem das Leben leichter machen.
Linux Distributionen die speziell auf Sicherheit ausgerichtet
sind
Wenn
man einen Server betreibt, der stark Angriff-gefährdet ist
oder man
auch einfach nur auf hohe Sicherheit Wert legt, sollte man keine
gewöhnliche Linux-Distribution verwenden, sondern eine
für die
speziellen Bedürfnisse angepasste und gehärtete
Distribution.
- SmoothWall
- Eine Firewall-Distribution, basiert auf GNU/Linux, Besonderheit: Kann
auch ohne Linux-Kenntnisse über eine WEB-GUI konfiguriert
werden
- IPCop - Eine Firewall-Distribution
- Forum zu IPCop
- Devil Linux - Ausgelegt
für Firewalls, Router, Gateways und Server
- SELinux - Von der NSA entwickelt
und in jeglicher Hinsicht auf Sicherheit getrimmt
- adamantix - Früher Trusted
Debian, stammt von Debian an, auf maximale Sicherheit
ausgerichtet
- trustix
- Sehr klein und sehr leicht up-zu-daten
- m0n0wall
- Eine Firewall-Distribution, basiert auf FreeBSD, enthält
einen Webserver und weitere Utilities
Systemerweiterungen, die Linux besser absichern
Diese
Systemerweiterungen sind meist Kernel-Patches, welche die
Systemsicherheit erhöhen und eine genauere Kontrolle
über die Vorgänge
im System bieten.
- rsbac
- "rule set based access control" Kernel Erweiterung
- Openwall
- grsecurity
- Ein komplettes Sicherheitssystem, welches viele Angriffstechniken
aushebelt und dem Systemverwalter genaue Kontrolle darüber
gibt, wer
was darf und welche Resourcen von welchem Prozess benutzt werden
dürfen.
- PAX - Modifiziert die
Speicherverwaltung in soweit, dass die meisten Overflow Techniken,
jedoch nicht alle, unwirksam werden.
An dieser FAQ haben mitgewirkt:
cane,
cytrox, RapidMax, m2k1, Thomas Engelke, Spike05, DarkSorcerer,
king_of_R&R, Sandmann_32, psy, langalaxy, Andislack, BSM,
Nazgul,
Hadsche
Diese FAQ wird verwaltet von:
Thomas
Geändert von Thomas (24.01.05 um 20:48
Uhr).

|