AppArmor

Un article de Wikipédia, l'encyclopédie libre.

AppArmor (Application Armor) est un logiciel de sécurité pour Linux édité sous Licence publique générale GNU. Il est actuellement développé par Novell. AppArmor permet à l'administrateur système d'associer à chaque programme un profil de sécurité qui restreint ses capacités. Il accompagne le traditionnel modèle d'Unix du contrôle d'accès discrétionnaire (DAC, Discretionary access control) en lui permettant d'utiliser le contrôle d'accès obligatoire (MAC, Mandatory access control).

En supplément des profils de spécifications manuelles, AppArmor comprend un mode d'apprentissage (learning mode), où toutes les transgressions au profil sont enregistrées, mais pas empêchées. Ce fichier de suivi peut alors être inclus dans le profil, se basant alors sur le comportement typique du programme.

AppArmor est implémenté en utilisant l'interface (LSM, Linux Security Modules) du noyau.

AppArmor a été créé en partie comme une alternative à SELinux, critiqué pour ses difficultés de paramétrage et de maintenance pour les administrateurs. À la différence de SELinux, qui est basé sur l'application d'indicateurs sur les fichiers, AppArmor travaille avec les chemins. Les partisans de AppArmor disent que c'est moins complexe et plus facile pour l'utilisateur moyen que d'apprendre SELinux. Ils prétendent aussi que AppArmor demande moins de modifications pour fonctionner avec les systèmes existants; par exemple, SELinux demande l'utilisation d'un système de fichier qui prend en charge les attributs étendus pour les fichiers, et donc ne peut pas gérer le contrôle d'accès pour les fichiers montés avec NFS. AppArmor ne s'occupe pas de savoir sur quel système de fichiers se trouvent les fichiers.

Sommaire

[modifier] Autres systèmes

AppArmor représente une des multiples approches possibles pour résoudre le problème de la limitation des traitements que les logiciels installés peuvent faire.

Le système SELinux généralement utilise une approche similaire de AppArmor. Une différence importante est qu'il identifie les objets du système par leur nom plutôt que par leur chemin. Cela signifie, par exemple, qu'un fichier qui est inaccessible peut le devenir avec AppArmor quand un lien est créé, alors que SELinux interdira l'accès à travers le nouveau lien créé. D'une autre façon, les données qui sont inaccessibles peuvent le devenir lorsque les applications mettent à jour le fichier en le remplaçant par une nouvelle version (une technique utilisée fréquemment), alors que AppArmor continuera à en interdire l'accès. (Dans les deux cas, une politique par défaut no access résout le problème.)

Alors qu'il y a des débats importants sur le fait de savoir quelle approche est la meilleure, il n'y a encore aucune preuve sur le fait qu'une méthode soit préférable à l'autre. Les discussions sur les avantages et les inconvénients de chaque méthode tournerons toujours autour de la question de savoir quelle est l'approche la plus cohérente avec les mécanismes de contrôle d'accès UNIX/Linux existants, mais UNIX et Linux utilisent tous deux un mélange d'accès par fichier et par chemin. Notez aussi que les mécanismes de contrôle d'accès de chaque système resteront en place.

SELinux et AppArmor ont aussi des différences sur la façon dont ils sont gérés et aussi comment ils sont intégrés au système.

L'isolation des processus peut aussi être réalisée par le biais de la virtualisation ; le projet OLPC, par exemple, utilise une système de bac à sable afin d'isoler les applications grâce à un serveur de virtualisation très léger (Vserver).

[modifier] Références

[modifier] Voir aussi

  • Immunix, the original developers of AppArmor
  • SELinux
  • Systrace

[modifier] Lien supplémentaires