Réserver eBPF aux administrateurs

Risque moyen Coché par défaut dans IbexWall Catalogue révisé le: 2026-11-05

eBPF permet aux programmes d'exécuter du code dans le noyau et a été une source constante de failles. Ce réglage le limite aux programmes privilégiés et durcit son compilateur.

Pourquoi il compte

eBPF permet à des programmes de charger de petits morceaux de code que le noyau exécute pour eux. Le noyau vérifie ce code avec un vérificateur, et des bugs dans ce vérificateur ont plusieurs fois permis à des utilisateurs ordinaires de prendre le contrôle complet de la machine. Si seuls des programmes privilégiés peuvent charger de l’eBPF, ces bugs restent hors de portée des autres.

Comment il fonctionne

Met kernel.unprivileged_bpf_disabled à 1. Les appels à bpf() sans CAP_BPF ni CAP_SYS_ADMIN échouent alors avec une erreur de permission. La documentation du noyau indique qu’une fois à 1 la valeur ne redescend pas à 0 avant un redémarrage ; la valeur 2 désactive aussi mais laisse un administrateur changer plus tard.

À qui il s'adresse

Juste pour la plupart des ordinateurs de bureau et des serveurs. Laissez désactivé si vous lancez des outils eBPF comme utilisateur normal, par exemple certaines expériences de traçage ou de réseau.

Ce que vous pouvez remarquer

Les programmes qui chargent de l’eBPF sans privilèges échouent avec Operation not permitted. Lancez-les en root ou avec la capacité qui convient. Les logiciels de bureau classiques en ont rarement besoin.

Le vérifier sur votre ordinateur

Lire la valeur actuelle :

sysctl kernel.unprivileged_bpf_disabled

Une valeur plus stricte que celle-ci convient aussi.

L'appliquer à la main

La définir maintenant (jusqu'au prochain redémarrage) :

sudo sysctl -w kernel.unprivileged_bpf_disabled=1

La conserver après les redémarrages, dans un fichier qui vous appartient :

sudo tee /etc/sysctl.d/90-kernel-unprivileged-bpf.conf <<'EOF'
kernel.unprivileged_bpf_disabled = 1
EOF
sudo sysctl --system

L'annuler

Supprimez le fichier et redémarrez, ou remettez l'ancienne valeur avec sysctl -w.

Réglages liés

Sources

Linux Hardening Guide (madaidans)
2.2.1
Linux kernel documentation
kernel.unprivileged_bpf_disabled