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.

Within Gentoo Hardened, several projects are active that help further harden a Gentoo system through:


 * Enabling specific options in the toolchain (compiler, linker ...) such as forcing position-independent executables (PIE), stack smashing protection and compile-time buffer checks.
 * Enabling PaX extensions in the Linux kernel, which offer additional protection measures like address space layout randomization and non-executable memory.
 * Enabling grSecurity extensions in the Linux kernel, including additional chroot restrictions, additional auditing, process restrictions, etc..
 * Enabling SELinux extensions in the Linux kernel, which offers a Mandatory Access Control system enhancing the standard Linux permission restrictions.
 * Enabling Integrity related technologies, such as Integrity Measurement Architecture, for making systems resilient against tampering

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

Switching to a Hardened profile
Select a hardened profile, so that package management will be done in a hardened way.

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 der Beispielausgabe oben ist das gehärtete GCC Profil jenes ohne Suffix. Wenn Sie PIE oder SSP deaktivieren möchten, wählen Sie entsprechend hardenedno(pie|ssp) oder beides, hardenednopiessp. Das Profil vanilla ist natürlich das eine mit deaktivierter Härtung. Abschliessend lassen Sie Ihre neuen Profileinstellungen neu einlesen:

Wenn sie das "prelink" Paket verwenden entfernen Sie es, weil es mit dem gehärteten Profil nicht kompatibel ist:

Nun können Sie alle Pakete mit Ihrer neuen, gehärteten Toolchain erneut installieren:

Installieren Sie die gehärteten Kernel Quellen, so dass der Kernel Ihr laufendes System auf gehärtete Weise verwaltet (und im Besonderen PaX verwendet):

Konfigurieren und kompilieren Sie nun die Quellen und fügen Die den neuen Kernel Ihrem Bootmanager hinzu (z.B. GRUB).

Gehärtetes 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 SELinux Project
 * Project:Hardened/Grsecurity2_Quickstart
 * Project:Hardened/PaX_Quickstart

Externe Ressourcen

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