Hardened Gentoo/de

Gehärtetes Gentoo (Hardened Gentoo) ist ein Gentoo Projekt, das mehrere zusätzliche Sicherheitsdienste zusätzlich zur gut bekannten Gentoo Linux Installation bietet. Obwohl jeder Dienst separat ausgewählt werden kann. ermöglicht Gentoo Hardened mehrere Risikominderungs-Optionen in der Toolchain. Unterstützt werden PaX, grSecurity, SELinux, TPE und weitere.

Ob Sie einen mit dem Internet verbundenen Server oder eine flexible Workstation betreiben, wenn Sie mit unterschiedlichen Bedrohungen umgehen, wollen Sie vermutlich Ihr System weiter härten als nur automatisch die letzten Sicherheitspatches anwenden. Ein System härten bedeutet dass Sie zusätzliche Gegenmassnahmen gegen Angriffe oder andere Risiken ergreifen und das ist normalerweise eine Kombination von Aktivitäten die Sie am System durchführen.

In Gentoo Hardened sind mehrere Projekte aktiv, die Ihnen helfen Ihr Gentoo System noch härter zu machen durch ...
 * Aktivierung bestimmter Optionen in der Toolchain (Compiler, Linker, ...) wie zum Beispiel der Zwang nach positionsunabhängigem Code (eng.: position-independent executables (PIE)), Stack Smashing Protection und Kompilierzeit-Pufferüberprüfungen.
 * Aktivierung der PaX Erweiterung im Linux Kernel, das zusätzliche Schutzmassnamen wie Adressplatz Layout Randomisierung und nicht ausführbaren Speicher bietet.
 * Aktivierung der grSecurity Erweiterung im Linux Kernel, einschliesslich zusätzlicher chroot Beschränkungen, zusätzlicher Prüfungen, Prozessbeschränkungen, usw.
 * Aktivierung der SELinux Erweiterungen im Linux Kernel, die eine verbindliche Zugriffskontrollsystem-Erweiterung der Standard Linux-Berechtigungseinschränkungen bieten.
 * Aktivierung der integritätsbezogenen Technologien, wie die Integrity Measurement Architecture, um Systeme belastbar gegen Sabotage zu machen.

Selbstverständlich schliesst das die notwendigen Userspace-Dienstprogramme mit ein, um diese Erweiterungen handzuhaben.

Zu einem gehärteten Profil (Hardened Profile) wechseln
Wählen Sie ein gehärtetes Profil, so dass das Paket Management auf härte Weise gehandhabt wird.

Durch die Wahl des gehärteten Profils werden bestimmte Paketmanagement-Einstellungen (masks, USE-Flags, etc.) zum Standard für Ihr System. Dies betrifft viele Pakete, eingeschlossen die Toolchain. Die Toolchain wird zum Bau/ zur Kompilierung Ihrer Programme verwendet und schliesst folgendes ein: Die GNU Compiler Collection (GCC), binutils (linker, etc.) und die GNU C library (glibc). Durch einen re-emerge der Toolchain treten diese neuen Standard-Einstellung für die Toolchain in Kraft. Dies gestattet es alle zukünftigen Paket-Kompilierungen auf gehärtete Weise durchzuführen.

Die oben stehenden Befehle bauen GCC erneut, es kann nun dazu verwendet werden gehärtete Software zu kompilieren. Stellen Sie sicher, dass die gehärtete Option für GCC ausgewählt ist.

In the example output above, the hardened GCC profile is the one without a suffix. If you want to disable PIE or SSP, choose the relevant hardenedno(pie|ssp) or both, hardenednopiessp. The vanilla profile is of course the one with hardening disabled. Finally source your new profile settings:

If you use the "prelink" package, remove it, since it isn't compatible with the hardened profile:

Now you can reinstall all packages with your new hardened toolchain:

Install hardened kernel sources, so that the kernel will *manage your running system* in a hardened way (especially using PaX):

Now configure/compile the sources and add the new kernel to your boot manager (ie., GRUB).

Hardened Gentoo/Grsecurity chroot
If you want to chroot to a copied environment where the CONFIG_GRKERNSEC_CHROOT is enabled you must use the cd grub and change the root(cd) kernel(cd) initrd(cd) setting to from (cd) to (hdx,y).

Now you can install the grub environment.

Per Package Hardening Settings
Changing the GCC profile to deal with specific packages can be a pain. A way to avoid this is to set per-package C(XX)FLAGS using package.env. Create the file and add to that:

To allow for disabling PIE, create and add to :

Finally add the package you want to disable either PIE or SSP for to and the relevant, for this example  is used here:

Siehe auch
For more information, check out the following resources:
 * Gentoo Hardened Project
 * Gentoo Hardened SELinux Project
 * Project:Hardened/Grsecurity2_Quickstart
 * Project:Hardened/PaX_Quickstart

Externe Ressourcen

 * http://www.rockfloat.com/howto/gentoo-hardened.html#kernel