Security
Difficulte: Intermediate
3 min de lecture

AppArmor : Sécuriser les Applications Linux

Guide complet pour installer et configurer AppArmor sur un système Linux afin de renforcer la sécurité des applications avec des profils de contrôle d'accès.

Retour aux tutoriels
Qu'est-ce qu'AppArmor ?
AppArmor (Application Armor) est un système de contrôle d'accès obligatoire (MAC) pour Linux, intégré au noyau. Il confine les programmes à un ensemble limité de ressources, réduisant ainsi la surface d'attaque en cas de compromission.

Pourquoi Utiliser AppArmor ?

  • Sécurité en profondeur : Ajoute une couche de sécurité au-delà des permissions traditionnelles (read, write, execute).
  • Simplicité : Considéré comme plus simple à apprendre et à gérer que son alternative, SELinux. Les profils sont basés sur les chemins de fichiers.
  • Pré-configuré : De nombreuses distributions (comme Ubuntu) sont livrées avec des profils AppArmor pré-activés pour des services courants.

Prérequis

  • Système d'exploitation : Distribution Linux supportant AppArmor (Ubuntu, Debian, openSUSE...).
  • Privilèges : Accès root ou privilèges sudo.

Installation et Activation

Étape 1 : Vérification du statut d'AppArmor

AppArmor est souvent installé et activé par défaut. Vérifiez son statut :

sudo apparmor_status
# Alias plus moderne : sudo aa-status

Cette commande liste les profils chargés et leur mode (enforce ou complain).

Étape 2 : Installation

Si AppArmor n'est pas installé, vous pouvez le faire via votre gestionnaire de paquets :

# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y apparmor apparmor-utils

Étape 3 : Activation du service

Assurez-vous que le service AppArmor est activé au démarrage :

sudo systemctl enable apparmor
sudo systemctl start apparmor
AppArmor est actif !
Le service est maintenant en cours d'exécution et les profils par défaut sont appliqués.

Gestion des profils AppArmor

Les profils sont des fichiers texte situés dans /etc/apparmor.d/ qui définissent les permissions pour une application spécifique.

Les deux modes de fonctionnement

  • Mode enforce : Le mode par défaut. AppArmor applique strictement les règles du profil et bloque toute action non autorisée.
  • Mode complain : Mode permissif. AppArmor ne bloque aucune action, mais enregistre les violations dans les logs système. C'est idéal pour tester et développer de nouveaux profils.

Changer le mode d'un profil

# Passer le profil de Firefox en mode complain
sudo aa-complain /etc/apparmor.d/usr.bin.firefox

# Repasser le profil en mode enforce
sudo aa-enforce /etc/apparmor.d/usr.bin.firefox

Recharger les profils

Après avoir modifié un profil, vous devez le recharger pour que les changements prennent effet :

# -r pour "replace" (remplacer)
sudo apparmor_parser -r /etc/apparmor.d/usr.bin.firefox

Pour recharger tous les profils :

sudo systemctl reload apparmor

Analyser les logs

Les violations des règles AppArmor sont enregistrées dans les logs du noyau. C'est la source d'information principale pour déboguer un profil.

# Utiliser journalctl
sudo journalctl -k | grep "apparmor=\"DENIED\""

# Ou directement dans les fichiers de log
sudo grep "apparmor=\"DENIED\"" /var/log/audit/audit.log
sudo grep "apparmor=\"DENIED\"" /var/log/syslog

Chaque ligne de log "DENIED" vous donnera des informations précieuses sur l'opération refusée, le profil concerné et le processus.

La création de profils
Créer un profil de A à Z peut être complexe. Il est recommandé d'utiliser les outils du paquet apparmor-utils, comme aa-genprof et aa-logprof, qui facilitent grandement ce processus.

Conclusion

AppArmor est une brique de sécurité fondamentale pour tout système Linux moderne. En confinant les applications, il limite drastiquement les dégâts potentiels d'une faille de sécurité. Bien que sa mise en place puisse sembler intimidante, l'utilisation des profils existants et des utilitaires comme aa-status et aa-complain la rend accessible et très efficace.