Comment définir une politique sur SELINUX

Comment définir une politique sur SELINUX
L'une des principales raisons pour lesquelles les gens choisissent Linux est la sécurité qu'il offre. C'est pourquoi vous trouverez Linux sur les serveurs et les postes de travail professionnels. Selinux est l'une de ces fonctionnalités de sécurité de Linux. Il fait partie du noyau Linux standard depuis un certain temps, et toute distribution moderne a une prise en charge de Selinux.

Il existe plusieurs façons différentes de fonctionner SELINUX. Ceci est défini par la politique de Selinux. Dans ce guide, vous en apprendrez plus sur les politiques de Selinux et comment définir une politique dans SELINUX.

Présentation de la politique de Selinux

Allons un rapide aperçu de Selinux et de ses politiques. Selinux est un acronyme de «Linux amélioré par la sécurité."Il comprend une série de correctifs de sécurité au noyau Linux. Selinux a été initialement développé par la National Security Agency (NSA) et libéré à la communauté du développement open-source en 2000 sous la licence GPL. Il a été fusionné avec le noyau Linux principal en 2003.

Selinux fournit Mac (contrôle d'accès obligatoire) plutôt que le DAC par défaut (contrôle d'accès discrétionnaire). Cela permet la mise en œuvre de certaines politiques de sécurité qui ne seraient pas possibles de mettre en œuvre autrement.

Les politiques SELINUX sont des ensembles de règles qui guident le moteur de sécurité SELINUX. Une stratégie définit les types pour les objets de fichiers et les domaines pour les processus. Les rôles sont utilisés pour limiter l'accès aux domaines. Les identités des utilisateurs déterminent quels rôles peuvent être atteints.
Il y a deux politiques SELINUX disponibles:

  • Ciblé: la stratégie par défaut. Implémente le contrôle d'accès aux processus ciblés. Les processus s'exécutent dans un domaine confiné où le processus a un accès limité aux fichiers. Si un processus confiné est compromis, les dommages sont atténués. Dans le cas des services, seuls des services spécifiques sont placés dans ces domaines.
  • MLS: signifie la sécurité à plusieurs niveaux. Consultez la documentation Red Hat sur la politique SELINUX MLS.

Les processus qui ne sont pas ciblés fonctionneront dans un domaine non confiné. Les processus exécutés dans des domaines non confinés ont un accès presque complet. Si un tel processus est compromis, Selinux n'offre aucune atténuation. L'attaquant peut avoir accès à l'ensemble du système et des ressources. Cependant, les règles du DAC s'appliquent toujours aux domaines non confinés.
Ce qui suit est une courte liste d'exemples de domaines non confinés:

  • Domaine initrc_t: programmes init
  • Domaine Kernel_T: processus du noyau
  • Domaine non raffiné_t: les utilisateurs se sont connectés au système Linux

Modification de la politique de SELINUX

Les exemples suivants sont effectués dans les centos 8. Toutes les commandes de cet article sont exécutées en tant qu'utilisateur racine. Pour d'autres distros, veuillez consulter le tutoriel approprié sur la façon d'activer SELINUX.
Pour modifier une stratégie dans SELINUX, commencez par vérifier l'état de Selinux. L'état par défaut doit être activé SELINUX en mode «Application» avec la stratégie «ciblée».

$ SESSATUS


Pour modifier la stratégie SELINUX, ouvrez le fichier de configuration SELINUX dans votre éditeur de texte préféré.

$ vim / etc / selinux / config


Ici, notre cible est la variable «selinuxType» qui définit la stratégie SELINUX. Comme vous pouvez le voir, la valeur par défaut est «ciblée."

Toutes les étapes démontrées dans cet exemple sont effectuées dans Centos 8. Dans le cas de CentOS, la stratégie MLS n'est pas installée par défaut. Cela est également probablement le cas dans d'autres distros. Apprenez à configurer SELINUX sur Ubuntu ici. Assurez-vous d'abord d'installer le programme. Dans le cas d'Ubuntu, Centos, OpenSuse, Fedora, Debian et autres, le nom du package est «Selinux-Policy-MLS."

$ dnf installer seinux-policy-mls


Dans ce cas, nous passerons la stratégie à MLS. Modifier la valeur de la variable en conséquence.

$ SelinuxType = MLS

Enregistrer le fichier et quitter l'éditeur. Pour mettre ces changements en vigueur, vous devez redémarrer le système.

$ redémarrer

Vérifiez le changement en émettant ce qui suit.

$ SESSATUS

Modification des modes SELINUX

Selinux peut fonctionner en trois modes différents. Ces modes déterminent comment la politique est appliquée.

  • Appliqué: toute action contre la politique est bloquée et signalée dans le journal d'audit.
  • Permissive: toute action contre la politique n'est signalée que dans le journal d'audit.
  • Désactivé: Selinux est désactivé.

Pour modifier temporairement le mode dans selinux, utilisez la commande setenforce. Si le système est redémarré, le système reviendra au paramètre par défaut.

$ setenforce application
$ SETENFORCED Permissive


Pour modifier en permanence le mode dans Selinux, vous devez modifier le fichier de configuration de Selinux.

$ vim / etc / selinux / config


Enregistrer et fermer l'éditeur. Redémarrez le système pour mettre en vigueur les changements.
Vous pouvez vérifier le changement à l'aide de la commande SESSATUS.

$ SESSATUS

Conclusion

Selinux est un mécanisme puissant pour faire respecter la sécurité. Espérons que ce guide vous a aidé à apprendre à configurer et gérer le comportement de Selinux.
Happy Computing!