LINUX:SELinux

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu de Linux


But

SELinux (Security-Enhanced Linux) est une architecture de sécurité pour systèmes Linux qui permet aux administrateurs de mieux contrôler les accès au système. SELinux définit les contrôles d'accès pour les applications, processus et fichiers d'un système lancé par un utilisateur donné. Il ajoute une couche de sécurité différente au traditionnel modèle de sécurité appliqué aux fichiers: propriétaires/groupes et permissions d'accès (lecture, écriture et exécution). Son modèle est basé sur un ensemble de règles.


Nous n'allons pas expliquer en détail SELinux; de très nombreux sites le font bien mieux que nous. Je conseille de commencer par consulter quelques sites de base tels:

Il en existe bien d'autres.


Nous nous limiterons aux serveurs. Notre but est de présenter une approche pour arriver à mettre en route SELinux avec succès par étapes.


Installation

Sous Fedora, SELinux est installé de base; nous allons y ajouter divers paquets:

  • outils en lignes de commandes:
dnf install setools-console 
dnf install setroubleshoot-server
  • onglet additionnel à Coickpit:
dnf install cockpit-selinux
  • outils de développement afin d'ajouter un module personnel:
dnf install selinux-policy-devel selinux-policy-doc


Chaque service vient normalement avec ses règles SELinux mais certains paquets demandent une installation séparée, par exemple:

  • pour PHP:
dnf install php-pecl-selinux php74-php-pecl-selinux php80-php-pecl-selinux php81-php-pecl-selinux
  • pour Nagios:
dnf install nagios-selinux

Il faut chercher dans l'ensemble des paquets.


Configuration

Le fichier de configuration central est "/etc/selinux/config".

SELinux possède trois états:

  • disable : SELinux est désactivé, non opérationnel; c'est l'état que j'ai longtemps utilisé comme de nombreux autres administrateurs afin d'éviter les difficultés de mise en oeuvre.
  • permissive : SELinux est activé, les règles sont testées mais non appliquées. Si une règle n'est pas respectée, un message d'erreur est ajoutée aux journaux mais aucun blocage n'est effectué.
  • enforcing : SELinux est activé, les règles sont testées et appliquées. Si une règle n'est pas respectée, un message d'erreur est ajoutée aux journaux et le blocage s'ensuit.

Dans un premier temps, nous utiliserons l'état "permissive" afin de nous familiariser avec SELinux et de régler à notre aise les différents problèmes. Quand le système nous semblera stable, on passera à l'état "enforcing".


SELinux comporte trois niveaux de complexité:

  • minimum : Seuls les processus sélectionnés sont protégés.
  • targeted : Les processus des services sont protégés.
  • mls : Protection Multi Level Security.

Nous laissons le niveau par défaut "targeted" qui permet sur nos serveurs de surveiller les différents services. Notre but n'est pas de créer une politique de sécurité complète mais d'utiliser celles mise en place par la distribution et d'adapter certaines règles découlant d'imperfections ou de nos personnalisations de la configuration de base.


Activation

auditd








retour au menu de Linux