Comment activer ou désactiver AppArmor sur Ubuntu 24.04, 22.04 ou 20.04

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

ComposantMinimum requis
ProcesseurProcesseur 1 GHz ou plus rapide
RAM1 Go ou plus
Espace disque10 Go d'espace libre
RéseauConnexion Internet haut débit
Versions prises en chargeUbuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Focale)

Exigences supplémentaires

ExigenceDescription
Connexion InternetNécessaire pour télécharger AppArmor et appliquer les mises à jour.
Conventions des terminauxToutes les commandes du terminal doivent être exécutées en tant qu'utilisateur normal avec sudo privilèges.
Commandes CLIUtilisez 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.
Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire