Testé sur
Debian (Lenny, Squeeze)
Contexte
SELinux (Security Enhanced Linux) est un framework de contrôle d’accès obligatoire qui peut être utilisé pour durcir les systèmes basés sur Linux contre les attaques internes et externes. Il peut, par exemple, être utilisé pour spécifier quelles parties du système de fichiers sont accessibles à un démon tel qu’un serveur HTTP, de sorte que si un attaquant prend le contrôle du démon, le potentiel de dommages supplémentaires est limité.
Pour que cela fonctionne, SELinux doit être configuré avec une stratégie de sécurité bien adaptée aux besoins légitimes des programmes s’exécutant sur le système en question. Une politique trop restrictive entraînera l’échec des programmes, souvent sans indication évidente que SELinux est le coupable. Pour cette raison, lorsque vous tentez de dépanner un système inconnu, il est conseillé de vérifier si SELinux est activé à un stade précoce afin d’éviter un gaspillage d’efforts.
Méthode
Une façon de déterminer si SELinux est activé est au moyen de la commande getenforce
:
getenforce
Il y a trois résultats possibles :
Disabled
indique que SELinux est installé mais inactif. Cela ne devrait avoir aucun effet positif ou négatif sur le fonctionnement du système dans ce mode.
Permissive
indique que SELinux est actif, mais ne surveillera que les violations de la politique de sécurité et n’interviendra pas pour les empêcher. Vous pouvez observer des messages de journal supplémentaires dans ce mode, et le processus d’amorçage sera allongé s’il est nécessaire de réétiqueter le système de fichiers, mais sinon cela devrait avoir peu ou pas d’impact sur le comportement du système. Ce mode serait normalement utilisé pour faciliter la configuration initiale de SELinux, mais il n’y a aucune raison pour qu’il ne puisse pas être laissé de cette façon si l’objectif est l’audit plutôt que le durcissement.
Enforcing
indique que SELinux est actif et configuré pour empêcher les violations de la stratégie de sécurité. C’est le mode utilisé pour durcir un système une fois la configuration initiale terminée. En tant que tel, cela entraînera l’échec des programmes si la politique de sécurité est trop restrictive.
Alternatives
En utilisant la commande sestatus
Il est possible d’obtenir les mêmes informations et plus en utilisant la commande sestatus
:
sestatus
En utilisant cette méthode, l’état de SELinux (qu’il soit activé ou désactivé) est signalé séparément de son mode (permissif ou je ne sais pas si vous avez besoin de cette solution, mais je n’ai pas besoin de l’utiliser.