Security
Difficulte: Intermediate
3 min de lecture

AppArmor Utils : Gestion des Profils de Sécurité

Guide complet pour utiliser AppArmor Utils afin de créer, gérer et renforcer les profils de sécurité de vos applications sur Linux.

Retour aux tutoriels
Qu'est-ce qu'AppArmor Utils ?
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-genprof permet de générer un profil en mode "apprentissage".
  • Maintenance facile : aa-logprof analyse les logs pour vous aider à mettre à jour les profils existants.
  • Gestion des états : Passez facilement un profil du mode complain (journalisation seule) au mode enforce (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.

Profil créé !
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
Chemin du profil
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.