AppArmor Utils est une suite d'outils en ligne de commande qui facilite la gestion des profils AppArmor. Ces utilitaires permettent de générer, d'affiner et de maintenir les politiques de sécurité qui confinent les applications.
Pourquoi Utiliser AppArmor Utils ?
- Création de profils simplifiée : L'outil
aa-genprofpermet de générer un profil en mode "apprentissage". - Maintenance facile :
aa-logprofanalyse les logs pour vous aider à mettre à jour les profils existants. - Gestion des états : Passez facilement un profil du mode
complain(journalisation seule) au modeenforce(blocage actif).
Prérequis
- Système d'exploitation : Distribution Linux avec AppArmor (Ubuntu, Debian, openSUSE...).
- Privilèges : Accès root ou privilèges sudo.
- AppArmor : Le service AppArmor doit être installé et activé.
Installation d'AppArmor Utils
Le paquet apparmor-utils est généralement installé avec AppArmor. Sinon, installez-le manuellement :
# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y apparmor-utils
Création d'un profil avec aa-genprof
C'est l'outil principal pour créer un nouveau profil pour une application qui n'en a pas.
Étape 1 : Lancer le générateur de profil
Supposons que vous souhaitiez confiner l'utilitaire tcpdump. Lancez aa-genprof en lui indiquant le binaire :
sudo aa-genprof /usr/sbin/tcpdump
Étape 2 : Déclencher les actions de l'application
Dans un autre terminal, lancez l'application et effectuez les actions que vous souhaitez autoriser. Par exemple :
sudo tcpdump -i eth0 -c 5
Étape 3 : Scanner les logs et construire le profil
Retournez au premier terminal (celui de aa-genprof) et appuyez sur la touche `S` (Scan). L'outil va analyser les logs système à la recherche d'événements générés par `tcpdump`.
Pour chaque événement, aa-genprof vous demandera si vous souhaitez l'autoriser (Allow), le refuser (Deny), ignorer l'événement (Ignore), etc. Répondez aux questions pour construire progressivement votre profil.
Étape 4 : Sauvegarder et activer le profil
Une fois que vous avez traité tous les événements, appuyez sur `F` (Finish) pour sauvegarder le profil dans /etc/apparmor.d/. Le profil sera automatiquement mis en mode enforce.
Votre application est maintenant confinée par AppArmor. Vous pouvez vérifier son statut avec
sudo aa-status.
Mise à jour d'un profil avec aa-logprof
Si une application confinée a besoin de nouvelles permissions (par exemple après une mise à jour), aa-logprof est l'outil qu'il vous faut.
Lancez-le simplement :
sudo aa-logprof
Comme pour aa-genprof, il va scanner les logs et vous proposer d'autoriser ou de refuser les actions qui ont été bloquées par le profil existant.
Gestion des modes de profil
Vous pouvez facilement changer le mode d'un profil.
Passer en mode complain (non-bloquant)
sudo aa-complain /etc/apparmor.d/usr.sbin.tcpdump
Dans ce mode, les violations sont journalisées mais pas bloquées. C'est utile pour tester un profil sans casser l'application.
Passer en mode enforce (bloquant)
sudo aa-enforce /etc/apparmor.d/usr.sbin.tcpdump
C'est le mode de production standard, où les règles sont strictement appliquées.
Désactiver un profil
sudo aa-disable /etc/apparmor.d/usr.sbin.tcpdump
Notez que le nom du fichier de profil dans
/etc/apparmor.d/ remplace les `/` par des `.` (ex: /usr/sbin/tcpdump devient usr.sbin.tcpdump).
Conclusion
Les outils apparmor-utils sont indispensables pour travailler efficacement avec AppArmor. Ils transforment la tâche, potentiellement complexe, de création et maintenance de profils en un processus interactif et guidé. Maîtriser aa-genprof et aa-logprof est la clé pour sécuriser efficacement vos applications Linux.