Selon les tags présents sur cette page, les informations qu'elle contient n'ont pas été vérifiées pour les dernières versions LTS depuis Ubuntu 14.04 LTS.
Apportez votre aide…

Ceci est une ancienne révision du document !



AppArmor : gestion des droits d'accès sur les applications

AppArmor ("Application Armor") est un logiciel libre de sécurité pour Linux. 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 en limitant strictement leur accès aux seules ressources auxquelles elles ont droit sans perturber leur fonctionnement.

Installation lucid et supérieur

AppArmor est installé par défaut vous pouvez ajouter de nouveaux profils en installant le paquet apparmor-profiles et vous pouvez également installer une suite d'utilisatires pour controler AppArmor en installant le paquet apparmor-utils

Lancer dans la console : FIXME ! ATTENTION : la première commande va lancer tout les profils en mode enforce

echo " pour mettre tous les profiles en marche "
sudo aa-enforce /etc/apparmor.d/*
echo " pour mettre seulement le profile d'une application en marche"
sudo aa-enforce firefox

Installation feisty

FIXME date de Feisty, a mettre a jour

Il suffit d'installer les paquets apparmor-modules-source dpatch (paquets indisponible avec natty -11.04 )

Ensuite, saisir 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 installer les paquets apparmor apparmor-utils apparmor-profiles libterm-readline-gnu-perl ( ne se trouve plus dans les dépôts avec natty ) et enfin redémarrer sa machine.

- Pour Natty et supérieur FIXME installer user-space parcer utility for apparmor disponible dans les dépôts (pour consulter le profil )

Puis dans console saisir :

apparmor_parser

Pour consulter le statut d'apparmor installer via le terminal :

sudo apt-get install apparmor-utils

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 profils avec la commande :

sudo invoke-rc.d apparmor reload

Pour connaître l'état actuel de AppArmor, utiliser la commande :

sudo apparmor_status
Quand on ajoute un profil à AppArmor, ce dernier n'est appliqué que si le processus auquel s'applique le profil est relancé. 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 par le profil. Il se contente de les signaler dans le fichier /var/log/messages. En mode enforced, AppArmor empêche tout accès non permis par le profil du processus.

Activer un profil existant

sudo aa-enforce [programme]

[programme] peut être le nom du programme ou le chemin complet vers l'exécutable.

Exemple :

sudo aa-enforce firefox

Activer tous les profils

La commande suivante active tous les profils connus.

sudo aa-enforce /etc/apparmor.d/*

Mettre un profil en mode complain

La commande aa-complain s'utilise de la même manière que aa-enforce. Par défaut les profils sont en mode enforced.

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, pour une durée 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.

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 profil 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 tourner 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 tourner 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

Pour plus de détails, vous pouvez vous reporter à la documentation sur le site de Novell pour connaître les différentes options proposées par aa-logprof.

Notifications de violations

FIXME 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 ( tutoriel-1, tutoriel-2 ) , qui se chargera d'envoyer par courriel diverses informations contenues dans les logs, dont les violations signalées par AppArmor.

  • apparmor.1375766738.txt.gz
  • Dernière modification: Le 06/08/2013, 07:25
  • par vince06fr