AppArmor verrouille les programmes sur votre système Ubuntu, en leur accordant uniquement les autorisations dont ils ont besoin en utilisation normale – particulièrement utile pour les logiciels serveur qui peuvent être compromis. AppArmor comprend des outils simples que vous pouvez utiliser pour verrouiller d’autres applications.
AppArmor est inclus par défaut dans Ubuntu et certaines autres distributions Linux. Ubuntu fournit AppArmor avec plusieurs profils, mais vous pouvez également créer vos propres profils AppArmor. Les utilitaires d’AppArmor peuvent surveiller l’exécution d’un programme et vous aider à créer un profil.
Avant de créer votre propre profil pour une application, vous souhaiterez peut-être vérifier le package apparmor-profiles dans les référentiels d’Ubuntu pour voir si un profil pour l’application que vous souhaitez limiter existe déjà.
Créer et exécuter un plan de test
Vous devrez exécuter le programme pendant que AppArmor le regarde et parcourir toutes ses fonctions normales. Fondamentalement, vous devez utiliser le programme comme il le serait en utilisation normale: démarrer le programme, l’arrêter, le recharger et utiliser toutes ses fonctionnalités. Vous devez concevoir un plan de test qui passe par les fonctions que le programme doit exécuter.
Avant d’exécuter votre plan de test, lancez un terminal et exécutez les commandes suivantes pour installer et exécuter aa-genprof:
sudo apt-get install apparmor-utils
sudo aa-genprof / chemin / vers / binaire
Laissez aa-genprof s’exécuter dans le terminal, démarrez le programme et exécutez le plan de test que vous avez conçu ci-dessus. Plus votre plan de test est complet, moins vous rencontrerez de problèmes plus tard.
Une fois que vous avez terminé d’exécuter votre plan de test, revenez au terminal et appuyez sur le bouton S pour analyser le journal système à la recherche d’événements AppArmor.
Pour chaque événement, vous serez invité à choisir une action. Par exemple, ci-dessous, nous pouvons voir que / usr / bin / man, que nous avons profilé, a exécuté / usr / bin / tbl. Nous pouvons choisir si / usr / bin / tbl doit hériter des paramètres de sécurité de / usr / bin / man, s’il doit fonctionner avec son propre profil AppArmor, ou s’il doit s’exécuter en mode non confiné.
Pour certaines autres actions, vous verrez différentes invites – ici nous autorisons l’accès à / dev / tty, un périphérique qui représente le terminal
À la fin du processus, vous serez invité à enregistrer votre nouveau profil AppArmor.
Activation du mode plainte et modification du profil
Après avoir créé le profil, mettez-le en «mode plainte», où AppArmor ne restreint pas les actions qu’il peut entreprendre, mais enregistre à la place les restrictions qui se produiraient autrement:
sudo aa-plaint / chemin / vers / binaire
Utilisez le programme normalement pendant un certain temps. Après l’avoir utilisé normalement en mode plainte, exécutez la commande suivante pour analyser vos journaux système à la recherche d’erreurs et mettre à jour le profil:
sudo aa-logprof
Utilisation du mode Enforce pour verrouiller l’application
Une fois que vous avez terminé de peaufiner votre profil AppArmor, activez le «mode d’application» pour verrouiller l’application:
sudo aa-enforce / chemin / vers / binaire
Vous voudrez peut-être exécuter le sudo aa-logprof commande à l’avenir de modifier votre profil.
Les profils AppArmor sont des fichiers de texte brut, vous pouvez donc les ouvrir dans un éditeur de texte et les modifier à la main. Cependant, les utilitaires ci-dessus vous guident tout au long du processus.