Gentoo durci

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Hardened Gentoo and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎italiano • ‎русский • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
Resources

Gentoo durci (Gentoo Hardened) est un projet Gentoo qui offre de nombreux services de sécurité qui s'ajoutent à l'installation bien connue de Gentoo Linux. Bien que chacune d'elles puisse être sélectionnée individuellement, Gentoo Hardened active plusieurs options d'atténuation du risque dans la chaîne des outils et prend en charge PaX, grSecurity, SE Linux, TPE et plus encore.

Que vous utilisiez un serveur Internet ou une station de travail flexible, lorsque vous devez faire face à de multiples menaces, vous souhaitez durcir votre système au delà de la simple application des correctifs de sécurité « Durcir » un système signifie que vous prenez des mesures additionnelles contre les attaques et contre d'autres risques. Cela se combine le plus souvent avec un ensemble d'actions que vous faites sur le système.

Dans Gentoo Hardened, plusieurs projets sont actifs pour aider à durcir un système Gentoo via :

  • L'activation d'options dans la chaîne des outils (compilateur, éditeur de liens ...) comme le forçage d'exécutables indépendants de la position (PIE), la protection de la pile contre les débordements et des vérifications de tampons en compilation.
  • L'activation des extensions PaX dans le noyau Linux, qui apporte des mesures de protection additionnelles comme la distribution aléatoire de l'espace mémoire et la mémoire non exécutable.
  • L'activation des extensions grSecurity dans le noyau Linux, y compris les restrictions additionnelles sur le changement de racine, des audits additionnels, des restrictions de processus, etc..
  • L'activation des extensions SELinux dans le noyau Linux, qui offre un système de contrôle d'accès obligatoire qui améliore les restrictions dues aux droits d'accès standards de Linux.
  • L'activation des technologies relatives à l'Intégrité comme l'architecture de mesure de l'intégrité, pour rendre les systèmes capables de récupérer des altérations consécutives aux attaques.

Bien entendu, ceci inclut les utilitaires de l'espace utilisateur nécessaires à la gestion de ces extensions.

Commuter vers un profil durci

Choisissez un profil durci, de telle manière que la « gestion des paquets » soit faite d'une manière durcie.

root #eselect profile list
root #eselect profile set [numéro du profil durci]
root #source /etc/profile

En choisissant le profil durci, certaines options de la gestion des paquets (masques, options de la variable USE, etc.) deviennent des valeurs par défaut pour votre système. Ceci concerne de nombreux paquets, y compris la chaîne des outils. Cette chaîne des outils est utilisée pour la construction/compilation de vos programmes, et comprend : la suite des compilateurs GNU (GCC), binutils (éditeur de liens, etc.), et la bibliothèque GNU C (glibc). En réinstallant la chaîne des outils, ces nouvelles options lui sont appliquées, pour permettre la future « compilation des paquets » d'une manière durcie.

root #emerge --oneshot gcc
root #emerge --oneshot binutils virtual/libc

Les commandes précédentes recompilent GCC, qui peut alors être utilisé pour des compilations durcies. Soyez sûr que l'option « hardened » est activée pour GCC.

root #gcc-config -l
[1] i686-pc-linux-gnu-4.5.3 *
[2] i686-pc-linux-gnu-4.5.3-hardenednopie
[3] i686-pc-linux-gnu-4.5.3-hardenednopiessp
[4] i686-pc-linux-gnu-4.5.3-hardenednossp
[5] i686-pc-linux-gnu-4.5.3-vanilla

Dans l'exemple de sortie ci-dessus, le profil durci (hardened) GCC est sans suffixe. Si vous voulez désactiver PIE ou SSP, choisissez le hardenedno(pie|ssp) ou les deux, hardenednopiessp. Le profil vanilla est bien-sûr celui avec le durcissement désactivé. Pour finir, « sourcez » vos nouveaux réglages de profil :

root #source /etc/profile

Si vous utilisez le paquet « prelink », retirez-le car il est incompatible avec le profil durci :

root #emerge --depclean prelink

Vous pouvez maintenant réinstaller tous les paquets avec votre nouvelle chaîne d'outils durcie.

root #emerge --emptytree --verbose @world

Installez les sources durcies du noyau (hardened) de telle manière que votre noyau *gère votre système en cours* d'une façon durcie (en particulier en ayant recours à PaX) :

root #emerge --ask hardened-sources

Maintenant configurez/compilez les sources et ajoutez le nouveau noyau à votre gestionnaire de démarrage (par exemple, GRUB).

Trucs et astuces

Hardened Gentoo/Changement de racine Grsecurity

Si vous voulez changer de racine vers un environnement copié où CONFIG_GRKERNSEC_CHROOT est activé, vous devez utiliser le grub du cd et changer les paramètres root(cd) noyau(cd) initrd(cd) de (cd) en (hdx,y).

Vous pouvez alors installer l'environnement grub.

Réglages de durcissement par paquet

Attention !
Cette méthode n'est pas prise en charge par Gentoo.

Changer le profil GCC pour des paquets spécifiques peut s'avérer compliqué. Une manière d'éviter cela est de fixer une option C(XX) par paquet via package.env. Créez le fichier /etc/portage/env/nossp et ajoutez-y ceci :

FILE /etc/portage/env/nosspDésactiver SSP
CFLAGS="${CFLAGS} -fno-stack-protector"
CXXFLAGS="${CXXFLAGS} -fno-stack-protector"

Pour permettre la désactivation de PIE, créez et ajoutez ceci à /etc/portage/env/nopie:

FILE /etc/portage/env/nopieDésactiver PIE
CFLAGS="${CFLAGS} -no-pie"
CXXFLAGS="${CXXFLAGS} -no-pie"
LDFLAGS="${LDFLAGS} -no-pie"
Note
GCC version 4.x utilise -nopie au lieu de -no-pie.

Pour finir, ajoutez le paquet pour lequel vous voulez désactiver soit PIE, soit SSP, à /etc/portage/package.env et au fichier /etc/portage/env/<filename> (où filename est le nom du fichier concerné), pour cet exemple, sys-libs/zlib est utilisé :

FILE /etc/portage/package.envDésactiver PIE pour sys-libs/zlib
sys-libs/zlib nopie

Voir aussi

Pour des informations complémentaires, consultez:

Ressources externes