Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
NFtables-IPtables-integration-script — Script pour implémenter Q-Feeds directement sur NFtables ou IPtables | Kitploit
Outils/GitHubGitHub/q-feeds/nftables-iptables-integration-script
Outils DéfensifsScripting et AutomatisationAudit de ConfigurationSécurité RéseauRenseignement sur les MenacesRéponse aux Incidents
GitHubq-feeds/nftables-iptables-integration-script

NFtables-IPtables-integration-script

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 →

Script pour implémenter Q-Feeds directement sur NFtables ou IPtables

Voir le dépôtSite web
26il y a 9 joursPas encore vérifié
Partager

🛡️ Intégration de la liste de blocage du pare-feu Linux Q-Feeds

Liste de blocage automatisée des IP malveillantes pour serveurs Linux — prend en charge nftables et iptables+ipset

License Linux


📋 Table des matières

  • Démarrage rapide
  • Aperçu
  • Fonctionnement
  • Prérequis
  • Installation détaillée
  • Configuration
  • Utilisation et vérification
  • Dépannage
  • Désinstallation
  • Licence

🚀 Démarrage rapide

Étape 1 : Obtenir votre jeton d'API

Obtenez une clé d'API gratuite sur tip.qfeeds.com.

Étape 2 : Télécharger les scripts

git clone https://github.com/Q-Feeds/NFtables-IPtables-integration-script.git
cd NFtables-IPtables-integration-script
chmod +x qfeeds-installer.sh qfeeds-uninstaller.sh

Étape 3 : Exécuter l'installateur en tant que root

sudo ./qfeeds-installer.sh

L'installateur va :

  1. Détecter automatiquement votre backend de pare-feu (nftables ou iptables)
  2. Vous demander votre jeton API, les options de blocage et une liste blanche facultative
  3. Installer toutes les dépendances, le script de mise à jour et la tâche cron
  4. Effectuer immédiatement la première synchronisation complète

Étape 4 : Terminé

Votre serveur est désormais protégé. La tâche cron vérifie les mises à jour toutes les 20 minutes (configurable), et les appels API réels n'ont lieu que lorsque votre licence le permet.


📖 Aperçu

Cette solution télécharge périodiquement le dernier flux de renseignements sur les menaces depuis Q-Feeds et l'applique sous forme de règles de pare-feu (guide étape par étape : Configuration NFtables/IPtables), ce qui vous permet de :

  • ✅ Bloquer les connexions entrantes provenant d'IP malveillantes connues
  • ✅ Bloquer les connexions sortantes vers des IP malveillantes connues
  • ✅ Ajouter vos propres IP/CIDR à la liste blanche pour ne jamais vous verrouiller vous-même
  • ✅ Planification automatique en fonction de votre licence Q-Feeds
  • ✅ Mises à jour incrémentielles via une synchronisation basée sur les différences pour une utilisation minimale des ressources

Pourquoi cette approche ?

  • ✅ Détection automatique du backend — fonctionne sur nftables ou iptables+ipset sans sélection manuelle
  • ✅ Rapide — charge plus de 400 000 IP en quelques secondes grâce à des ensembles de hachage optimisés (nftables) ou ipset (iptables)
  • ✅ Sûr — utilise des tables/ensembles dédiés — ne touche jamais à vos règles de pare-feu existantes
  • ✅ Efficace — les mises à jour basées sur les différences ne traitent que les changements, pas la liste complète
  • ✅ Fiable — auto-réparateur : détecte un ensemble local vide ou incomplet (par exemple après un redémarrage) et le reconstruit, avec un repli automatique vers une synchronisation complète si une différence échoue
  • ✅ Flexible — choisissez le blocage entrant/sortant, liste blanche facultative

🔧 Fonctionnement

Détection du backend

L'installateur détecte automatiquement quel backend de pare-feu est disponible :

PrioritéDétectionBackend
1erCommande nft trouvéenftables
2eCommande iptables trouvéeiptables+ipset
—Aucune trouvéeErreur (sortie)

Le backend détecté est stocké dans le fichier de configuration. Les scripts de mise à jour et de désinstallation l'utilisent pour exécuter les bonnes commandes de pare-feu.

Architecture : deux types d'ensembles

Les deux backends utilisent la même stratégie de division en ensembles pour des performances maximales :

Backend nftables :

┌─────────────────────────────────────────────────────────┐
│  table ip qfeeds                                        │
│                                                         │
│  ┌─────────────────────────┐  ┌───────────────────────┐ │
│  │ qfeeds_blacklist_v4     │  │ qfeeds_blacklist_v4   │ │
│  │ (hash set)              │  │ _nets (interval set)  │ │
│  │                         │  │                       │ │
│  │ Individual IPs          │  │ CIDR ranges           │ │
│  │ ~99% of entries         │  │ ~1% of entries        │ │
│  │ O(1) lookup & insert    │  │ O(log n) lookup       │ │
│  └─────────────────────────┘  └───────────────────────┘ │
│                                                         │
│  ┌─────────────────────────┐                            │
│  │ qfeeds_whitelist_v4     │                            │
│  │ (interval set)          │                            │
│  │ Your allowed IPs/CIDRs  │                            │
│  └─────────────────────────┘                            │
│                                                         │
│  chain input-chain (hook input, priority 0, accept)     │
│    → ip saddr @qfeeds_whitelist_v4 accept               │
│    → ip saddr @qfeeds_blacklist_v4 drop                 │
│    → ip saddr @qfeeds_blacklist_v4_nets drop            │
│                                                         │
│  chain output-chain (if enabled)                        │
│    → ip daddr @qfeeds_whitelist_v4 accept               │
│    → ip daddr @qfeeds_blacklist_v4 drop                 │
│    → ip daddr @qfeeds_blacklist_v4_nets drop            │
└─────────────────────────────────────────────────────────┘

Backend iptables+ipset :

┌──────────────────────────────────────────────────────────┐
│  ipset sets                                              │
│                                                          │
│  ┌─────────────────────────┐  ┌────────────────────────┐ │
│  │ qfeeds_blacklist_v4     │  │ qfeeds_blacklist_v4    │ │
│  │ (hash:ip)               │  │ _nets (hash:net)       │ │
│  │ maxelem 1000000         │  │ maxelem 65536          │ │
│  │                         │  │                        │ │
│  │ Individual IPs          │  │ CIDR ranges            │ │
│  └─────────────────────────┘  └────────────────────────┘ │
│                                                          │
│  ┌─────────────────────────┐                             │
│  │ qfeeds_whitelist_v4     │                             │
│  │ (hash:net)              │                             │
│  └─────────────────────────┘                             │
│                                                          │
│  iptables: INPUT/OUTPUT jump to a dedicated chain        │
│  (jump rule tagged -m comment "qfeeds"):                 │
│                                                          │
│  chain QFEEDS_INPUT (rebuilt each run, in order):        │
│    -m set --match-set whitelist_v4 src -j ACCEPT         │
│    -m set --match-set blacklist_v4 src -j DROP           │
│    -m set --match-set blacklist_v4_nets src -j DROP      │
│    (QFEEDS_OUTPUT mirrors this with dst, if enabled)     │
└──────────────────────────────────────────────────────────┘

La même structure existe pour IPv6 (table ip6 qfeeds ou ip6tables + ipsets family inet6).

Pourquoi deux types d'ensembles ?

  • Les ensembles de hachage stockent des IP individuelles avec une insertion et une recherche en O(1) — le chargement de plus de 400k IP prend quelques secondes
  • Les ensembles net/interval ne sont utilisés que pour le petit nombre de plages CIDR du flux
  • Cela évite les opérations de fusion coûteuses qui ralentiraient un ensemble unique contenant des centaines de milliers d'entrées

Flux de mise à jour

Télécharger l’outil