AppArmor est un puissant module de sécurité Linux qui améliore la sécurité du système en limitant les capacités des programmes. Il garantit que les applications ne peuvent accéder qu'aux ressources auxquelles elles sont explicitement autorisées, réduisant ainsi le risque d'activités malveillantes.
Principales caractéristiques:
- Contrôle d'accès: Définit les fichiers et les fonctionnalités auxquels un programme peut accéder.
- Modes de profil : Propose des modes d'application et de réclamation pour différents niveaux de sécurité.
- Intégration facile : Fonctionne de manière transparente avec diverses distributions Linux, y compris Ubuntu.
- Contrôle à grain fin : Permet des paramètres d'autorisation détaillés pour les applications.
- Journalisation et rapports : Fournit des journaux détaillés pour surveiller le comportement des applications.
Avantages:
- Sécurité renforcée: Limite les actions des applications potentiellement vulnérables.
- La flexibilité: Profils personnalisables pour répondre à des besoins de sécurité spécifiques.
- Surface d'attaque réduite : Minimise le risque d’exploits en confinant les applications.
- Conformité: Aide à répondre aux exigences réglementaires et de conformité en appliquant des politiques de sécurité.
Comprendre et utiliser AppArmor permet aux utilisateurs de renforcer considérablement la sécurité de leur système. Voyons maintenant comment activer ou désactiver AppArmor sur votre système Ubuntu.
Conditions préalables à l'installation d'AppArmor sur Ubuntu
Pour installer avec succès AppArmor sur Ubuntu, assurez-vous de remplir les conditions suivantes :
Configuration système requise et versions Ubuntu prises en charge
Composant | Minimum requis |
---|---|
Processeur | Processeur 1 GHz ou plus rapide |
RAM | 1 Go ou plus |
Espace disque | 10 Go d'espace libre |
Réseau | Connexion Internet haut débit |
Versions prises en charge | Ubuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Focale) |
Exigences supplémentaires
Exigence | Description |
---|---|
Connexion Internet | Nécessaire pour télécharger AppArmor et appliquer les mises à jour. |
Conventions des terminaux | Toutes les commandes du terminal doivent être exécutées en tant qu'utilisateur normal avec sudo privilèges. |
Commandes CLI | Utilisez l'interface de ligne de commande (CLI) pour l'installation et la configuration. |
Configuration de la sécurité | Assurez une configuration appropriée des profils de sécurité pour une protection optimale du système. |
Étapes préalables avant de gérer Apparmor
Installer des packages Apparmor supplémentaires
Pour exploiter pleinement les capacités d'AppArmor, assurez-vous que le apparmor-utils
Le package est installé sur votre système. Ce package est essentiel car il fournit diverses commandes pour gérer efficacement AppArmor.
Commencez par ouvrir votre terminal et exécutez la commande d'installation :
sudo apt install apparmor-utils apparmor-notify apparmor-profiles apparmor-profiles-extra
Cette commande installe les utilitaires de base d'AppArmor, les profils supplémentaires et la prise en charge des notifications, améliorant ainsi ses fonctionnalités.
Vérifier l'état d'AppArmor
AppArmor est généralement préinstallé et activé sur les systèmes Ubuntu. Pour confirmer son état actuel, utilisez la commande :
systemctl status apparmor
Exemple de sortie :
Vérifier l'état d'AppArmor via systemctl
s'assure que le service est opérationnel. Cette vérification est cruciale car elle confirme l'état actif d'AppArmor sur votre système. Bien que des méthodes alternatives existent pour cette vérification, à commencer par systemctl
fournit une approche fiable et simple.
Gestion des commandes Systemd pour AppArmor
Arrêter AppArmor
Pour arrêter le service AppArmor, exécutez :
sudo systemctl stop apparmor
Désactivation d'AppArmor au démarrage du système
Si vous souhaitez empêcher AppArmor de démarrer automatiquement au démarrage, utilisez :
sudo systemctl disable apparmor
Démarrage d'AppArmor
Pour démarrer le service AppArmor, notamment après l'avoir arrêté, exécutez :
sudo systemctl start apparmor
Activation d'AppArmor au démarrage du système (par défaut)
Pour revenir au paramètre par défaut où AppArmor démarre au démarrage, exécutez :
sudo systemctl enable apparmor
Redémarrage d'AppArmor
Pour que les modifications prennent effet ou pour réinitialiser le service, redémarrez AppArmor :
sudo systemctl restart apparmor
Rechargement d'AppArmor
Pour appliquer les modifications de configuration sans redémarrer le service, rechargez AppArmor :
sudo systemctl reload apparmor
Vérifier les profils AppArmor chargés
Examen des profils AppArmor actuels
Avant d'ajuster les paramètres d'AppArmor, il est crucial d'examiner l'état de ses profils. Cela se fait avec le apparmor_status
La commande fournit une vue détaillée des profils chargés et de leurs modes de fonctionnement.
Utilisez la commande suivante dans le terminal :
sudo apparmor_status
Cette commande génère des informations telles que le nombre de profils chargés, les profils de mode d'application et les processus associés. Le mode d'application indique les profils actifs limitant les comportements des applications en fonction de leurs règles spécifiques. Cet aperçu est essentiel pour comprendre la posture de sécurité avant d’apporter des modifications.
Exemple de sortie :
apparmor module is loaded.
63 profiles are loaded.
45 profiles are in enforce mode.
/snap/snapd/17883/usr/lib/snapd/snap-confine
/snap/snapd/17883/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/snap/snapd/17950/usr/lib/snapd/snap-confine
/snap/snapd/17950/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/bin/evince
/usr/bin/evince-previewer
/usr/bin/evince-previewer//sanitized_helper
/usr/bin/evince-thumbnailer
/usr/bin/evince//sanitized_helper
/usr/bin/man
/usr/bin/pidgin
/usr/bin/pidgin//sanitized_helper
/usr/bin/totem
/usr/bin/totem-audio-preview
/usr/bin/totem-video-thumbnailer
/usr/bin/totem//sanitized_helper
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/NetworkManager/nm-dhcp-helper
/usr/lib/connman/scripts/dhclient-script
/usr/lib/snapd/snap-confine
/usr/lib/snapd/snap-confine//mount-namespace-capture-helper
/usr/sbin/cups-browsed
/{,usr/}sbin/dhclient
apt-cacher-ng
lsb_release
man_filter
man_groff
nvidia_modprobe
nvidia_modprobe//kmod
snap-update-ns.firefox
snap-update-ns.snap-store
snap-update-ns.snapd-desktop-integration
snap.firefox.firefox
snap.firefox.geckodriver
snap.firefox.hook.configure
snap.firefox.hook.connect-plug-host-hunspell
snap.firefox.hook.disconnect-plug-host-hunspell
snap.firefox.hook.post-refresh
snap.snap-store.hook.configure
snap.snap-store.snap-store
snap.snap-store.ubuntu-software
snap.snap-store.ubuntu-software-local-file
snap.snapd-desktop-integration.hook.configure
snap.snapd-desktop-integration.snapd-desktop-integration
tcpdump
18 profiles are in complain mode.
/usr/bin/irssi
avahi-daemon
dnsmasq
dnsmasq//libvirt_leaseshelper
identd
klogd
mdnsd
nmbd
nscd
php-fpm
ping
samba-bgqd
smbd
smbldap-useradd
smbldap-useradd///etc/init.d/nscd
syslog-ng
syslogd
traceroute
0 profiles are in kill mode.
0 profiles are in unconfined mode.
3 processes have profiles defined.
3 processes are in enforce mode.
/usr/sbin/cups-browsed (1025)
/snap/snapd-desktop-integration/49/usr/bin/snapd-desktop-integration (1632) snap.snapd-desktop-integration.snapd-desktop-integration
/snap/snapd-desktop-integration/49/usr/bin/snapd-desktop-integration (1717) snap.snapd-desktop-integration.snapd-desktop-integration
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.
0 processes are in mixed mode.
0 processes are in kill mode.
Le résultat détaillera les profils chargés, montrant ceux qui appliquent activement les politiques de sécurité et ceux qui sont dans un mode de réclamation plus permissif. Par exemple, vous pouvez voir des profils pour des services réseau tels que dnsmasq
ou des applications comme snapd
. Cette visibilité est essentielle pour les administrateurs système souhaitant maintenir ou améliorer les mesures de sécurité.
Vérification de statut alternative : utilisation du statut aa
Une autre méthode pour vérifier les profils AppArmor consiste à utiliser le aa-status
commande. Cela offre un aperçu plus approfondi des profils :
sudo aa-status
Cette commande, similaire à apparmor_status
, répertorie tous les profils et statuts, y compris ceux en modes appliqué, réclamation et non confiné. Comprendre ces modes est essentiel lors du dépannage ou de l'optimisation des fonctionnalités d'AppArmor.
Sauvegarde des profils AppArmor
Avant d'apporter des modifications à AppArmor, la création d'une sauvegarde de ses profils est une bonne pratique recommandée. Cela garantit que vous pouvez revenir à une configuration connue si nécessaire. Exécutez la commande suivante pour sauvegarder les profils :
sudo cp -R /etc/apparmor.d /etc/apparmor.d.bak
Cette commande duplique les profils AppArmor actuels dans un répertoire de sauvegarde /etc/apparmor.d.bak
en sauvegardant votre configuration d'origine. Cette sauvegarde est un filet de sécurité, vous permettant d'expérimenter ou de modifier les paramètres d'AppArmor sans risquer de perdre votre configuration d'origine.
Comment désactiver le profil AppArmor
Accès au répertoire des profils AppArmor
Commencez par accéder au répertoire où les profils AppArmor sont stockés. Cela se fait en naviguant vers /etc/apparmor.d
:
cd /etc/apparmor.d
Liste des profils AppArmor disponibles
Ensuite, répertoriez les profils de ce répertoire pour identifier celui que vous souhaitez désactiver :
ls -s
Cette commande affiche tous les profils stockés dans le /etc/apparmor.d
annuaire. Vous pouvez sélectionner le profil spécifique que vous souhaitez désactiver dans cette liste.
Désactivation d'un profil AppArmor spécifique
Pour désactiver un profil choisi, utilisez le aa-disable
commande. Cela vous permet de désactiver des profils individuels sans affecter la fonctionnalité globale d'AppArmor. Par exemple, pour désactiver le usr.sbin.cupsd
profil:
sudo aa-disable /etc/apparmor.d/<profile-name>
Exemple d'exécution de commande
L'exécution de cette commande éteindra le usr.sbin.cupsd
profil. Cette action est immédiate, vous permettant de résoudre rapidement tout problème causé par ce profil spécifique tout en conservant la protection d'AppArmor pour les autres applications.
sudo aa-disable /etc/apparmor.d/usr.sbin.cupsd
Exemple de sortie :
Disabling /etc/apparmor.d/usr.sbin.cupsd
Affichage des profils AppArmor désactivés
Après avoir désactivé un profil, vous pouvez vérifier quels profils sont actuellement désactivés en cochant la case /etc/apparmor.d/disable
annuaire:
ls /etc/apparmor.d/disable
Cette commande fournit une liste de tous les profils actuellement désactivés dans AppArmor.
Comment activer le profil AppArmor
Réactivation d'un profil AppArmor désactivé
Dans les scénarios où un profil AppArmor précédemment désactivé doit être réactivé, le aa-enable
la commande entre en jeu. Cette commande simple restaure le profil sélectionné à son état actif, garantissant ainsi que ses politiques de sécurité sont à nouveau appliquées.
Voici comment exécuter cette commande :
sudo aa-enable /etc/apparmor.d/<profile-name>
Remplacer <profile-name>
avec le nom réel du profil que vous souhaitez activer.
Exemple : activation du profil usr.sbin.cupsd
Par exemple, si vous avez précédemment désactivé le usr.sbin.cupsd
profil, la commande pour le réactiver serait :
sudo aa-enable /etc/apparmor.d/usr.sbin.cupsd
Exemple de sortie :
Setting /etc/apparmor.d/usr.sbin.cupsd to enforce mode.
Cette commande définira le usr.sbin.cupsd
profil pour appliquer le mode. Le mode Enforce est crucial car il exige que les politiques de sécurité définies dans le profil soient activement appliquées, garantissant ainsi que les mesures de sécurité prévues sont en place.
Commandes supplémentaires avec les commandes AppArmor
Utilisation de la commande aa-genprof
Le aa-genprof
La commande joue un rôle déterminant dans la génération de nouveaux profils AppArmor. Il surveille les appels système d'une application et crée un profil basé sur cette activité, particulièrement utile pour les applications non encore couvertes par les profils existants.
Exemple : création d'un profil pour Firefox
Pour créer un nouveau profil AppArmor pour Firefox, exécutez :
sudo aa-genprof firefox
Cette commande capture les interactions de Firefox avec le système, facilitant la création d'un profil de sécurité sur mesure.
Application de la commande aa-enforce
Le aa-enforce
La commande est utilisée pour appliquer activement les profils AppArmor. C'est pratique après la modification des profils, car il applique immédiatement les nouvelles politiques sans redémarrage du système.
Exemple : application de tous les profils AppArmor
Pour appliquer tous les profils disponibles :
sudo aa-enforce /etc/apparmor.d/*
Vous pouvez également appliquer un profil spécifique :
sudo aa-enforce /etc/apparmor.d/<profile-name>
Utilisation de la commande aa-disable
Le aa-disable
La commande désactive un profil AppArmor spécifique. Lorsqu'un profil est désactivé, ses restrictions sont temporairement levées, ce qui peut aider à résoudre des problèmes ou à accorder des autorisations supplémentaires à une application.
Exemple : désactivation du profil Firefox
Pour désactiver le profil Firefox :
sudo aa-disable /etc/apparmor.d/firefox
Cette modification est temporaire et sera annulée au redémarrage du système ou au redémarrage du service AppArmor.
Implémentation de la commande aa-complain
Le aa-complain
La commande fait passer un profil en « mode réclamation ». AppArmor enregistre les actions restreintes au lieu de les bloquer dans ce mode, ce qui facilite les tests et le débogage.
Exemple : Passage en mode Réclamation
Pour changer de usr.sbin.cupsd
profil en mode réclamation :
sudo aa-complain /etc/apparmor.d/usr.sbin.cupsd
Remplacer usr.sbin.cupsd
avec le nom de profil souhaité pour respecter ses restrictions potentielles sans les appliquer.
Exécution de la commande aa-remove-unknown
Le aa-remove-unknown
La commande nettoie efficacement les profils AppArmor liés aux applications inconnues ou inutilisées.
Exemple : suppression de profils inconnus
Pour purger les profils inconnus :
sudo aa-remove-unknown
Cette action rationalise vos profils AppArmor, garantissant que votre système maintient une position de sécurité organisée et actuelle.
Conclusion
Tout au long de ce guide, nous avons parcouru les aspects essentiels de la gestion d'AppArmor sur Ubuntu 24.04, 22.04 ou 20.04, couvrant l'activation, la désactivation et la modification des profils de sécurité pour répondre à des besoins spécifiques. Nous nous sommes penchés sur la création de nouveaux profils avec aa-genprof
, appliquant des politiques avec aa-enforce
, et même le dépannage avec des modes comme aa-complain
. N'oubliez pas que la clé de l'efficacité d'AppArmor réside dans son adaptation à votre environnement. Examinez et mettez à jour régulièrement vos profils pour vous assurer qu’ils correspondent à vos objectifs de sécurité et aux mises à jour du système.
Liens utiles
Voici quelques liens précieux liés à l’utilisation d’AppArmor :
- Wiki Ubuntu AppArmor: Le wiki Ubuntu AppArmor fournit des informations sur l'installation, la configuration et la gestion d'AppArmor sur Ubuntu.
- Site officiel d'AppArmor: Visitez le site Web officiel d'AppArmor pour obtenir des informations générales, des fonctionnalités et des actualités.
- Documentation AppArmor: Explorez la documentation complète pour obtenir des guides détaillés et des détails techniques sur l'utilisation d'AppArmor.
- Wiki GitLab d'AppArmor: accédez au wiki AppArmor GitLab pour obtenir des ressources supplémentaires, des contributions de la communauté et des informations sur le projet.