3.4. Création de profils Novell AppArmor en utilisant l'interface de ligne de commande

Novell AppArmor permet d'utiliser une interface de ligne de commande plutôt que l'interface graphique pour gérer et configurer la sécurité de votre système.

3.4.1. Vérification de l'état du module AppArmor

Le module AppArmor peut se trouver dans l'un des trois états suivants :

Déchargé

Le module AppArmor n'est pas chargé dans le noyau.

En cours d'exécution

Le module AppArmor est chargé dans le noyau et impose des stratégies de programme Novell AppArmor.

Arrêtée

Le module AppArmor est chargé dans le noyau mais aucune stratégie n'est imposée.

Vous pouvez détecter dans lequel de ces trois états se trouve le module AppArmor en inspectant /sys/kernel/security/apparmor/profiles. Si cat /sys/kernel/security/apparmor/profiles signale une liste de profils, Novell AppArmor fonctionne. S'il est vide et ne renvoie rien, AppArmor est arrêté. Si le fichier n'existe pas, AppArmor est déchargé.

Le module AppArmor peut être chargé et déchargé avec les commandes standard du module Linux telles que modprobe, insmod, lsmod et rmmod, mais cette approche n'est pas recommandée. Il est plutôt recommandé de gérer Novell AppArmor par l'intermédiaire du script rcapparmor, qui peut effectuer les opérations suivantes :

rcapparmor start

Présente des comportements différents selon l'état du module AppArmor. S'il a été déchargé, start charge le module et le démarre, en le plaçant en état de fonctionnement. S'il a été arrêté, start provoque une nouvelle analyse par le module des profils Novell AppArmor qui se trouvent généralement dans /etc/apparmor.d et place le module à l'état de fonctionnement. Si le module fonctionnait déjà, start signale un avertissement et n'effectue aucune opération.

rcapparmor stop

Arrête le module AppArmor (s'il fonctionnait) en supprimant tous les profils de la mémoire du noyau, ce qui désactive tous les contrôles d'accès et place le module à l'état arrêté. Si le module AppArmor était déchargé ou déjà arrêté, stop tente de décharger de nouveau les profils, mais rien ne se produit.

rcapparmor restart

Provoque la nouvelle analyse par le module AppArmor des profils qui se trouvent généralement dans /etc/apparmor.d sans déconfiner les processus en cours d'exécution, sans ajouter de nouveaux profils, et sans supprimer de profils ayant été supprimés de /etc/apparmor.d

rcapparmor kill

Supprime sans condition le module AppArmor du noyau. Cela n'est pas sans danger, car le déchargement des modules du noyau Linux n'est pas sûr. Cette commande ne sert qu'au déboguage et en cas d'urgence lorsqu'il se peut que le module doive être supprimé.

[Note]Remarque

Novell AppArmor est un puissant système de contrôle d'accès. Il est possible de vous exclure vous-même de votre propre machine au point de devoir démarrer la machine à partir du support de récupération (tel que le CD 1 de SUSE Linux) pour en reprendre le contrôle.

Pour éviter ce type de problème, vérifiez toujours que vous avez un login root non confiné en cours d'exécution sur la machine que vous configurez lorsque vous démarrez le module AppArmor. Si vous endommagez votre système au point ne plus pouvoir vous loguer (par exemple, en ne respectant pas le profil associé au démon SSH), vous pouvez réparer les dommages en utilisant votre invite root en cours d'exécution et en redémarrant le module AppArmor.

3.4.2. Ouverture des profils Novell AppArmor

Les définitions de profil du module AppArmor sont stockées dans le répertoire /etc/apparmor.d/ sous forme de fichiers en texte brut.

[Warning]Avertissement

Tous les fichiers du répertoire /etc/apparmor.d/ sont interprétés comme des profils et sont chargés en tant que tels. Le changement de nom des fichiers de ce répertoire n'est pas une façon efficace d'empêcher le chargement des profils. Vous devez supprimer les profils de ce répertoire pour les gérer de façon efficace.

Vous pouvez utiliser un éditeur de texte, tel que vim, pour accéder à ces profils et les modifier. Les options suivantes contiennent les étapes détaillées de création des profils :

Utilisez vim pour afficher et modifier votre profil en entrant vim dans une fenêtre de terminal. Pour activer les couleurs de la syntaxe lorsque vous modifiez un profil Novell AppArmor dans vim, utilisez les commandes :syntax on puis :set syntax=apparmor. Pour plus d'informations sur vim et sur les couleurs de la syntaxe, reportez-vous à Section 3.5.3.8, « apparmor.vim » (↑Guide d'administration de Novell AppArmor 2.0).

[Note]Remarque

Après avoir modifié un profil, utilisez la commande rcapparmor restart, décrite à la section précédente. Cette commande provoque la relecture des profils par Novell AppArmor. Pour obtenir une description détaillée de la syntaxe de ces fichiers, reportez-vous au Chapitre 3, Ouverture des profils Novell AppArmor (↑Guide d'administration de Novell AppArmor 2.0).

3.4.3. Ajout ou création d'un profil Novell AppArmor

Pour ajouter ou créer un profil Novell AppArmor pour une application, vous pouvez utiliser une méthode de profil systémique ou autonome, selon vos besoins.

Profil autonome

Adapté à la réalisation de profils pour de petites applications ayant un temps d'exécution fini, par exemple les applications clientes d'un utilisateur telles que les clients de messagerie. Reportez-vous à la Section 3.5.1, « Profil autonome » (↑Guide d'administration de Novell AppArmor 2.0).

Profil systémique

Adapté à la réalisation de profils pour un grand nombre de programmes simultanément et pour la réalisation de profils pour des applications pouvant s'exécuter pendant des jours, des semaines ou en continu au fil des redémarrages, telles que des applications de serveur réseau comme les serveurs Web et les serveurs de messagerie. Reportez-vous à la Section 3.5.2, « Profil systémique » (↑Guide d'administration de Novell AppArmor 2.0).

3.4.4. Modification d'un profil Novell AppArmor

Les étapes suivantes décrivent la procédure de modification d'un profil Novell AppArmor. Pour mieux comprendre ce qui constitue un profil, reportez-vous à la Section 3.1, « Composants et syntaxe des profils » (↑Guide d'administration de Novell AppArmor 2.0).

  1. Si vous n'êtes pas actuellement logué en tant que root, entrez su dans une fenêtre de terminal.

  2. Tapez le mot de passe root à l'invite.

  3. Pour accéder au répertoire, entrez cd /etc/apparmor.d/.

  4. Entrez ls pour afficher tous les profils actuellement installés.

  5. Ouvrez le profil à modifier dans un éditeur de texte, tel que vim.

  6. Effectuez les modifications nécessaires, puis enregistrez le profil.

  7. Redémarrez Novell AppArmor en entrant rcapparmor restart dans une fenêtre de terminal.

3.4.5. Suppression d'un profil Novell AppArmor

Les étapes suivantes décrivent la procédure de suppression d'un profil Novell AppArmor.

  1. Si vous n'êtes pas actuellement logué en tant que root, entrez su dans une fenêtre de terminal.

  2. Tapez le mot de passe root à l'invite.

  3. Pour accéder au répertoire Novell AppArmor, entrez cd /etc/apparmor.d/.

  4. Entrez ls pour afficher tous les profils Novell AppArmor actuellement installés.

  5. Supprimez le profil existant avec la commande rm nomduprofil.

  6. Redémarrez Novell AppArmor en entrant rcapparmor restart dans une fenêtre de terminal.