2Jul

Comment créer des profils AppArmor pour verrouiller des programmes sur Ubuntu

AppArmor verrouille les programmes sur votre système Ubuntu, ne leur accordant que les permissions 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 dans d'autres distributions Linux. Ubuntu est livré avec 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 pouvez vérifier le paquet apparmor-profiles dans les dépôts d'Ubuntu pour voir si un profil existe déjà pour l'application que vous voulez confiner.

Créer &Exécution d'un plan de test

Vous devez exécuter le programme pendant que AppArmor le regarde et passe en revue toutes ses fonctions normales. Fondamentalement, vous devriez utiliser le programme tel qu'il serait utilisé 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 de lancer 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 /path/to/ binaire

Laissez aa-genprof s'exécuter dans le terminal,démarrez le programme et parcourez 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 l'exécution de votre plan de test terminée, revenez au terminal et appuyez sur la touche S pour rechercher les événements AppArmor dans le journal système.

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/, s'il doit fonctionner avec son propre profil AppArmor ou s'il doit fonctionner en mode non-confiné.

Pour d'autres actions, vous verrez des invites différentes - 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 Complain &Mise au point du profil

Après avoir créé le profil, placez-le en mode "réclamation", où AppArmor ne limite pas les actions qu'il peut effectuer mais consigne les restrictions qui se produiraient autrement:

sudo aa-plain /path/to/ binaire

Utiliser normalement le programmepour un moment. Après l'avoir utilisé normalement en mode de réclamation, exécutez la commande suivante pour rechercher les erreurs dans les journaux système et mettre à jour le profil:

sudo aa-logprof

Utilisation du mode Enforce pour verrouiller l'application

Après avoir affiné votre profil AppArmor, activez "enforce mode" pour verrouiller l'application:

sudo aa-enforce /path/to/ binaire

Vous pouvez exécuter la commande sudo aa-logprof dans le futur pour modifier votre profil.

Les profils AppArmor sont des fichiers en 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.