GNU/Linux >> Tutoriels Linux >  >> Linux

Accéder à la documentation des politiques SELinux

[Vous voulez essayer Red Hat Enterprise Linux ? Téléchargez-le maintenant gratuitement.]

Il existe de nombreuses pages de manuel excellentes pour les domaines confinés inclus dans la politique SELinux. Ces pages de manuel décrivent les booléens et les types de contexte pour chaque domaine. Ils incluent également un exemple de semanage commandes pour ajouter des mappages de contexte, modifier des booléens, etc.

Malheureusement pour l'administrateur système débutant avec la configuration SELinux, ces pages de manuel ne sont souvent pas installées par défaut. Les pages de manuel de la politique SELinux sont disponibles à partir de deux emplacements. Le référentiel de politique de référence en amont contient une poignée de pages de manuel prédéfinies. Le reste peut être généré à partir du contenu de la politique avec un outil trouvé dans le policycoreutils-devel paquet.

Installer à partir d'un package de distribution

Certaines distributions prégénèrent les pages de manuel et les conditionnent pour faciliter l'ajout de la documentation à votre système. Fedora, CentOS et Red Hat Enterprise Linux 8 incluent tous un selinux-policy-doc.noarch package dans leurs référentiels de base. Ce paquet n'est pas installé par défaut, mais il est facile à ajouter avec un yum ou dnf commande :

$ sudo yum install selinux-policy-doc.noarch

Red Hat Enterprise Linux 7 dispose également de ce package, mais il se trouve dans le dépôt "Facultatif" qui n'est pas activé par défaut. Soit activer le repo de façon permanente avec subscription-manager :

$ sudo subscription-manager repo --enable=rhel-7-server-optional-rpms

ou ajoutez simplement le dépôt temporairement pendant l'installation :

$ sudo yum --enablerepo=rhel-7-server-optional-rpms install selinux-policy-doc.noarch

Maintenant que la documentation du domaine SELinux est disponible, recherchez les pages pertinentes avec :

$ man -k _selinux

Remarque : Après avoir installé le package docs, vous devrez peut-être également mettre à jour le cache de l'index de la page de manuel avant de voir les résultats de la recherche :

$ sudo mandb

Générer des pages de manuel à partir de la politique

Si le package docs n'est pas disponible, ou si vous souhaitez uniquement générer une page de manuel pour un domaine spécifique, vous pouvez également créer les pages de manuel à partir de la stratégie. Tout d'abord, installez le devel packages et leurs dépendances :

$ sudo yum install policycoreutils-devel 

Ensuite, utilisez le sepolicy commande pour générer une page de manuel spécifique en spécifiant le type de domaine (le type de contexte SELinux associé au processus en cours d'exécution qui est contenu). Par exemple :

$ sepolicy manpage -d httpd_t

La page de manuel résultante sera générée dans le /tmp répertoire et peut être visualisé par nom :

$ man /tmp/httpd_selinux.8

Il existe des options pour la sepolicy manpage commande pour remplacer l'emplacement de sortie (--path ), générer une version html (--web ), ou tout générer (--all ) pages. Pour voir ces options et d'autres, utilisez :

$ man sepolicy-manpage

Tant qu'un utilisateur dispose de privilèges d'écriture sur le chemin de sortie, il peut générer et afficher une page de manuel.

Prévisualisez la magie de ces pages de manuel

Les pages de manuel SELinux pour les types de domaine ont toutes une présentation commune. Comme pour tout ensemble de pages de manuel, plus vous lisez de pages de manuel, plus il est facile de parcourir ou de lire rapidement la suivante.

Chaque page de manuel commence par les champs NAME et DESCRIPTION attendus de toute page de manuel. Les pages de manuel du domaine SELinux incluent alors les sections ENTRYPOINTS et PROCESS TYPES. (Les points d'entrée sont les types attribués aux fichiers exécutables, qui, lorsqu'ils sont lancés en tant que démons, passent aux types de processus confinés.)

Cependant, tous les types de processus ne sont pas des démons, certains peuvent être des exécutables interactifs. Par exemple, sshd_exec_t est un point d'entrée qui passe au sshd_t type de processus. De plus, sshd_t , ssh_t , et ssh_keygen_t et sont également des exemples de types de processus.

Les types de processus sont également appelés types de domaine et sont les types qui peuvent être placés en mode permissif avec le semanage commande.

Après toutes les sections de point d'entrée et de type de processus, la page de manuel du domaine SELinux contient des sections pour tous les BOOLEANS, TYPES DE PORT, FICHIERS GÉRÉS et CONTEXTES DE FICHIER qui s'appliquent à ce domaine. Ces sections définissent des mots clés et fournissent des exemples de modifications pouvant être apportées avec le semanage commande. L'activation d'un booléen permet un ensemble de règles différent pour différents cas d'utilisation. Les modifications de contexte de fichier et de port permettent à un système d'être configuré pour conserver les données dans un emplacement autre que celui par défaut ou s'exécuter sur un port autre que celui par défaut.

Chaque page de manuel se termine par une liste de COMMANDES référencées dans la page de manuel et les sections AUTEUR et VOIR AUSSI de la page de manuel traditionnelle.

Commencer à explorer

Avec le targeted stratégie, le httpd La page de domaine est probablement la plus longue, car ce domaine contient le plus de booléens et de types de fichiers à décrire. C'était aussi l'un des premiers domaines confinés dans l'histoire du SELinux targeted politique.

Commencez avec un domaine qui vous est familier tel que sshd , httpd , ou ntpd . Recherchez ensuite les domaines pertinents pour votre environnement. Après avoir installé les selinux-docs package, j'ai plus de 850 pages de manuel à explorer sur mon système !

Et rappelez-vous, continuez à appliquer SELinux ! (Voici comment.)


Linux
  1. 8 Exemple de commande UNIX / Linux Man pour afficher les pages de manuel

  2. Guide du débutant sur SELinux

  3. Comment lire les pages de manuel Linux ?

  4. Liste de toutes les pages de manuel disponibles

  5. Dois-je écrire des pages de manuel pour la bibliothèque C ?

Dwww - Afficher la documentation Debian complète hors ligne via un navigateur Web

Apprenez à utiliser efficacement les pages de manuel sous Linux

Comment afficher une section spécifique dans les pages de manuel sous Linux

Comment installer des pages de manuel dans Alpine Linux

Couleurs dans les pages de manuel ?

Caractères de citation de page d'homme ?