Gérer les étiquettes de port SELinux

Red Hat Enterprise LinuxIntermediate
Pratiquer maintenant

Introduction

Le système Security-Enhanced Linux (SELinux) est un mécanisme de sécurité essentiel dans Red Hat Enterprise Linux qui applique des politiques de contrôle d'accès obligatoire (MAC). Un aspect fondamental de ce système est l'étiquetage, qui s'étend jusqu'aux ports réseau. En attribuant des étiquettes SELinux spécifiques aux ports, vous pouvez contrôler quels services sont autorisés à s'y lier.

Dans ce défi, vous allez vous exercer à la gestion des étiquettes de port SELinux. Vous apprendrez à consulter les définitions de ports existantes, à ajouter une nouvelle étiquette pour autoriser un service sur un port non standard, puis à supprimer cette définition pour rétablir la politique d'origine.

Gérer les étiquettes de port SELinux

Imaginez que vous êtes un administrateur système et que vous devez configurer un serveur web pour qu'il fonctionne sur un port non standard, le 8081. Par défaut, SELinux empêchera le processus du serveur web (par exemple, httpd) de se lier à ce port car il ne possède pas l'étiquette SELinux appropriée. Votre mission consiste à utiliser l'utilitaire semanage pour ajouter temporairement l'étiquette correcte au port 8081, puis à la supprimer.

Tâches

  • Afficher les étiquettes de port SELinux existantes associées au service HTTP.
  • Ajouter une nouvelle règle pour étiqueter le port TCP 8081 avec le type http_port_t, permettant ainsi aux serveurs web de l'utiliser.
  • Après avoir confirmé la nouvelle règle, supprimer la règle personnalisée pour le port TCP 8081 afin d'annuler la modification.

Exigences

  • Toutes les commandes doivent être exécutées en tant qu'utilisateur labex. Utilisez sudo lorsque des privilèges d'administration sont requis.
  • Toutes les opérations doivent être effectuées dans le répertoire /home/labex.
  • Vous devez impérativement utiliser la commande semanage pour gérer les étiquettes de port SELinux.

Exemple

Avant d'ajouter la nouvelle étiquette de port, la recherche de http_port_t affichera les ports par défaut :

## sudo semanage port -l | grep http_port_t
http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988

Après avoir ajouté une règle pour le port 8081, la sortie devrait inclure le nouveau port :

## sudo semanage port -l | grep http_port_t
http_port_t                    tcp      8081, 80, 81, 443, 488, 8008, 8009, 8443, 9000
pegasus_http_port_t            tcp      5988

Résumé

Dans ce défi, vous avez appris les opérations fondamentales pour gérer les étiquettes de port réseau SELinux. Vous vous êtes exercé à utiliser la commande semanage port pour visualiser les politiques existantes, ajouter une nouvelle définition de port avec semanage port -a et la supprimer avec semanage port -d. L'étiquetage correct des ports est une compétence cruciale pour déployer des services réseau de manière sécurisée sur un système où SELinux est activé, tel que Red Hat Enterprise Linux.

✨ Vérifier la solution et pratiquer