Comment vérifier si un profil AppArmor est actif sur Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à vérifier l'état des profils AppArmor sur un système Linux. AppArmor est un module de sécurité qui utilise des profils pour restreindre les actions des applications, renforçant ainsi la sécurité du système. Vous allez explorer trois méthodes pour déterminer si les profils AppArmor sont actifs et comment ils sont configurés.

Plus précisément, vous utiliserez la commande aa-status pour lister les profils chargés et leur mode (enforce ou complain), examiner le contenu du répertoire /etc/apparmor.d pour voir les fichiers de profils disponibles, et inspecter l'état d'AppArmor dans le système de fichiers /sys/kernel/security. Ces étapes vous permettront de bien comprendre comment vérifier l'état opérationnel d'AppArmor.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/ls -.-> lab-558778{{"Comment vérifier si un profil AppArmor est actif sur Linux"}} linux/cat -.-> lab-558778{{"Comment vérifier si un profil AppArmor est actif sur Linux"}} linux/sudo -.-> lab-558778{{"Comment vérifier si un profil AppArmor est actif sur Linux"}} linux/nano -.-> lab-558778{{"Comment vérifier si un profil AppArmor est actif sur Linux"}} end

Lister les profils AppArmor avec aa-status

Dans cette étape, vous apprendrez à lister les profils AppArmor actifs sur votre système en utilisant la commande aa-status. AppArmor est un module de sécurité qui offre un contrôle d'accès obligatoire (mandatory access control - MAC) en confinant les programmes à un ensemble limité de ressources.

Imaginez les profils AppArmor comme des politiques de sécurité pour des applications spécifiques. Ils définissent quels fichiers, ressources réseau et autres capacités système une application est autorisée à accéder. Cela permet d'empêcher les logiciels malveillants ou les applications compromises de causer des dommages étendus.

Pour voir quels profils sont actuellement chargés et appliqués, ouvrez votre terminal et tapez la commande suivante :

sudo aa-status

Vous devez utiliser sudo car vérifier l'état d'AppArmor nécessite des privilèges d'administrateur.

Après avoir exécuté la commande, vous verrez une sortie similaire à celle-ci :

apparmor module is loaded.
...
profiles are loaded.
...
profiles are in enforce mode.
...
profiles are in complain mode.
...
processes are unconfined.
...

La sortie fournit un résumé de l'état d'AppArmor :

  • apparmor module is loaded : Indique que le module noyau AppArmor est actif.
  • profiles are loaded : Affiche le nombre total de profils AppArmor chargés dans le noyau.
  • profiles are in enforce mode : Liste les profils qui restreignent activement le comportement des applications associées. Si une application tente de faire quelque chose qui n'est pas autorisé par son profil appliqué, l'action est bloquée et un message de journal est généré.
  • profiles are in complain mode : Liste les profils qui surveillent le comportement des applications associées mais n'appliquent pas de restrictions. Si une application tente de faire quelque chose qui n'est pas autorisé par son profil de surveillance, l'action est autorisée, mais un message de journal est généré. Ce mode est utile pour le développement et les tests de profils.
  • processes are unconfined : Affiche le nombre de processus en cours d'exécution qui ne sont pas actuellement gérés par un profil AppArmor.

Comprendre la sortie de aa-status est la première étape pour gérer AppArmor et comprendre la posture de sécurité de votre système.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier les profils dans /etc/apparmor.d

Dans l'étape précédente, vous avez vu une liste des profils AppArmor chargés en utilisant aa-status. Maintenant, explorons où ces profils sont stockés dans le système de fichiers.

Les profils AppArmor sont généralement situés dans le répertoire /etc/apparmor.d/. Ce répertoire contient les fichiers de profil, qui sont des fichiers texte simples définissant les règles pour chaque application confinée.

Pour lister le contenu de ce répertoire, utilisez la commande ls :

ls /etc/apparmor.d/

Vous verrez une liste de fichiers et de répertoires. Chaque fichier dans ce répertoire (qui n'est pas dans un sous - répertoire comme abstractions ou tunables) représente généralement un profil AppArmor spécifique pour une application.

Exemple de sortie :

bootchartd             usr.sbin.tcpdump
...

Ces noms de fichiers correspondent souvent au chemin de l'exécutable qu'ils sont conçus pour confiner. Par exemple, usr.sbin.tcpdump est le profil pour la commande /usr/sbin/tcpdump.

Vous pouvez afficher le contenu d'un fichier de profil en utilisant un éditeur de texte comme nano. Regardons le profil pour usr.sbin.tcpdump. Tapez la commande suivante :

nano /etc/apparmor.d/usr.sbin.tcpdump

Cela ouvrira le fichier de profil dans l'éditeur nano. Vous verrez des lignes définissant les règles d'accès aux fichiers, les autorisations réseau et autres restrictions. Ne vous inquiétez pas pour comprendre chaque ligne pour le moment ; le but est simplement de voir la structure d'un fichier de profil.

Pour quitter nano, appuyez sur Ctrl + X. Si vous avez effectué des modifications, il vous demandera si vous souhaitez enregistrer. Appuyez sur N pour Non, puis sur Enter pour confirmer.

Explorer les fichiers dans /etc/apparmor.d/ vous permet de comprendre les politiques de sécurité spécifiques appliquées aux différentes applications de votre système.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter l'état d'AppArmor dans /sys/kernel/security

En plus de la commande aa-status, vous pouvez également inspecter l'état d'AppArmor directement via le système de fichiers /sys. Le système de fichiers /sys fournit une interface vers les structures de données du noyau et il inclut des informations sur les modules de sécurité comme AppArmor.

Le répertoire pertinent pour l'état d'AppArmor dans /sys est /sys/kernel/security/apparmor/.

Listons le contenu de ce répertoire pour voir quelles informations sont disponibles :

ls /sys/kernel/security/apparmor/

Vous verrez des fichiers et des répertoires qui fournissent des détails sur l'état d'AppArmor, tels que les profils chargés, les règles de politique et l'état d'application.

Exemple de sortie :

features  profiles  policy  revision  ...

Un fichier particulièrement utile est profiles. Vous pouvez afficher son contenu en utilisant la commande cat :

cat /sys/kernel/security/apparmor/profiles

Ce fichier liste les profils AppArmor actuellement chargés et leur état (par exemple, enforce, complain ou unconfined). La sortie est similaire à la liste des profils que vous avez vue avec aa-status, mais c'est une vue directe de l'état du noyau.

Exemple de sortie :

/usr/sbin/tcpdump (enforce)
...

L'inspection du répertoire /sys/kernel/security/apparmor/ et de ses fichiers offre un moyen plus bas niveau de comprendre l'état d'AppArmor et peut être utile pour le débogage ou une analyse avancée.

Vous avez maintenant appris trois façons différentes de vérifier l'état et la présence des profils AppArmor sur un système Linux.

Cliquez sur Continuer pour terminer le lab.

Résumé

Dans ce lab, vous avez appris à vérifier si un profil AppArmor est actif sur Linux. Vous avez commencé par utiliser la commande aa-status avec sudo pour lister les profils AppArmor chargés et comprendre leur état, notamment s'ils sont en mode d'application stricte (enforce) ou en mode de signalement (complain). Cette commande fournit un aperçu rapide de l'état du module AppArmor et du nombre de profils gérant activement des processus.

Le lab a également abordé l'inspection du répertoire /etc/apparmor.d pour afficher les fichiers de profil AppArmor disponibles, qui représentent les politiques de sécurité pour différentes applications. Enfin, vous avez appris à examiner le chemin /sys/kernel/security pour confirmer la présence et l'état du module noyau AppArmor dans le cadre de sécurité du système.