Outils pour utilisateurs

Outils du site


all:bibles:linux:selinux

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
all:bibles:linux:selinux [2024/06/14 11:00] – [Ports] omeylhocall:bibles:linux:selinux [2024/11/25 11:29] (Version actuelle) – [Correction problèmes] omeylhoc
Ligne 1: Ligne 1:
 +====== SELinux ======
  
 +----
 +
 +===== Général =====
 +
 +==== Interrogations ====
 +
 +=== Niveau de protection ===
 +
 +<code bash>
 +getenforce
 +</code>
 +
 +=== Paramètres ===
 +
 +<code bash>
 +sestatus
 +</code>
 +
 +=== Types associés à un fichier ===
 +
 +<code bash>
 +ls -Z
 +</code>
 +
 +=== Contexte de sécurité actif dans un terminal de commande ===
 +
 +<code bash>
 +id -Z
 +</code>
 +
 +=== Contexte de sécurité appliqué à un processus ===
 +
 +Utiliser l'option -Z de la commande ps
 +
 +<code bash>
 +ps -axZ
 +</code>
 +
 +==== Fichiers ====
 +
 +=== Fichier de configuration ===
 +
 +Voir le contenu du fichier <color #00a2e8>/etc/selinux/config</color>
 +
 +<code bash>
 +cat /etc/selinux/config
 +</code>
 +
 +=== Fichier de log ===
 +
 +Voir le contenu du fichier <color #00a2e8>/var/log/audit/audit.log</color>
 +
 +----
 +
 +[[all:bibles:linux:selinux|Haut de page]]
 +
 +===== Activation =====
 +
 +==== Persistant ====
 +
 +Modifier le fichier de configuration <color #00a2e8>/etc/selinux/config</color> avec le niveau souhaité.
 +
 +<code bash>
 +SELINUX=disabled    # désactivé
 +SELINUX=enforcing   # activé
 +SELINUX=permissive  # pas de blocage mais les infos sont tracées dans le fichier /var/log/audit/audit.log
 +</code>
 +
 +==== Temporaire ====
 +
 +Utiliser la commande setenforce. La modification s'applique jusqu'au prochain redémarrage.
 +
 +<code bash>
 +sudo setenforce 0  # passage en mode permissive
 +sudo setenforce 1  # passage en mode enforcing
 +</code>
 +
 +==== Forcer le ré-étiquetage ====
 +
 +Pour forcer le système à ré-étiqueter le système de fichier :
 +
 +<code bash>
 +sudo touch /.autorelabel
 +sudo reboot
 +</code>
 +
 +----
 +
 +===== Contexte SELinux =====
 +
 +==== Etiquettes ====
 +
 +Le format des étiquettes est de la forme **user:role:type:level**
 +
 +==== Fichiers ====
 +
 +=== Interrogation ===
 +
 +<code bash>
 +semanage fcontext -l
 +</code>
 +
 +=== Modification ===
 +
 +Pour définir le contexte après modification du répertoire par défaut des log MySQL :
 +
 +<code bash>
 +semanage fcontext -a -t mysqld_db_t "/path/to/my/custom/datadir(/.*)?"
 +restorecon -Rv /path/to/my/custom/datadir
 +</code>
 + 
 +==== Ports ====
 +
 +=== Interrogation ===
 +
 +<code bash>
 +semanage port -l 
 +</code>
 +
 +=== Modification ===
 +
 +Pour définir le contexte mysql sur un port différent du port par défaut 3306 (3307 par exemple) :
 +
 +<code bash>
 +semanage port -a -t mysqld_port_t -p tcp 3307
 +</code>
 +
 +----
 +
 +===== Dépannage =====
 +
 +==== Recherche problèmes ====
 +
 +  * Installer le paquet **setroubleshoot**
 +
 +<code bash>
 +sudo dnf install setroubleshoot  # Redhat
 +sudo apt install setroubleshoot  # Ubuntu
 +</code>
 +
 +  * Lancer la commande suivante :
 +
 +<code bash>
 +sudo sealert -l "*"
 +</code>
 +
 +----
 +
 +[[all:bibles:linux:selinux|Haut de page]]
 +
 +===== Sources =====
 +
 +[[https://debian-handbook.info/browse/fr-FR/stable/sect.selinux.html|Introduction à SeLinux]]\\
 +[[https://dev.mysql.com/doc/refman/8.0/en/selinux.html|MySQL et SELinux]]
 +
 +----
 +[[all:bibles:linux:selinux|Haut de page]]