Aller au contenu

LSM (Linux Security Modules)

LSM (en anglais Linux Security Modules) : cadre du noyau Linux qui insère des points de contrôle (hooks) sur les opérations sensibles (ouverture d'un fichier, exécution d'un programme, création d'une socket, usage d'une capability) et y laisse des modules de sécurité donner leur avis. Le contrôle s'ajoute aux permissions Unix : un LSM peut refuser une opération que les droits autorisaient, jamais en accorder une qu'ils refusaient.

Les modules courants : AppArmor (actif par défaut sur Ubuntu et sur Debian depuis la version 10), qui confine un programme par un profil fondé sur les chemins ; SELinux (Red Hat, Fedora), fondé sur des étiquettes attachées aux fichiers et aux processus ; Yama, qui restreint ptrace (kernel.yama.ptrace_scope) ; lockdown, qui protège le noyau contre root ; et le LSM BPF, qui accepte des politiques écrites en eBPF. Les deux premiers mettent en œuvre un contrôle d'accès obligatoire, que les processus ne peuvent pas lever eux-mêmes. cat /sys/kernel/security/lsm liste les modules actifs, dans leur ordre d'appel.

Pour un conteneur, Docker applique par défaut le profil AppArmor docker-default quand AppArmor est actif sur l'hôte, à côté des capabilities et de seccomp. Un programme sans profil AppArmor est unconfined : le LSM ne le protège pas, ce qu'aa-status permet de constater.

Dans les cours

Voir aussi