Réponses:
Apparmor est un système de contrôle d'accès obligatoire (ou MAC). Il utilise les améliorations du noyau LSM pour limiter les programmes à certaines ressources. AppArmor le fait avec les profils chargés dans le noyau au démarrage du système. Apparmor a deux types de modes de profil, application et plainte. Les profils en mode exécution appliquent les règles de ce profil et signalent les tentatives de violation dans syslog
ou auditd
. Les profils en mode réclamation n'appliquent aucune règle de profil, il suffit de consigner les tentatives de violation.
Dans Ubuntu, Apparmor est installé par défaut. Il limite les applications aux profils pour déterminer les fichiers et les autorisations auxquels un programme doit accéder. Certaines applications auront leurs propres propriétés et d’autres peuvent être trouvées dans le apparmor-profiles
paquet.
Vous pouvez installer apparmor-profiles
en exécutant sudo apt-get install apparmor-profiles
.
J'ai trouvé un bon exemple d'Apparmor sur les forums Ubuntu que j'ai réécrit pour cet article.
Apparmor est un cadre de sécurité qui empêche les applications de faire le mal. Par exemple: si j'exécute Firefox et que je visite un mauvais site qui tente d'installer un logiciel malveillant susceptible de supprimer mon
home
dossier, Apparmor a des limites sur Firefox, tout en l'empêchant de faire tout ce que je ne souhaite pas (comme accéder à ma musique, mes documents, etc.). De cette manière, même si votre application est compromise, aucun préjudice ne peut être causé.
Le apparmor-utils
paquet contient des outils de ligne de commande pour configurer Apparmor. En l'utilisant, vous pouvez changer le mode d'exécution d'Apparmor, trouver le statut d'un profil, créer de nouveaux profils, etc.
Ce sont les commandes les plus courantes:
Remarque: les profils sont stockés dans/etc/apparmor.d/
sudo apparmor_status
. Vous obtiendrez une liste de tous les profils * chargés, de tous les profils en mode imposé, de tous les profils en mode réclamation, des processus définis dans imposition / plainte, etc. sudo aa-complain /path/to/bin
, où se /path/to/bin
trouve le bin
dossier programmes . Par exemple, exécuter: sudo aa-complain /usr/bin/firefox
mettra Firefox en mode réclamation.sudo aa-enforce /path/to/bin
pour appliquer un profil de programmes. sudo aa-complain /etc/apparmor.d/*
et sudo aa-enforce.d/*
respectivement. Pour charger un profil dans le noyau, vous utiliseriez apparmor_parser
. Vous pouvez recharger des profils à l'aide du -r
paramètre.
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
qui imprime efficacement le contenu de profile.name
dans l'analyseur d'Apparmor.-r
paramètre, comme suit:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
sudo service apparmor reload
Pour désactiver un profil lien à l' /etc/apparmor.d/disable/
aide ln
comme ceci: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
puis exécutez: sudo apparmor_parser -R /etc/apparmor.d/profile.name
.
Remarque: Ne confondez pasapparmor_parser -r
avec, ilsapparmor_parser -R
ne sont pas la même chose!
/etc/apparmor.d/disable/
est associé puis chargez-le à l'aide du -a
paramètre.sudo rm /etc/apparmor.d/disable/profile.name
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
sudo service apparmor stop
et supprimer le module du noyau en utilisantsudo update-rc.d -f apparmor defaults
sudo service apparmor start
et chargez les modules du noyau avecsudo update-rc.d apparmor defaults
Les profils sont stockés dans /etc/apparmor.d/
et sont nommés d'après le chemin complet de l'exécutable qu'ils profilent, en remplaçant '/' par '.'. Par exemple, /etc/apparmor.d/bin.ping
le profil de ping
dans /bin
.
Il existe deux principaux types d'entrées utilisées dans les profils:
Les entrées de chemin déterminent les fichiers auxquels une application peut accéder.
Les entrées de capacité déterminent les privilèges qu'un processus peut utiliser.
Regardons le profil pour ping
, situé dans etc/apparmor.d/bin.ping
, à titre d'exemple.
#include <tunables/global>
/bin/ping flags=(complain) {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
/bin/ping mixr,
/etc/modules.conf r,
}
#include <tunables/global>
Inclut le fichier global
dans le répertoire tunables
, cela permet aux instructions relatives à plusieurs applications d'être placées dans un fichier commun.
/bin/ping flags=(complain)
définit le chemin d'accès au programme profilé et définit le mode de réclamation.
capability net_raw
permet à l'application d'accéder à la CAP_NET_RAW Posix.1e
capacité.
/bin/ping mixr
permet à l'application de lire et d'exécuter l'accès au fichier.
/etc/modules.conf r,
Le r
donne à l'application des privilèges de lecture pour/etc/modules.conf
Remarque: après avoir créé / modifié un profil, vous devez le recharger pour que les modifications prennent effet.
Voici une liste des autorisations que vous pouvez utiliser:
r
- lis w
- écrire ux
- Exécuter sans contrainte Ux
- Exécuter sans contrainte - Nettoyer l'environnement px
- Exécution de profil discret Px
- Exécution de profil discret - nettoyage de l'environnement ix
- Hériter exécuter m
- permettre PROT_EXEC
avec des mmap(2)
appels l
- lienAppArmor est un système de contrôle d'accès obligatoire (MAC) qui constitue une amélioration du noyau (LSM) permettant de limiter les programmes à un ensemble limité de ressources. Le modèle de sécurité d'AppArmor consiste à lier les attributs de contrôle d'accès aux programmes plutôt qu'aux utilisateurs. Le confinement AppArmor est fourni via des profils chargés dans le noyau, généralement au démarrage. Les profils AppArmor peuvent être dans l’un des deux modes suivants: application et plainte. Les profils chargés en mode de mise en application entraînent l'application de la stratégie définie dans le profil ainsi que des tentatives de violation de la stratégie de génération de rapports (via syslog ou auditd). Les profils en mode réclamation n'appliqueront pas la stratégie, mais signaleront les tentatives de violation de la stratégie.
AppArmor est différent de certains autres systèmes MAC sur Linux en ce qu’il repose sur des chemins, permet de mélanger des profils en mode application et plainte, utilise des fichiers d’inclusion pour faciliter le développement et offre une barrière à l’entrée nettement inférieure à celle des autres systèmes MAC courants.
AppArmor est une technologie éprouvée apparue pour la première fois dans Immunix, puis intégrée dans Ubuntu, Novell / SUSE et Mandriva. La fonctionnalité Core AppArmor est présente dans le noyau Linux principal à partir de la version 2.6.36; AppArmor, Ubuntu et d’autres développeurs travaillent actuellement au regroupement de fonctionnalités AppArmor supplémentaires dans le noyau principal.
J'ai quelques liens plus utiles vers vous: Wiki.Ubuntu.com Ubuntuforums.org
Guides Apparmor pour Ubuntu 12.04 et Ubuntu 12.10
J'espère que cela vous aidera.
Voici une citation du wiki Apparmor :
AppArmor est un système de sécurité des applications Linux efficace et facile à utiliser. AppArmor protège de manière proactive le système d'exploitation et les applications contre les menaces internes ou externes, même les attaques «zero-day», en appliquant un comportement correct et en empêchant l'exploitation de failles d'applications même inconnues. Les stratégies de sécurité AppArmor définissent complètement les ressources système auxquelles chaque application peut accéder et avec quels privilèges. Un certain nombre de stratégies par défaut sont incluses avec AppArmor. En combinant une analyse statique avancée et des outils basés sur l'apprentissage, les stratégies AppArmor, même pour des applications très complexes, peuvent être déployées avec succès en quelques heures à peine.