Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
NFtables-IPtables-integration-script — Script per implementare Q-Feeds direttamente su NFtables o IPtables | Kitploit
Strumenti/GitHubGitHub/q-feeds/nftables-iptables-integration-script
Strumenti DifensiviScripting e AutomazioneAudit di ConfigurazioneSicurezza di ReteThreat IntelligenceRisposta agli Incidenti
GitHubq-feeds/nftables-iptables-integration-script

NFtables-IPtables-integration-script

Script per implementare Q-Feeds direttamente su NFtables o IPtables

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi RepositorySito web
269 giorni faNon ancora revisionato
Condividi

🛡️ Integrazione della Blocklist del Firewall Linux Q-Feeds

Blocklist automatizzata di IP malware per server Linux — supporta nftables e iptables+ipset

License Linux


📋 Indice

  • Avvio Rapido
  • Panoramica
  • Come Funziona
  • Prerequisiti
  • Installazione Dettagliata
  • Configurazione
  • Utilizzo e Verifica
  • Risoluzione dei Problemi
  • Disinstallazione
  • Licenza

🚀 Avvio Rapido

Passo 1: Ottieni il tuo token API

Ottieni una chiave API gratuita su tip.qfeeds.com.

Passo 2: Scarica gli script

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

Passaggio 3: Eseguire l'installer come root

sudo ./qfeeds-installer.sh

L'installer:

  1. Rileva automaticamente il tuo backend firewall (nftables o iptables)
  2. Ti chiede il tuo token API, le opzioni di blocco e la whitelist opzionale
  3. Installa tutte le dipendenze, lo script di aggiornamento e il cron job
  4. Esegue immediatamente la prima sincronizzazione completa

Passaggio 4: Fatto

Il tuo server è ora protetto. Il cron job controlla gli aggiornamenti ogni 20 minuti (configurabile), e le chiamate API effettive avvengono solo quando la tua licenza lo consente.


📖 Panoramica

Questa soluzione scarica periodicamente il feed di threat intelligence più recente da Q-Feeds e lo applica come regole firewall (guida passo-passo: Configurazione NFtables/IPtables), permettendoti di:

  • ✅ Bloccare connessioni in entrata da IP malevoli noti
  • ✅ Bloccare connessioni in uscita verso IP malevoli noti
  • ✅ Inserire nella whitelist i tuoi IP/CIDR così non ti blocchi mai fuori
  • ✅ Pianificazione automatica in base alla tua licenza Q-Feeds
  • ✅ Aggiornamenti incrementali tramite sincronizzazione basata su diff per un utilizzo minimo delle risorse

Perché Questo Approccio?

  • ✅ Rileva automaticamente il backend — funziona su nftables o iptables+ipset senza selezione manuale
  • ✅ Veloce — carica oltre 400k IP in pochi secondi usando set hash ottimizzati (nftables) o ipset (iptables)
  • ✅ Sicuro — usa tabelle/set dedicati — non tocca mai le tue regole firewall esistenti
  • ✅ Efficiente — gli aggiornamenti basati su diff elaborano solo le modifiche, non l'intero elenco
  • ✅ Affidabile — auto-riparante: rileva un set locale vuoto o incompleto (ad es. dopo un riavvio) e lo ricostruisce, con fallback automatico a una sincronizzazione completa se un diff fallisce
  • ✅ Flessibile — scegli il blocco in entrata/in uscita, whitelist opzionale

🔧 Come Funziona

Rilevamento del Backend

L'installer rileva automaticamente quale backend firewall è disponibile:

PrioritàRilevamentoBackend
1ªcomando nft trovatonftables
2ªcomando iptables trovatoiptables+ipset
—Nessuno trovatoErrore (uscita)

Il backend rilevato viene memorizzato nel file di configurazione. Gli script di aggiornamento e disinstallazione lo usano per eseguire i comandi firewall corretti.

Architettura: Due Tipi di Set

Entrambi i backend usano la stessa strategia di set suddivisi per massime prestazioni:

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 stessa struttura esiste per IPv6 (tabella ip6 qfeeds o ip6tables + ipsets con family inet6).

Perché due tipi di set?

  • I set hash memorizzano IP individuali con inserimento e ricerca O(1) — caricare oltre 400k IP richiede pochi secondi
  • I set net/interval sono usati solo per il piccolo numero di intervalli CIDR presenti nel feed
  • Questo evita costose operazioni di merge che rallenterebbero un singolo set con centinaia di migliaia di voci

Flusso di aggiornamento

Scarica lo strumento