Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
netfence — Comme Envoy xDS, mais pour les filtres eBPF | Kitploit
Outils/GitHubGitHub/danthegoodman1/netfence
Sécurité de l'Infrastructure CloudSécurité des ConteneursÉvasion IDS/IPSSécurité RéseauSécurité CloudDevSecOpsMauvaise ConfigurationAnalyse DNS
GitHubdanthegoodman1/netfence

netfence

Comme Envoy xDS, mais pour les filtres eBPF

Voir le dépôt
101416il y a 11 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Netfence

Comme Envoy xDS, mais pour les filtres eBPF.

Netfence s'exécute en tant que démon sur vos hôtes de VM/containers et injecte automatiquement des programmes de filtrage eBPF dans les cgroups et les interfaces réseau, avec un serveur DNS intégré qui résout les domaines autorisés et remplit la liste blanche d'adresses IP.

Les démons Netfence peuvent être pilotés uniquement via leur API locale sur socket Unix, ou se connecter à un plan de contrôle central que vous implémentez via gRPC pour synchroniser les listes blanches/noires avec votre backend.

Votre plan de contrôle envoie des règles réseau comme ALLOW *.pypi.org ou ALLOW 10.0.0.0/16 aux interfaces/cgroups attachés. Quand une VM/container interroge le DNS, Netfence le résout, ajoute les IP au filtre eBPF, et bloque le trafic vers des IP inconnues avant qu'il ne quitte l'hôte, avec une surcharge de chemin préchauffé pratiquement indistinguable d'un socket connect normal dans les benchmarks actuels.

Fonctionnalités

  • Attacher des filtres eBPF aux interfaces réseau (TC) ou aux cgroups
  • Modes de politique : désactivé, liste blanche, liste noire, tout-bloquer
  • Prise en charge des CIDR IPv4 et IPv6 avec TTL optionnel
  • Serveur DNS UDP/TCP par attachement avec liste blanche/noire de domaines et ordre de dépassement personnalisé
  • Les règles de domaine prennent en charge les sous-domaines avec correspondance basée sur la spécificité (les règles les plus spécifiques l'emportent)
  • Les domaines résolus alimentent automatiquement le filtre IP
  • Métadonnées sur les démons et les attachements pour l'association avec l'ID de VM, locataire, etc.
  • Prise en charge du proxy des requêtes DNS vers le plan de contrôle pour prendre des décisions DNS par attachement

Note de sécurité : dérogations par défaut

En mode liste blanche, le lien-local IPv4 (169.254.0.0/16) n'est plus automatiquement autorisé par défaut — donc le service de métadonnées cloud (169.254.169.254) est bloqué sauf s'il est explicitement ajouté à la liste blanche. C'est délibéré : le service de métadonnées est une cible de vol d'identifiants, et les charges de travail en bac à sable ne doivent pas pouvoir l'atteindre implicitement. Localhost (127.0.0.0/8, ::1) et la découverte de voisinage IPv6 (fe80::/10, ff02::/16) restent autorisés par défaut pour que la connectivité de base et le NDP continuent de fonctionner. Pour autoriser le service de métadonnées pour une charge de travail, ajoutez 169.254.169.254/32 à la liste blanche (une dérogation par attachement via le plan de contrôle est prévue dans une prochaine version).

La diffusion IPv4 (255.255.255.255) et le multicast (224.0.0.0/4) n'ont pas de dérogation et sont soumis à la politique, donc en mode liste blanche TC, le trafic comme les broadcasts de renouvellement DHCP est bloqué sauf autorisation explicite. Les vérifications de dérogation s'effectuent avant la liste noire, donc une plage dérogée ne peut être bloquée qu'en désactivant sa dérogation — et comme le lien-local IPv4 est maintenant désactivé par défaut, le mode liste noire peut aussi bloquer le service de métadonnées.

Différences par rapport aux autres options

Quelques avantages majeurs de cette solution que les autres options ne proposent généralement pas :

  • Coupure immédiate des connexions existantes lorsque les règles changent pour interdire une IP (attachement d'interface uniquement)
  • Prise en charge de tous les protocoles réseau, et connexion directe à IP. Par exemple, l'excellent httpjail ne permet pas de se connecter directement à des IP, ni les connexions TCP/UDP directes comme la connexion aux bases de données.
  • Résolution dynamique du DNS et filtrage pré-résolution (ainsi, pas d'exfiltration vers secretdata.someattacker.com)

À ma connaissance, aucune autre solution n'offre toutes ces fonctionnalités ensemble.

Limitation connue : les attachements cgroup filtrent au niveau socket (hooks connect/sendmsg), donc un processus avec CAP_NET_RAW peut fabriquer des paquets bruts qui les contournent. Utilisez un attachement TC (interface), qui filtre au niveau de la couche dispositif, pour les charges de travail pouvant détenir CAP_NET_RAW.

Cependant, cela a un peu plus de surcharge que quelque chose comme httpjail.

Aperçu des performances

Ces mesures ont été effectuées dans la passerelle Docker privilégiée sur linux/arm64 en utilisant make bench-docker. Les valeurs sont les médianes de cinq échantillons.

Chemin socket à chaud

Le benchmark de socket à chaud utilise des sockets UDP connectés pour isoler le coût du hook eBPF cgroup/connect4 de la latence de la poignée de main TCP. Dans ce chemin, le DNS a déjà résolu le domaine, l'IP est toujours dans le TTL, et l'IP/CIDR est déjà présente dans la map eBPF.

CheminLatence médiane
Connexion socket normale, sans eBPF~2,647 us
Liste blanche à chaud, hit LPM protégé~2,691 us
Liste blanche à chaud, hit hôte exact DNS~2,741 us
Échec de liste blanche, blocage local~1,652 us

L'écart mesuré entre les chemins de connexion normal, LPM protégé et hôte exact DNS se situe dans le bruit de l'échantillon.

Il n'existe pas aujourd'hui de chemin « échec noyau demande au processus parent ». Un échec de liste blanche cgroup est décidé localement par eBPF et est bloqué immédiatement.

Chemin requête DNS

Ces chiffres mesurent le chemin du serveur DNS, pas le chemin de connexion socket à chaud.

CheminLatence médiane
Requête proxy à froid, fonction de politique dans le processus~31,336 us
Requête proxy à chaud~27,964 us
Requête liste blanche à froid avec amont local~53,510 us
Requête liste blanche à chaud avec amont local~53,432 us

Les lignes « à froid » synchronisent via la barrière de mutation d'attachement réelle et effacent le graphe de propriété du benchmark et l'instantané de map exacte fictive entre les requêtes. Le minuteur tourne en continu pour préserver la localité du planificateur UDP, tandis que ns/op soustrait le fixture-reset-ns/op (incluant toute queue du gestionnaire précédent après que le client a reçu son paquet) et mesure ainsi l'Exchange du client actuel. raw-total-ns/op rapporte les deux ensemble. La réinitialisation préserve les domaines de politique configurés et le stockage de sauvegarde, et le benchmark affirme une addition physique de map exacte par requête. Les lignes « à chaud » amorcent la propriété une fois et affirment une addition physique sur l'ensemble de l'exécution.

Les microbenchmarks de propriété interne ci-dessous sont des diagnostics de passage à l'échelle, pas des lignes d'acceptation de chemin de requête DNS de bout en bout. L'helper en cache n'est conservé que pour les tests et benchmarks ; il encapsule un enregistrement à la fois et répète la validation du domaine. Lui et le trafic normal du résolveur traversent la barrière de mutation d'attachement, tandis que le trafic normal du résolveur admet chaque réponse complète comme une transaction.

Télécharger l’outil