Comment créer des profils AppArmor pour verrouiller des programmes sur Ubuntu
AppArmor verrouille les programmes sur votre système Ubuntu en leur accordant uniquement les autorisations dont ils ont besoin pour une utilisation normale, ce qui est particulièrement utile pour les logiciels serveur susceptibles d'être compromis. AppArmor inclut 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 plusieurs profils, mais vous pouvez également créer vos propres profils AppArmor. Les utilitaires 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 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 l'observe et parcourir toutes ses fonctions normales. Fondamentalement, vous devez utiliser le programme tel qu’il serait utilisé en utilisation normale: démarrez le programme, arrêtez-le, rechargez-le et utilisez toutes ses fonctions. Vous devez concevoir un plan de test qui passe en revue 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 rencontrez de problèmes plus tard..
Après avoir exécuté votre plan de test, revenez au terminal et appuyez sur le bouton S clé permettant d'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 s'exécuter avec son propre profil AppArmor ou s'il doit s'exécuter en mode non restreint..
Pour certaines autres actions, vous verrez différentes invites - nous autorisons ici 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 de réclamation et optimisation du profil
Une fois le profil créé, mettez-le en «mode réclamation», où AppArmor ne restreint pas les actions qu'il peut effectuer mais consigne plutôt les restrictions qui se produiraient autrement:
sudo aa-plainte / chemin / vers / binaire
Utilisez le programme normalement pendant un moment. Après l'avoir utilisé normalement en mode réclamation, exécutez la commande suivante pour analyser les journaux de votre système à la recherche d'erreurs et mettre à jour le profil:
sudo aa-logprof
Utilisation du mode Appliquer pour verrouiller l'application
Une fois que vous avez affiné 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 pour peaufiner votre profil.
Les profils AppArmor sont des fichiers texte, 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..