GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que SELinux ? Pourquoi voudriez-vous peut-être le désactiver ?

Si vous connaissez déjà SELinux et que vous êtes parfaitement conscient des risques que vous courriez en le désactivant, voici comment procéder.

  • Ouvrez le fichier de configuration /etc/selinux/config ou son lien symbolique /etc/sysconfig/selinux .
  • Changer la ligne de SELINUX=enforcing à SELINUX=disabled
  • Redémarrez le système ou utilisez setenforce 0 pour invoquer le changement immédiatement.

Lisez cet article pour des informations plus détaillées sur ce qu'est SELinux, comment désactiver SELinux et pourquoi ce n'est pas toujours une bonne idée de désactiver SELinux.

Qu'est-ce que SELinux ?

SELinux signifie Security Enhanced Linux. Il s'agit d'un mécanisme d'étiquetage pour fournir une haute sécurité aux fichiers et autres objets du système contre les processus non autorisés et également les processus autorisés qui n'ont pas ou n'ont pas besoin d'un tel accès pour éviter les abus.

On peut installer SELinux dans n'importe quel système Linux existant. Cette utilisation ne sera pas utile pour tous les utilisateurs individuels mais essentielle pour les systèmes de serveur.

Sa rigidité de sécurité peut être comprise par le fait qu'avec SELinux, le processus appartenant à la racine, même s'il est piraté, ne peut pas accéder aux fichiers qui n'y ont pas accès.

Comment fonctionne SELinux ?

SELinux applique la politique d'accès qui sera suivie par le noyau chaque fois qu'un processus a besoin d'accéder à un fichier ou à un objet. Dans le cadre de la politique, chaque fichier ou processus se voit attribuer une étiquette. Ainsi, lorsqu'un processus avec une étiquette a:a:a doit accéder au fichier (avec l'étiquette b:b:b), les deux doivent correspondre (sauf pour la configuration MLS dans laquelle la hiérarchie sera suivie conformément à la politique).

En savoir plus sur l'étiquetage ici et ici.

Notez que la désactivation de SELinux sur un serveur ramène de nombreuses menaces au système. Assurez-vous que vous ne le faites pas pour des raisons de commodité ou de contenu spéculé dans les articles, mais pour une raison valable.

Inconvénients de la désactivation de SE Linux

Lors de la désactivation de SELinux, chaque processus aura accès aux fichiers comme dans un système Linux normal. L'abus de droits ne peut être empêché. Un processus piraté peut accéder à des fichiers secrets qui ne sont pas nécessaires à son objectif initial et peuvent être utilisés à mauvais escient. C'est un problème sérieux.

Si un processus avec l'autorisation root est compromis, l'ensemble du système est en danger. Ce que SELinux fournit, c'est une sécurité plus rigide. En savoir plus sur les risques ici.

Pourquoi voudriez-vous désactiver SELinux s'il s'agit d'une fonctionnalité de sécurité ?

Parce que souvent, les fonctionnalités de sécurité extrêmes deviennent pénibles. Il en va de même pour SELinux.

Parce qu'il est beaucoup trop strict sur quels fichiers sont accessibles par quel processus, vous aurez du mal à faire fonctionner correctement divers services sur votre serveur.

Par exemple, si les fichiers dans /var/lib appartiennent à root et avec des autorisations de fichier 000, le programme qui nécessite ces fichiers ne s'exécutera pas.

De plus, lorsque vous déboguez une application, SELinux devient pénible. Le désactiver vous évite des maux de tête.

Astuce :utilisez le mode permissif avec SELinux

Une pratique relativement meilleure consiste à mettre SELinux en mode permissif avant de déployer votre application ou de déboguer votre problème et de le réactiver après cela.

Le mode permissif fonctionne comme si SELinux était désactivé mais en même temps, il se connectera comme si SELinux était activé.

De cette façon, vous pouvez savoir à partir des journaux /var/log/messages ce qui se passerait avec votre application si SELinux était activé. Vérifiez les messages de refus.

Notez que votre système n'est pas protégé par les politiques SELinux en mode permissif.

Désactiver SELinux dans CentOS et les autres distributions Linux

Vous pouvez désactiver SELinux en procédant comme suit. Bien que ces commandes soient testées dans CentOS, elles devraient fonctionner parfaitement dans Fedora et Red Hat Linux.

Je pense que les mêmes étapes devraient également s'appliquer aux autres distributions Linux. Si ce n'est pas le cas, veuillez nous le faire savoir dans la section des commentaires.

Tout d'abord, vérifiez le statut SELinux en utilisant sestatus commande.

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

Si SELinux est activé et en mode application, vous pouvez le désactiver en suivant ces étapes.

Étape 1 : Ouvrez le fichier de configuration /etc/selinux/config ou son lien symbolique /etc/sysconfig/selinux

Étape 2 : Changez la ligne de SELINUX=enforcing à SELINUX=disabled .

Étape 3 : Redémarrez le système ou utilisez setenforce 0 pour changer le mode SELinux pour la session en cours et le changement sera actif au redémarrage.

Remarque :Pour mettre SELinux en mode permissif, modifiez le fichier de configuration pour avoir SELINUX=permissive

Comment réactiver SELinux ?

Comme mentionné précédemment, vous souhaiterez peut-être réactiver SELinux après avoir débogué votre problème ou déployé votre application. En fait, désactiver temporairement SELinux est peut-être la meilleure idée.

Vous pouvez réactiver SELinux en annulant les modifications que vous avez apportées précédemment.

Étape 1 : Ouvrez à nouveau le fichier /etc/selinux/config ou le fichier /etc/sysconfig/selinux.

Étape 2 : Cette fois, changez la ligne en SELINUX=enforcing

Étape 3 : À la fin, redémarrez le système ou utilisez la commande setenforce 1 pour appliquer SELinux immédiatement.

J'espère avoir clarifié certaines choses à propos de SELinux, comme le mode permissif par rapport à l'application, la désactivation de SELinux, etc.

Si vous avez des questions ou des suggestions pour améliorer cet article, veuillez nous en informer dans la section des commentaires ci-dessous. Partagez également votre avis sur la désactivation de SELinux.


Linux
  1. Pourquoi vous devez supprimer ifconfig pour ip

  2. Qu'est-ce qu'un TAM et pourquoi voudriez-vous en être un ?

  3. Quel est le niveau d'exécution actuel du système Linux ?

  4. Pourquoi Deis et qu'est-ce que c'est ?

  5. Qu'est-ce qu'un espace de noms UTS ?

11 raisons pour lesquelles vous devriez passer à Linux

Qu'est-ce qu'un Homelab et pourquoi devriez-vous en avoir un ?

Qu'est-ce que Zsh ? Devriez-vous l'utiliser ?

Qu'est-ce que la fonctionnalité de la communauté ONLYOFFICE et pourquoi devriez-vous l'utiliser ?

Qu'est-ce que le système de fichiers Linux ? Guide facile

SystemD - A quoi sert SystemD ?