eBPF auf Administratoren beschränken

Mittleres Risiko In IbexWall standardmäßig angehakt Katalog geprüft: 2026-11-05

Mit eBPF können Programme Code im Kernel ausführen, und es war immer wieder die Quelle von Fehlern. Dies beschränkt es auf privilegierte Programme und härtet seinen Compiler.

Warum es wichtig ist

eBPF erlaubt Programmen, kleine Codestücke zu laden, die der Kernel für sie ausführt. Der Kernel prüft diesen Code mit einem Verifier, und Fehler in diesem Verifier haben wiederholt gewöhnlichen Benutzern die volle Kontrolle über die Maschine verschafft. Wenn nur privilegierte Programme eBPF laden dürfen, sind diese Fehler für alle anderen außer Reichweite.

Wie es funktioniert

Setzt kernel.unprivileged_bpf_disabled auf 1. Aufrufe von bpf() ohne CAP_BPF oder CAP_SYS_ADMIN schlagen dann mit einer Berechtigungsfehler fehl. Die Kernel-Dokumentation sagt, dass der Wert 1 erst nach einem Neustart zurückgesetzt werden kann; der Wert 2 deaktiviert ebenfalls, lässt Admins aber eine spätere Änderung zu.

Für wen es sich eignet

Richtig für die meisten Desktops und Server. Lassen Sie es aus, wenn Sie eBPF-Werkzeuge als normaler Benutzer nutzen, etwa einige Tracing- oder Netzwerkexperimente.

Was Sie bemerken könnten

Programme, die eBPF ohne Privilegien laden, schlagen mit Operation not permitted fehl. Starten Sie sie als root oder mit der passenden Capability. Übliche Desktop-Software braucht das kaum.

Auf Ihrem Computer prüfen

Den aktuellen Wert lesen:

sysctl kernel.unprivileged_bpf_disabled

Ein strengerer Wert als dieser ist ebenfalls in Ordnung.

Von Hand anwenden

Jetzt setzen (bis zum nächsten Neustart):

sudo sysctl -w kernel.unprivileged_bpf_disabled=1

Nach Neustarts beibehalten, in einer eigenen Datei:

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

Rückgängig machen

Entfernen Sie die Datei und starten Sie neu, oder setzen Sie den alten Wert mit sysctl -w zurück.

Verwandte Einstellungen

Quellen

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