AppArmor qu'est-ce que c'est?
Environnement
Dans ce tutoriel nous allons utiliser la
distribution linux ubuntu 11.10.
Installation
d'Apparmor
Dans Ubuntu comme dans plusieurs autres distributions
AppArmor est chargé par défaut.
Aprés tout un apt-get s'impose:
Installation de apparmor-profiles :
Installation d’apparmor-utils :
Les différentes
commandes
Dans AppArmor, pour restreindre l'accès à une application
ou processus, il faut lui créer un profile. On retrouve deux types de profiles:
Le mode complain:
Le mode complain peut être considéré comme un mode
passif, un mode de surveillance dans lequel AppArmor ne fera que consigner les
violations en fonction des autorisations définies dans un profil, sans restreindre
l’application.
Mettre un profile en mode complain
# aa-complain /chemin/vers/programme
Le mode enforce:
Ici, les violations sont aussi consignées mais
l’application est activement restreinte et n’est autorisée à agir que dans le
champ d’action défini par son profil. Ce mode est évidement plus intéressant.
Mettre un profile en mode enforce :
# aa-enforce /chemin/vers/programme
Créer
un nouveau profile
Pour ce faire on va utiliser l'outil genprof (le man nous
en dira plus).
Exemple: pour les illustrations on va utiliser
l'application Thunderbird de Mozilla qui est intégrée dans ubuntu.
Dans la console lancée, on active le mode enforce pour le profile de Thunderbird
Là on voit que le profile est mis
en mode enforce.
Les
profiles...les profiles...c'est quoi?...ils sont ou?
En fait, le profile c'est juste un fichier qu'on peut édité
pour y consigné les restrictions de l'application. Tous les profiles se trouve
dans le répertoire /etc/apparmor.d/ selon un nommage bien défini.
Pour Thunderbird on trouve le nom usr.lib.thunderbirdXXX,
la suite dépend de votre version.
Pour avoir plus de détails sur les
profiles on peut utiliser la commande
apparmor_status, elle nous
permet de voir les applications/processus en mode complain ou enforce et leur statut.
désactiver/relancer
un profile
Désactiver:
Dans ce
cas on retrouve le profile dans le dossier disable qui se trouve dans
/etc/apparmor.d/disable/
On a deux profiles désactivés Firefox et Thunderbird.
Relancer:
Gestion
des profiles
Pour la gestion des profile on a l'outil logprof
Exemple:
Appuyez sur Entrée : Permet l'accès au chemin du
répertoire sélectionné.
Autoriser : Permet l'accès aux
entrées du chemin du répertoire spécifiées.
AppArmor suggère l'autorisation d'accès du fichier.
Refuser : Empêche le programme
d'accéder aux entrées du chemin de répertoire spécifié. Novell AppArmor passe
ensuite à l'événement suivant.
Nouveau : Vous invite à entrer
votre propre règle pour cet événement et permet de spécifier la forme
d'expression régulière que vous souhaitez. Si l'expression que vous entrez ne
satisfait pas pleinement l'événement ayant occasionné la question, Novell
AppArmor vous demande confirmation et vous laisse entrer de nouveau
l'expression.
Glob : Lorsque vous cliquez
sur cette option, le chemin du répertoire est modifié (à l'aide de caractères
joker) pour inclure tous les fichiers du répertoire de l'entrée suggéré.
Lorsque vous double-cliquez sur cette option, l'accès est accordé à tous les
fichiers et sous-répertoires se trouvant au-dessous de celui qui est affiché.
Glob avec (E) xt : Cette
option modifie le chemin de répertoire d'origine tout en conservant l'extension
du nom de fichier. Par exemple, /etc/apache2/file.ext devient /etc/apache2/*.ext, en ajoutant le
caractère joker (l'astérisque) à la place du nom de fichier. Cela permet au
programme d'accéder à tous les fichiers du répertoire suggéré qui se terminent
par l'extension .ext.
Lorsque vous double-cliquez sur cette option, l'accès est accordé à tous les
fichiers (ayant cette extension particulière) et sous-répertoires se trouvant
au-dessous de celui qui est affiché.
Édition : Permet de modifier
la ligne sélectionnée. La nouvelle ligne modifiée apparaît au bas de la liste.
Interrompre : Interrompt
logprof en éliminant toutes les modifications de règle entrées jusque-là et
sans modifier aucun des profils.
Terminer : Ferme logprof en
enregistrant toutes les modifications de règle entrées jusque-là et en
modifiant tous les profils.
Remarque :
Il existe une application pour la gestion des profile qui
est YaST, cependant YaST est l'outil d'installation et de configuration pour
les distributions openSUSE et SUSE Linux Enterprise. Il est populaire par sa
simplicité, son interface graphique attractive et par la possibilité de paramétrer
votre système rapidement pendant et après l'installation. YaST signifie Yet
another Setup Tool. YaST peut être utilisé pour configurer votre système
entier. Configuration materielle, configuration du réseau, services système et
ajustement des paramètres de sécurité, toutes ces tâches peuvent être
effectuées depuis le Centre de contrôle de YaST.