Apparmor
Aller à la navigation
Aller à la recherche
| Fiche express | |
|---|---|
| Domaine | Contrôle d'accès obligatoire (MAC) |
| Type | Confinement d'applications par profils |
| Contexte | Linux (Debian/Ubuntu, openSUSE…), module de sécurité noyau (LSM) |
| Voir aussi | Chroot · Jail |
AppArmor (Application Armor) est un module de sécurité du noyau Linux qui met en œuvre du contrôle d'accès obligatoire (Mandatory Access Control, MAC). Il permet de restreindre les capacités d'un programme à un ensemble de ressources explicitement autorisées — fichiers, capacités POSIX, accès réseau — via des profils associés à chaque exécutable. En cas de compromission d'un service, l'attaquant reste confiné au périmètre défini par le profil.
Contrairement à SELinux qui repose sur des étiquettes, AppArmor travaille sur les chemins de fichiers, ce qui rend ses profils plus simples à lire et à écrire.
Modes de fonctionnement
Chaque profil peut être placé dans deux modes :
- enforce — les accès non autorisés sont bloqués et journalisés ;
- complain — les accès sont autorisés mais journalisés (utile pour construire ou déboguer un profil).
Commandes utiles
# État global et liste des profils chargés
aa-status
# Basculer un profil en mode complain (apprentissage) ou enforce
aa-complain /etc/apparmor.d/usr.sbin.nginx
aa-enforce /etc/apparmor.d/usr.sbin.nginx
# Générer / affiner un profil à partir des journaux
aa-genprof /usr/sbin/mon-service
aa-logprof
Les profils sont stockés dans /etc/apparmor.d/. Après modification, recharger le profil :
apparmor_parser -r /etc/apparmor.d/usr.sbin.nginx