Apportez votre aide…
Ceci est une ancienne révision du document !
AppArmor : gestion des droits d'accès sur les applications
Présentation d'AppArmor
AppArmor ("Application Armor") est un logiciel de sécurité pour Linux édité sous GPL. AppArmor permet à l'administrateur système d'associer à chaque programme un profil de sécurité qui restreint les capacités de celui-ci.
Il s'agit plus précisément d'un outil qui permet de verrouiller les applications pour les forcer à n’accéder qu’aux ressources auxquelles elles ont droit sans perturber leur fonctionnement.
Installation sous Feisty
Il faut installer les paquets apparmor-modules-source dpatch
Ensuite il suffit de taper dans la console :
sudo m-a -v -t prepare
sudo m-a -v -t -f build apparmor-modules
sudo m-a -v -t -f install apparmor-modules
Puis d' installer les paquets apparmor apparmor-utils apparmor-profiles libterm-readline-gnu-perl
et de redémarrer sa machine.
Utilisation
Les profils apparmor sont situés dans le répertoire /etc/apparmor.d/
. On peut installer quelques profils supplémentaires avec le paquet apparmor-profiles
. Quand on modifie des profils, il faut recharger la liste des profiles avec la commande :
$ sudo invoke-rc.d apparmor reload
Pour connaître l'état actuel de AppArmor, utiliser la commande :
$ sudo apparmor_status
apparmor_status
signalera ces derniers en tant que unconfined.
Les profils peuvent être en mode complain ou en mode enforced. On passe d'un mode à l'autre à l'aide des commandes aa-complain
et aa-enforce
. En mode complain, AppArmor ne bloque pas les accès faits par le processus, même si ceux-ci ne sont pas autorisés pas le profil. Il se contente de les signaler dans les fichiers log. En monde enforced, AppArmor empêche tout accès qui n'est pas permis par le profil du processus.
Création de nouveaux profils
Il existe deux manières de créer de nouveaux profils. La première s'applique dans le cas d'un processus qui s'exécute simplement, dans une durée de temps limitée. La seconde s'applique aux processus de type daemon, ou encore aux processus exécutés périodiquement ou sur une longue période de temps.
Première méthode
Il suffit de lancer l'application à l'aide de la commande aa-genprof
. AppArmor détectera automatiquement les accès faits par l'application, générera le fichier profile approprié et le placera dans le répertoire /etc/apparmor.d
.
$ sudo aa-genprof /chemin/vers/mon/processus
Seconde méthode
On crée d'abord un profil temporaire à l'aide de la commande aa-autodep
. On laisse rouler le processus à confiner durant le temps nécessaire, puis on corrige le fichier de profil à l'aide des messages laissés dans les fichiers log, grâce à la commande aa-logprof
. Au besoin, on continue à laisser rouler le processus et on relance la commande aa-logprof
, jusqu'à ce que le fichier de profil soit adéquat. On peut alors placer ce fichier en mode enforced.
$ sudo aa-autodep /chemin/vers/mon/processus ... $ sudo aa-logprof
On peut se référer à la documentation sur le site de Novell pour connaître les différentes options proposées par aa-logprof
.
Notifications de violations
À ma connaissance, Gusty n'inclut pas encore d'outils pour avertir l'utilisateur des violations de profils. Il faut donc examiner manuellement le fichier syslog
, ce qui peut être fastidieux. Une solution pourrait être d'installer le paquet logcheck
, qui se chargera d'envoyer par courriel diverses informations contenues dans les log, dont les violations signalées par AppArmor.
Exemples de profils
voir aussi
Liens
Apparmor par Novell, plus spécifiquement la documentation.