accueil > Gestion des paquets et du système > semanage

semanage : Gestion des politiques SELinux

semanage est un outil en ligne de commande utilisé pour gérer les politiques SELinux (Security-Enhanced Linux). Il permet d'ajouter, de modifier, de supprimer et de lister divers éléments de politique SELinux tels que les contextes de fichiers, les ports réseau, les booléens et les mappages d'utilisateurs. Il offre un contrôle granulaire sur la politique de sécurité du système, garantissant que les applications et les services fonctionnent de manière sécurisée.

Aperçu

semanage est utilisé pour apporter des modifications permanentes aux politiques SELinux. Alors que `chcon` ou `restorecon` appliquent des politiques temporaires ou existantes, `semanage` définit de nouvelles règles de politique qui persistent après le redémarrage du système.

Éléments de politique gérés

Voici les principaux éléments de politique SELinux que vous pouvez gérer avec semanage.

  • Contextes de fichiers (File Contexts) : Attribution de types SELinux aux fichiers et répertoires à des chemins spécifiques.
  • Ports réseau (Network Ports) : Attribution de types SELinux aux ports réseau.
  • Booléens SELinux (Booleans) : Interrupteurs pour activer ou désactiver des comportements spécifiques de la politique SELinux.
  • Mappages d'utilisateurs SELinux (User Mappings) : Association des utilisateurs Linux aux utilisateurs SELinux.

Options principales

semanage gère les politiques pour divers types d'objets SELinux. Cette section décrit les options courantes utilisées avec chaque type d'objet.

Options de gestion générale

Types d'objets

Commande générée :

Essayez de combiner les commandes.

Description:

`semanage` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Cette section présente divers scénarios d'utilisation de la commande semanage pour gérer les politiques SELinux.

Lister toutes les règles de contexte de fichier

sudo semanage fcontext -l

Vérifie toutes les règles de mappage de contexte de fichier définies sur le système actuel.

Lister les règles pour un port spécifique

sudo semanage port -l | grep http

Liste les règles de port utilisées par le service HTTP.

Ajouter un contexte de fichier personnalisé

sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html/my_app(/.*)?"

Ajoute une règle pour spécifier le type httpd_sys_content_t pour le répertoire /var/www/html/my_app et ses sous-fichiers. (Nécessite restorecon après l'ajout).

Ajouter un port personnalisé

sudo semanage port -a -t http_port_t -p tcp 8080

Ajoute le port TCP 8080 avec le type http_port_t, le rendant utilisable pour les services web.

Activer un booléen SELinux

sudo semanage boolean -m --on httpd_can_network_connect

Active le booléen httpd_can_network_connect pour permettre au serveur web Apache d'initier des connexions réseau.

Installation

semanage est généralement fourni dans le cadre du paquet 'policycoreutils' ou d'un paquet similaire sur la plupart des distributions Linux utilisant SELinux. Voici comment l'installer sur les distributions courantes.

RHEL/CentOS/Fedora

sudo dnf install policycoreutils-python-utils

Utilisez le gestionnaire de paquets DNF ou YUM pour installer le paquet 'policycoreutils-python-utils'.

Debian/Ubuntu

sudo apt install selinux-utils

Utilisez le gestionnaire de paquets APT pour installer le paquet 'selinux-utils'.

Conseils et précautions

Cette section fournit des conseils utiles et des points à considérer lors de la gestion des politiques SELinux avec semanage.

Application des modifications

Après avoir modifié les règles de contexte de fichier, vous devez impérativement utiliser la commande 'restorecon' pour appliquer les contextes modifiés au système de fichiers.

  • `sudo restorecon -Rv /path/to/directory`

Diagnostic des problèmes et génération de politiques

En cas de problèmes liés à SELinux, consultez le fichier `/var/log/audit/audit.log` pour identifier les actions refusées, puis utilisez l'outil `audit2allow` pour générer les règles de politique nécessaires.

  • `sudo tail -f /var/log/audit/audit.log` (pour voir les logs en temps réel)
  • `sudo audit2allow -a -M mypolicy` (génère les fichiers 'mypolicy.te' et 'mypolicy.pp' basés sur les logs de violation de politique)
  • `sudo semodule -i mypolicy.pp` (charge le module de politique généré)

Précautions

La modification incorrecte des politiques SELinux peut entraîner le blocage de l'accès à certains services ou à l'ensemble du système. Il est important de sauvegarder la politique actuelle ou de tester soigneusement avant d'apporter des modifications.


Commandes de la même catégorie