Qu'est-ce que SELinux ? - ūüŹÜ Serveur g√©r√©
Novembre 3 2022

Qu'est-ce que SELinux ?

Security-Enhanced Linux (SELinux) est une architecture de s√©curit√© pour les syst√®mes Linux¬ģ

SELinux

Security-Enhanced Linux (SELinux) est une architecture de s√©curit√© pour les syst√®mes Linux¬ģ qui permet aux administrateurs de mieux contr√īler qui peut acc√©der au syst√®me. Il a √©t√© initialement d√©velopp√© par la National Security Agency (NSA) des √Čtats-Unis en tant que s√©rie de correctifs pour le noyau Linux utilisant des modules de s√©curit√© Linux (LSM).

SELinux, abr√©viation de S√©curit√© renforc√©e Linux , consiste en une s√©rie de correctifs de s√©curit√© pour le noyau Linux qui appliquent des contr√īles d'acc√®s pour divers services et applications. Bas√© sur des projets initialement d√©velopp√©s par la National Security Agency, SELinux est rapidement devenu un incontournable dans le domaine de la cybers√©curit√© open source. SELinux am√©liore la s√©curit√© du syst√®me Linux en limitant les privil√®ges et en r√©duisant les dommages globaux qu'une application donn√©e peut causer √† l'ensemble du syst√®me. Avant de discuter du fonctionnement de SELinux, il est important d'explorer le concept d'√©quit√©.

Justice est un terme utilis√© en informatique pour d√©crire comment un programme donn√© se comporte fid√®lement par rapport aux r√©sultats attendus en fonction des sp√©cifications du syst√®me. Par exemple, on peut dire qu'une application con√ßue pour ouvrir un fichier image a un haut niveau d'√©quit√© s'il ouvre le fichier image correctement comme pr√©vu. Ce concept peut √™tre largement appliqu√© √† tout programme, application ou fonction utilis√© dans un syst√®me informatique.

Dans un système sans SELinux, la sécurité du système dépend de l'exactitude du noyau ainsi que de l'exactitude de toutes les applications privilégiées et de leurs configurations respectives. S'il y a des défauts dans ces zones, l'ensemble du système peut être compromis. Pour cette raison, il n'est pas recommandé d'avoir un noyau Linux sans aucun type de module de sécurité, en particulier pour les appareils connectés à Internet.

En comparaison, les syst√®mes SELinux d√©pendent √† la fois de l'exactitude du noyau et de l'exactitude de la configuration de la politique de s√©curit√©. Cela garantit que m√™me si des erreurs d'exactitude ou de configuration peuvent entra√ģner une application compromise, l'ensemble du syst√®me ne sera pas affect√© et les autres applications pourront continuer √† fonctionner normalement. Essentiellement, SELinux fournit une politique de s√©curit√© compartiment√©e qui emp√™che la propagation d'applications compromises et d'autres vuln√©rabilit√©s de s√©curit√©.

SELinux a été distribué à la communauté open source en 2000 et a été intégré au noyau Linux en amont en 2003.

Pour que SELinux fonctionne, le syst√®me doit d'abord attribuer des √©tiquettes, √©galement appel√©es contexte √† diverses fonctions. Les utilisateurs et les processus re√ßoivent une cha√ģne de texte compos√©e d'un nom d'utilisateur, d'un r√īle et d'un domaine. G√©n√©ralement, le nom de domaine est la seule partie utilis√©e pour d√©terminer les contr√īles d'acc√®s. Les fichiers, les ports r√©seau et le mat√©riel ont √©galement un contexte dans SELinux et se voient attribuer un nom, un r√īle et un type.

Le processus de mappage des fichiers dans un contexte de s√©curit√© est appel√© balisage et est d√©fini par le fichier de strat√©gie utilis√©. Un fichier de strat√©gie se compose de trois fichiers : un fichier de mappage, un fichier de r√®gles et un fichier d'interface. Ces trois fichiers doivent √™tre compil√©s en un seul fichier de strat√©gie avec l'ensemble d'outils SELinux, puis charg√©s dans le noyau du syst√®me pour en faire une strat√©gie active. La cr√©ation des fichiers de strat√©gie peut √™tre effectu√©e manuellement ou avec l'outil de gestion SELinux. Une fois le fichier de strat√©gie charg√© dans le noyau du syst√®me, vous pouvez √™tre assur√© que votre syst√®me a √©t√© prot√©g√©.

Par défaut, SELinux est préconfiguré sur la plupart des systèmes d'exploitation Linux modernes tels que Ubuntu, Debian ou CentOS. Cela signifie que la plupart du temps, les utilisateurs ne savent même pas que SELinux travaille en coulisses pour protéger leur système. En résumé, la nature fiable et discrète de SELinux en fait un élément essentiel de tout système Linux moderne.

SELinux d√©finit les contr√īles d'acc√®s pour les applications, les processus et les fichiers sur un syst√®me. Il utilise des politiques de s√©curit√©, qui sont un ensemble de r√®gles qui indiquent √† SELinux ce √† quoi il peut et ne peut pas acc√©der, pour appliquer l'acc√®s autoris√© par une politique.

Lorsqu'une application ou un processus, appel√© sujet, fait une demande d'acc√®s √† un objet, tel qu'un fichier, SELinux v√©rifie avec un cache vectoriel d'acc√®s (AVC), o√Ļ les autorisations sont mises en cache pour les sujets et les objets.

Si SELinux n'est pas en mesure de prendre une décision d'accès basée sur les autorisations mises en cache, il envoie la demande au serveur de sécurité. Le serveur de sécurité vérifie le contexte de sécurité de l'application ou du processus et du fichier. Le contexte de sécurité est appliqué par la base de données de politiques SELinux. L'autorisation est alors accordée ou refusée.

Si l'autorisation est refus√©e, un message ¬ę avc : ni√© ¬Ľ sera disponible dans /var/log.messages.

Comment configurer SELinux

Il existe plusieurs façons de configurer SELinux pour protéger votre système. Les plus courantes sont les politiques ciblées ou la sécurité à plusieurs niveaux (MLS).

La politique ciblée est l'option par défaut et couvre une gamme de processus, d'activités et de services. Le MLS peut être très compliqué et n'est généralement utilisé que par des organisations gouvernementales.

Vous pouvez savoir à quoi votre système doit fonctionner en consultant le fichier /etc/sysconfig/selinux. Le fichier aura une section indiquant si SELinux est en mode permissif, en mode forcé ou désactivé et quelle stratégie doit être chargée.

√Čtiquetage et application de type SELinux

L'application des types et l'étiquetage sont les concepts les plus importants pour SELinux.

SELinux fonctionne comme un syst√®me d'√©tiquetage, ce qui signifie que tous les fichiers, processus et ports d'un syst√®me sont associ√©s √† une √©tiquette SELinux. Les √©tiquettes sont une fa√ßon logique de regrouper les choses. Le noyau g√®re les √©tiquettes lors du d√©marrage.

Les libell√©s sont au format utilisateur : r√īle : type : niveau (le niveau est facultatif). L'utilisateur, le r√īle et le niveau sont utilis√©s dans les impl√©mentations SELinux plus avanc√©es, comme avec MLS. Le type d'√©tiquette est le plus important pour la politique cibl√©e.

SELinux utilise l'application de type pour appliquer une politique définie sur le système. L'application de type est la partie d'une politique SELinux qui définit si un processus exécuté avec un certain type peut accéder à un fichier étiqueté avec un certain type.

Activer SELinux

Si SELinux a √©t√© d√©sactiv√© dans votre environnement, vous pouvez activer SElinux en √©ditant /etc/selinux/config et en d√©finissant SELINUX = permissive. √Čtant donn√© que SELinux n'√©tait pas actuellement activ√©, vous ne souhaitez pas le d√©finir imm√©diatement sur l'application car il est probable que votre syst√®me ait des √©l√©ments mal √©tiquet√©s qui peuvent emp√™cher votre syst√®me de d√©marrer.

Vous pouvez forcer le système à réétiqueter automatiquement le système de fichiers en créant un fichier vide nommé .autorelabel dans le répertoire racine, puis en redémarrant. Si le système présente trop d'erreurs, un redémarrage en mode permissif est nécessaire pour que le démarrage réussisse. Une fois que tout a été réétiqueté, définissez SELinux sur l'application avec /etc/selinux/config et redémarrez, ou exécutez setenforce 1.

Si un administrateur syst√®me est moins familiaris√© avec la ligne de commande, il existe des outils graphiques disponibles qui peuvent √™tre utilis√©s pour g√©rer SELinux. 

SELinux fournit une couche de sécurité supplémentaire pour votre système intégré dans les distributions Linux. Il doit rester allumé afin que vous puissiez protéger votre système en cas de compromission.

Traditionnellement, les systèmes Linux et UNIX utilisaient des DAC. SELinux est un exemple de système MAC pour Linux.

Avec DAC, les fichiers et les processus ont des propriétaires. Vous pouvez faire en sorte que l'utilisateur possède un fichier, qu'un groupe possède un fichier, ou quoi que ce soit, qui peut être n'importe qui d'autre. Les utilisateurs ont la possibilité de modifier les autorisations sur leurs fichiers.

L'utilisateur root dispose d'un contr√īle d'acc√®s total avec un syst√®me DAC. Si vous avez un acc√®s root, vous pouvez acc√©der aux fichiers de n'importe quel autre utilisateur ou faire ce que vous voulez sur le syst√®me.

Mais sur les systèmes MAC comme SELinux, il existe une politique d'accès établie administrativement. Même si les paramètres DAC de votre répertoire personnel sont modifiés, une politique SELinux en place pour empêcher un autre utilisateur ou processus d'accéder au répertoire assurera la sécurité du système.

Les politiques SELinux vous permettent d'être précis et de couvrir un grand nombre de processus. Des modifications peuvent être apportées avec SELinux pour restreindre l'accès entre les utilisateurs, les fichiers, les répertoires, etc.

Lorsque vous obtenez une erreur dans SELinux, il y a quelque chose qui doit être corrigé. Les chances sont 1 de ces 4 problèmes courants:

  1. Les étiquettes sont fausses. Si l'étiquetage est incorrect, vous pouvez utiliser les outils pour corriger les étiquettes.
  2. Une politique doit √™tre √©tablie. Cela peut signifier que vous devez informer SELinux d'une modification que vous avez apport√©e ou que vous devez modifier une politique. Vous pouvez le r√©soudre en utilisant des bool√©ens ou des modules de crit√®res.
  3. Il y a un bug en politique. Il peut y avoir un bogue dans la politique qui doit √™tre corrig√©.
  4. Le syst√®me a √©t√© pirat√©. Bien que SELinux puisse prot√©ger vos syst√®mes dans de nombreux sc√©narios, il est toujours possible qu'un syst√®me soit compromis. Si vous pensez que c'est le cas, agissez imm√©diatement.

Que sont les booléens ?

Les booléens sont des paramètres d'activation/désactivation des fonctions dans SELinux. Il existe des centaines de paramètres qui peuvent activer ou désactiver les fonctionnalités de SELinux, et beaucoup sont déjà prédéfinis. Vous pouvez savoir quels booléens ont déjà été définis sur votre système en exécutant getsebool -a.

 

Vous avez des doutes ? Vous ne savez pas par o√Ļ commencer ? Contactez-nous


Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

ManagedServer.it est le premier fournisseur italien de solutions d'hébergement hautes performances. Notre modèle d'abonnement est abordable et prévisible, afin que les clients puissent accéder à nos technologies d'hébergement fiables, à nos serveurs dédiés et au cloud. ManagedServer.it offre également d'excellents services d'assistance et de conseil sur l'hébergement des principaux CMS Open Source tels que WordPress, WooCommerce, Drupal, Prestashop, Magento.

Remonter en haut