Comment utiliser AppArmor dans Ubuntu

Ubuntu Apparmor en vedette

Vous avez probablement entendu parler d’AppArmor en utilisant Ubuntu, mais comme il ne s’agit pas d’une application qui apparaît dans le menu des applications et qu’elle ne se présente sous aucune forme graphique, certains peuvent ne pas savoir ce qu’elle fait et pourquoi elle est essentielle pour votre système. En bref, AppArmor est un module de sécurité qui confine des programmes individuels à un ensemble de fichiers et de capacités listés afin qu’ils ne causent pas de désastre sur votre système.

Découvrez la différence entre SELinux et AppArmor pour sécuriser votre système Linux.

Table des matières

  • Qu’est-ce qu’AppArmor ?
  • Comment fonctionne AppArmor
  • Vérifier l’état d’AppArmor
  • Trouver des profils AppArmor désactivés
  • Activer et désactiver des profils AppArmor
  • À quoi ressemble un profil AppArmor ?
  • Créer vos propres profils pour verrouiller des applications
  • Arrêter et redémarrer AppArmor
  • Questions fréquentes

Qu’est-ce qu’AppArmor ?

AppArmor est un système de Contrôle d’Accès Mandatory (MAC) qui confine les programmes à un ensemble limité de ressources. Il restreint les programmes à un ensemble de fichiers, d’attributs et de capacités afin qu’ils ne s’immiscent pas profondément dans le système et ne causent pas de désastre (sauf si on leur en donne la permission). Au lieu du modèle de Contrôle de Compte Utilisateur (UAC) de Windows qui donne le contrôle aux utilisateurs, AppArmor lie les attributs de contrôle d’accès au programme lui-même.

Comment fonctionne AppArmor

AppArmor fonctionne au niveau du noyau (consultez ces conseils si vous compilez votre propre noyau) et se charge lors du démarrage initial. AppArmor gère les autorisations via des Profils : un ensemble de règles qui détermine ce que le programme peut et ne peut pas faire.

Il existe deux modes dans lesquels les Profils peuvent s’exécuter : Application et Plainte. Le mode Application est une application stricte de la politique, qui est définie dans le profil, et signale les tentatives de violation de la politique. Le mode Plainte ne signalera que les tentatives de violation de la politique et n’applique pas la politique. La plupart des profils sont chargés en mode Application, bien qu’il puisse également y avoir un bon nombre de profils tiers chargés en mode Plainte.

Vérifier l’état de votre AppArmor

Si vous utilisez Ubuntu 7.04 ou supérieur, AppArmor est installé par défaut et se charge lorsque vous démarrez votre ordinateur. Pour vérifier l’état d’AppArmor, tapez la commande suivante dans le terminal :

sudo apparmor_status

L’image ci-dessous montre ce que vous verrez.

Ubuntu Apparmor État Sudo

Dans mon système, vous pouvez voir qu’il y a 36 profils chargés en mode Application.

Trouver des profils AppArmor désactivés

AppArmor a plusieurs profils préchargés, dont certains sont désactivés par défaut. Vous pouvez les consulter dans le dossier “/etc/apparmor.d/disable”. Dans la dernière version d’AppArmor, vous pouvez voir que le profil rsyslogd n’est pas activé.

Ubuntu Apparmor Dossier Disable Usr Sbin Rsyslogd

Ce profil est désactivé par défaut, car les utilisateurs apportent souvent des modifications de configuration à rsyslogd qui le rendent incompatible avec AppArmor.

Astuce : apprenez comment vous pouvez gérer votre machine Ubuntu à distance avec Webmin.

Activer et désactiver des profils AppArmor

Bien que vous puissiez avoir plusieurs profils chargés sur votre système, chaque profil peut être activé ou désactivé individuellement. Par exemple, vous pouvez activer le profil rsyslogd mentionné plus tôt. Suivez les instructions ci-dessous pour apprendre comment.

Ouvrez un terminal et entrez :

sudo apt install apparmor-utils

Cela installera les outils nécessaires pour exécuter les commandes suivantes dans ce tutoriel. Pour activer le profil, entrez :

sudo aa-enforce /etc/apparmor.d/usr.sbin.rsyslogd

Pour le désactiver à nouveau :

sudoln-s/etc/apparmor.d/usr.sbin.rsyslogd /etc/apparmor.d/disable/  
sudo apparmor_parser -R/etc/apparmor.d/usr.sbin.rsyslogd

À quoi ressemble un profil AppArmor ?

Bien que les profils AppArmor aient l’air d’un logiciel compliqué, il s’agit en réalité d’un simple fichier texte avec des chemins de fichier indiquant quels dossiers et répertoires l’application peut accéder. Vous pouvez facilement double-cliquer sur n’importe quel profil dans le dossier “/etc/apparmor.d” pour l’ouvrir dans votre éditeur de texte.

Le profil Rsyslogd ressemblera à l’image ci-dessous.

Ubuntu Apparmor Profil Rsyslogd Vue Texte

Créer vos propres profils pour verrouiller des applications

Ubuntu fait déjà un assez bon travail pour vous protéger, mais si vous souhaitez restreindre une application personnalisée qui n’est pas protégée par Ubuntu, vous pouvez créer votre propre profil AppArmor pour verrouiller l’application. Cela est particulièrement utile sur un serveur où des applications peuvent fonctionner en arrière-plan.

Remarque : avant de créer vos propres profils, il est préférable de consulter d’abord la bibliothèque de profils AppArmor existants pour vérifier si le profil pour votre application est disponible. Vous pouvez également installer apparmor-profiles pour obtenir une liste supplémentaire de profils.

Exécutez la commande suivante pour commencer le profilage :

sudo aa-genprof /path/to/application

/path/to/application est le chemin d’accès au fichier de l’application que vous souhaitez profiler. Le dossier d’application par défaut est “/usr/bin”, mais cela pourrait être différent selon l’application et la méthode d’installation, comme “/snap/bin”.

Ubuntu Apparmor Aa Genprof Snap Bin Krita

Laissez le terminal ouvert, démarrez l’application que vous allez profiler. Pour cet exemple, j’utilise Krita. Utilisez l’application comme vous le feriez normalement.

Pour chaque action que vous effectuez sur l’application, revenez au terminal et appuyez sur Shift + S pour la faire analyser les changements.

Ubuntu Apparmor Aa Genprof Shift S

À partir de là, vous pouvez voir le chemin que l’application accède et la gravité de l’action. Choisissez de “Permettre (A)” ou “Refuser (D)” l’action.

Continuez à faire cela pour les autres actions effectuées sur l’application. Pour obtenir le meilleur résultat, il est préférable de planifier votre liste d’actions avant de commencer le profilage.

Enfin, une fois que vous avez terminé, appuyez sur Shift + F pour terminer le profilage et Shift + S pour enregistrer le profil.

Une fois créé, le profil sera enregistré dans le dossier “/etc/apparmor.d” et sera chargé en mode Application.

Modifier les profils

Pour modifier votre profil nouvellement créé, utilisez la commande suivante :

sudo aa-logprof /etc/apparmor.d/

Dans ce cas, ` doit être le nom du nouveau profil qui a été créé lorsque vous avez utilisé la commandeaa-genprof` plus tôt. AppArmor analysera les entrées du journal et vous permettra de modifier le profil. ## Arrêter et redémarrer AppArmor Si, pour une raison quelconque, vous devez arrêter AppArmor, vous pouvez facilement le faire avec : sudo service apparmor stop Vous pouvez confirmer qu’il a été arrêté en vérifiant l’état avec cette commande : systemctl status apparmor Ubuntu Apparmor Désactivé Et pour redémarrer AppArmor à nouveau : sudo service apparmor restart Si vous vérifiez à nouveau l’état, vous verrez un voyant vert indiquant qu’AppArmor est en cours d’exécution. Ubuntu Apparmor Activé Si vous gérez votre propre serveur, consultez ces conseils pour sécuriser votre serveur Linux. ## Questions fréquentes ### Pourquoi AppArmor désactive-t-il rsyslog par défaut ? rsyslog est un logiciel configurable qui gère la journalisation du système, y compris la réception, la transformation et la livraison de messages journaux à différentes destinations. Son profil AppArmor, “usr.sbin.rsyslogd”, est inclus mais désactivé par défaut. Selon l’ingénieur de Canonical, Jamie Strandboge, cela se produit parce que rsyslog est si hautement configurable que le profil peut ne pas toujours fonctionner correctement. ### Quelle est la différence entre les versions 2 et 3 d’AppArmor ? AppArmor 3.x est la dernière version d’AppArmor et a été publiée le 1er octobre 2020, et est une grande expansion. AppArmor 2.x est très ancien, ayant été publié vers 2007. Il semble qu’il n’y aura plus de développement actif sur la série 2.x. La dernière version, 2.13.6, a été publiée en décembre 2020, et AppArmor 2.14 est listé comme “annulé” sur le site de développement. AppArmor 3.0.7 a été publié le 9 août 2022. ### Si j’ai AppArmor, ai-je encore besoin d’un antivirus ? Oui, vous avez toujours besoin d’un programme antivirus même si vous avez AppArmor en cours d’exécution. Les deux effectuent des opérations complètement différentes et se complètent mutuellement. Il est bon d’avoir un antivirus sur Ubuntu, même si les systèmes Linux sont moins ciblés par les créateurs de logiciels malveillants. Qu’est-ce que les blobs binaires et pourquoi représentent-ils un risque pour la sécurité ? Découvrez la réponse et comment Linux-Libre peut vous offrir une meilleure protection que le Linux standard. Toutes les captures d’écran par Brandon Li.