[ << ]
[ < ]
[ 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
# SELINUXTYPE can take one of these two values:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=strict
|
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
# 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)
grub> setup (hd0)
|
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 ]
[ > ]
[ >> ]
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|