Gentoo Logo

[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


3. Installer les outils SELinux

Table des matières :

3.a. Installer les paquets SELinux

Installez les bibliothèques, les utilitaires et les politiques de base. La version des politiques peut éventuellement être ajustée, référez-vous à la vue d'ensemble de SELinux pour plus d'informations sur les versions des politiques. Enfin, chargez les politiques.

Exemple de code 1.1 : Installer les paquets et les politiques de base de SELinux

# emerge checkpolicy policycoreutils
# FEATURES=-selinux emerge selinux-base-policy

Note : La partie « FEATURES=-selinux » est nécessaire, pour cette ligne d'installation uniquement, la première fois uniquement. Elle sert à désactiver la fonctionnalité selinux de Portage qui a besoin de policycoreutils et de selinux-base-policy pour fonctionner.

3.b. Choisir le type de politique

Depuis la version 2006.1, les utilisateurs ont maintenant la possibilité de choisir entre une politique stricte ou une politique ciblée.

Avec la politique stricte, tous les processus sont confinés. Si vous êtes familier avec la politique Gentoo SELinux datant d'avant 2006.1, cette politique était stricte. La politique stricte est suggérée pour les serveurs. Gentoo ne supporte pas la politique stricte sur un système de bureau.

La politique ciblée est différente, seuls les processus avec un accès au réseau sont confinés. Gentoo ne supporte les stations de travail qu'avec la politique ciblée. Cette politique peut aussi être utilisée sur des serveurs.

Éditez le fichier /etc/selinux/config pour définir le type de politique.

Exemple de code 2.1 : Contenu de /etc/selinux/config

# This file controls the state of SELinux on the system on boot.

# SELINUX can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=permissive (Vous devez mettre permissive pour le reste de l'installation.)

# SELINUXTYPE can take one of these two values:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=strict (Choisissez strict ou targeted.)

Note : N.D.T. : Ce fichier contrôle l'état de SELinux au démarrage du système. La variable SELINUX peut prendre une des trois valeurs : « enforcing » (la politique de sécurité est respectée), « permissive » (des avertissements sont affichés au lieu de respecter la politique) ou « disabled » (la politique n'est pas chargée). La variable SELINUXTYPE peut prendre une de ces deux valeurs : « targeted » (politique ciblée, seuls les démons ciblés sont protégés) ou « strict » (protection SELinux totale).

3.c. Installer des paquets modifiés pour SELinux

Plusieurs paquets systèmes contiennent des modifications pour SELinux. Ces modifications fournissent diverses fonctionnalités supplémentaires pour SELinux, comme par exemple l'affichage du contexte des fichiers.

Exemple de code 3.1 : Réinstaller des paquets

# emerge sysvinit pam coreutils findutils openssh procps psmisc shadow util-linux python-selinux

Note : S'il s'avère que vous ne puissiez plus utiliser Portage à cause d'une erreur telle que : « !!! 'module' object has no attribute 'secure_rename' or AttributeError: 'module' object has no attribute 'getcontext' », c'est un bogue de Portage dû à l'absence de python-selinux. Installez-le comme ceci pour résoudre le problème : « FEATURES=-selinux emerge python-selinux ». Consultez les commentaires du bogue #122517 pour plus d'informations.

D'autres paquets disposent de modifications pour SELinux, mais ils sont optionnels. Les paquets suivants doivent être réinstallés s'ils sont déjà présents sur le système, afin que les modifications concernant SELinux soient appliquées :

  • app-admin/logrotate
  • sys-apps/fcron
  • sys-apps/vixie-cron
  • sys-fs/device-mapper
  • sys-fs/udev
  • sys-libs/pwdb

Note : Fcron et vixie-cron sont les seuls démons cron à supporter SELinux.

3.d. Installer les politiques de sécurité applicatives

À l'avenir, lorsque vous installerez un paquet, la politique de sécurité correspondante sera installée avant, en tant que dépendance. Mais pour le moment, dans notre processus de conversion du système, il nous reste à installer les politiques applicatives des paquets que l'on a déjà installés. Selinux-base-policy comprend déjà les politiques de la majorité des paquets du profil system.

Regardez dans le répertoire /usr/portage/sec-policy, chaque entrée correspond à une politique. La convention de nommage est selinux-NOMPAQUET, où NOMPAQUET est le nom du paquet auquel est associée la politique de sécurité. Par exemple, le paquet selinux-apache est le paquet qui contient la politique de sécurité SELinux pour le paquet net-www/apache. Installez chacune des politiques désirées et chargez-les. Si vous installez une station de travail, n'oubliez pas le paquet selinux-desktop.

Exemple de code 4.1 : Exemple d'installation des politiques de sécurité pour Apache et BIND

# ls /usr/portage/sec-policy
(Liste des répertoires...)

# emerge selinux-apache selinux-bind

3.e. Étiqueter les systèmes de fichiers

Maintenant, étiquetez les systèmes de fichiers. Cela assigne une étiquette de sécurité à chaque fichier contenu dans le système de fichiers. Il est important de garder ces étiquettes dans un état cohérent.

Exemple de code 5.1 : Étiqueter les systèmes de fichiers

# rlpkg -a -r

Attention : Un bogue connu dans les anciennes versions de Grub empêche ce dernier de lire les liens symboliques qui ont été étiquetés. Utilisez au minimum la version 0.94 de Grub et réinstallez-le dans le secteur d'amorçage (MBR) pour vous assurez d'utiliser la bonne version du code. Au cas où... vous avez bien un LiveCD sous la main, n'est-ce pas ?

Exemple de code 5.2 : Réinstaller Grub dans le secteur d'amorçage

# grub

grub> root (hd0,0) (Votre partition contenant /boot.)
grub> setup (hd0) (Où sera installé Grub. Ici dans le secteur d'amorçage.)

3.f. Redémarrage final

Redémarrez, connectez-vous, puis ré-étiquetez tous les fichiers encore une fois pour vous assurez que tous les fichiers sont étiquetés (certains fichiers ont pu être créés pendant l'arrêt et le redémarrage du système).

Exemple de code 6.1 : Ré-étiquetez

# rlpkg -a -r

Note : Il vous est fortement suggéré de vous inscrire à la liste de diffusion gentoo-hardened. Il y a généralement peu de trafic et les annonces concernant SELinux y sont diffusées.

SELinux est maintenant installé !


[ << ] [ < ] [ Sommaire ] [ > ] [ >> ]


Imprimer

Voir tout

Dernière mise à jour le 11 janvier 2008

Résumé : Installer les paquets et les politiques SELinux et étiqueter les systèmes de fichiers.

Chris PeBenito
Author

Camille Huot
Traducteur

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.