SELinux ajoute des contrôles fondés sur des politiques aux droits et propriétaires Linux traditionnels. Ce cours pratique vous apprend à examiner cet état, reconnaître les incohérences courantes et enquêter sur un refus de service sans considérer SELinux lui-même comme le problème.
Vous comparerez les modes enforcing et permissive, suivrez les étiquettes de fichiers, réparerez des contextes incorrects, activerez un booléen prévu par la politique et lirez des preuves d’audit AVC. Dans le défi final, vous diagnostiquerez pourquoi Nginx ne peut pas écouter sur le port 8088, générerez et installerez un module ciblé à partir du refus, puis vérifierez la réponse du service.
Ce que vous apprendrez
- Examiner l’état de SELinux et distinguer le mode d’exécution de la configuration au démarrage
- Lire les contextes de sécurité des fichiers et repérer le champ de type utilisé par la politique
- Expliquer pourquoi un fichier déplacé peut conserver une étiquette inadaptée à son nouvel emplacement
- Comparer contextes actuels et attendus, puis réparer des incohérences individuelles ou récursives avec
restorecon - Trouver, activer durablement et vérifier un booléen SELinux propre à un service
- Localiser les refus AVC de Nginx et interpréter une opération
name_bindbloquée - Utiliser
audit2allowpour expliquer un refus et générer un module de politique personnalisé - Installer le module généré et vérifier Nginx sur un port non standard
À qui s’adresse ce cours
Ce cours intermédiaire s’adresse aux administrateurs Linux, professionnels DevOps et apprenants en sécurité qui comprennent les permissions Unix classiques et souhaitent une initiation pratique à l’exploitation et au dépannage de SELinux.
Prérequis : Être à l’aise avec le shell Linux, les fichiers et permissions, sudo, systemctl, l’édition de texte, les ports et les notions élémentaires de service web. Aucune expérience de rédaction de politique n’est requise.
Environnement d’apprentissage : Un terminal Linux préparé avec les commandes SELinux, les données de politique, des preuves d’audit, Nginx et des privilèges administratifs. Les limites du noyau ou du conteneur peuvent empêcher un véritable changement de mode ; certains refus peuvent donc être simulés tout en utilisant les mêmes commandes d’analyse et de correction.
Questions fréquentes
Ce cours m’apprend-il à désactiver SELinux lorsqu’une application échoue ?
Non. Le mode permissive sert uniquement de concept de diagnostic temporaire. Le cours privilégie l’examen des étiquettes, des booléens pris en charge et des journaux d’audit avant toute modification ciblée.
Quels types de corrections SELinux vais-je pratiquer ?
Vous restaurerez des contextes définis par la politique, activerez durablement httpd_can_network_connect et générerez puis installerez un petit module depuis un refus de liaison de port Nginx. Le langage de politique SELinux au sens large n’est pas couvert.
audit2allow est-il présenté comme la solution à chaque refus ?
Non. Vous apprenez à examiner sa proposition et à déterminer si une étiquette, un booléen ou un réglage standard conviendrait mieux. Le défi final exige un module généré ; les solutions comme semanage port restent hors du périmètre pratique.





