In diesem Artikel geht es darum, wie ich es geschafft habe, für Gentoo einen Hardenend Kernel zu kompilieren. Dazu bin ich den Anweisungen des Wikis bis zur Anweisung
emerge --ask hardened-sources
gefolgt. Und habe dann den Kernel mit einem
make menuconfig
konfiguriert. Die zu setzenden Optionen, kann man dem Wiki in der Pax Quickstart Anleitung und der Grsecurity2 Quickstart Anleitung entnehmen. Leider sind bei letzterer nicht die Menüpunkte aufgelistet unter denen man die Konfigurationsoptionen findet. Man kann sich aber behelfen, indem man im Konfigurationsmenü die Taste „/“ drückt, worauf eine Suchmaske für Kernel-Optionen erscheint, in der dann der entsprechende Begriff eingegeben werden kann.
In vielen Fällen benötigt man zum Booten ein initramfs, das zum Beispiel Module lädt, die zum Hochfahren des richtigen Systems gebraucht werden. Bei mir war dies der Fall, weil ich einen KVM Guest eingerichtet habe., der die virtio Module benötigt. Zum Erzeugen eines initramfs muss man das Tool genkernel benutzen. Dieses kann aber viel mehr als nur ein initramfs erzeugen, da es auch dazu gedacht ist, bei einem Rechner automatisch festzustellen, welche Kernel Module benötigt werden. Wenn man es also ohne Bedacht aufruft, kann man sich sehr leicht die mühsam zusammengestellte, manuelle Kernel-Konfiguration überschreiben. Deshalb verfährt man am Besten wie im Gentoo-Wiki zum initramfs beschrieben und kopiert zur Sicherheit zunächst die Kernel-Konfiguration nach /etc/kernels/ mit einem sinnvollen Namen wie z.B. kernel-config-x86-2.6.18-gentoo-r6. Dann kopiert man die Datei nach /usr/src/linux/.config und führt im entsprechenden Verzeichnis folgenden Befehl aus:
genkernel --no-clean --no-splash --install all
Hierbei möchte ich auf einen interessanter Artikel hinweisen, in dem gezeigt wird, wie sich das initramfs unter gentoo zur Einbindung von verschlüsselten root-Partitionen anpassen lässt. Wenn man soweit alles fertig eingerichtet hat, kann man loslegen mit der Konfiguration und Einrichtung von Grsecurity wie es beispielsweise in dem Forumsartikel zu RBAC detailliert erklärt wird.
Leave a Reply