RousselTMLEARNING

Observabilité

eBPF en production : sécurité, prérequis et limites

Ce qu'il faut savoir avant de déployer des agents eBPF : privilèges et capacités, versions de noyau, environnements managés, surcoût, chiffrement TLS et observabilité de sécurité avec Tetragon et Falco.

1. Privilèges #

Un agent eBPF est un composant sensible.

Ce qu'il faut accorder #

Charger un programme eBPF demande des capacités élevées. Depuis Linux 5.8, on peut éviter privileged: true en n'accordant que les capacités utiles :

securityContext:
  capabilities:
    add: [BPF, PERFMON, SYS_PTRACE, NET_RAW, CHECKPOINT_RESTORE, DAC_READ_SEARCH, SYS_RESOURCE]
  # la liste exacte dépend de l'outil : voir sa documentation
Erreur Courante : Un agent eBPF peut lire la mémoire des autres processus. Traitez son image, sa configuration et ses mises à jour avec le même soin qu'un composant de sécurité : image signée, version épinglée, namespace dédié.

2. Prérequis et environnements #

Tous les noyaux ne se valent pas.

Vérifications #

PointRecommandation
Version du noyau5.8 au minimum, 5.15+ recommandé
BTF/sys/kernel/btf/vmlinux présent (CO-RE)
Kubernetes managéEKS, GKE, AKS : noyaux récents OK ; GKE Autopilot et Fargate limitent les DaemonSets privilégiés
ConteneursDocker Desktop sous macOS ou Windows exécute une VM Linux : les outils voient la VM, pas l'hôte

Surcoût #

Le surcoût dépend de la fréquence des événements : quelques pour cent de CPU pour le profiling ou les flux réseau, davantage pour tracer chaque appel système d'un service très chargé. Mesurez sur un nœud avant de généraliser.

3. TLS et observabilité de sécurité #

Deux usages particuliers.

Le trafic chiffré #

Un paquet TLS est illisible pour une sonde réseau. Les outils comme Beyla contournent la difficulté avec des uprobes sur les bibliothèques de chiffrement (OpenSSL, Go crypto/tls) pour lire les données avant chiffrement ou après déchiffrement.

Tetragon et Falco #

OutilUsage
Tetragon (Cilium)Observer et bloquer en temps réel : exécutions, accès fichiers, connexions, avec politiques TracingPolicy
Falco (CNCF)Détection d'intrusion par règles : shell dans un conteneur, lecture de /etc/shadow...
Bonne Pratique : Ces outils produisent des événements à envoyer dans Loki ou Elasticsearch : ils complètent l'observabilité opérationnelle par une observabilité de sécurité.

Articles liés

eBPF expliqué : des programmes dans le noyau Linux pour observer sans instrumenter

Ce qu'est eBPF, comment un programme est vérifié puis exécuté dans le noyau, les points d'accroche (kprobes, …

Diagnostiquer avec bpftrace et les outils bcc

Les outils eBPF du diagnostic au quotidien : one-liners bpftrace (appels système, fichiers, latences), outils…

Instrumenter sans code avec Grafana Beyla (OpenTelemetry eBPF Instrumentation)

Obtenir métriques RED et traces HTTP/gRPC de n'importe quelle application sans la modifier : Grafana Beyla et…

Pour aller plus loin