Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NFtables-IPtables-integration-script — Skript zur Implementierung von Q-Feeds direkt auf NFtables oder IPtables | Kitploit
Tools/GitHubGitHub/q-feeds/nftables-iptables-integration-script
DefensivwerkzeugeScripting & AutomatisierungKonfigurationsprüfungNetzwerksicherheitBedrohungsanalyseIncident Response
GitHubq-feeds/nftables-iptables-integration-script

NFtables-IPtables-integration-script

Skript zur Implementierung von Q-Feeds direkt auf NFtables oder IPtables

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigenWebseite
11vor 2 MonatenNoch nicht geprüft
Teilen

🛡️ Q-Feeds Linux Firewall Blocklist Integration

Automatisierte Malware-IP-Blocklist für Linux-Server – unterstützt nftables und iptables+ipset

License Linux


📋 Inhaltsverzeichnis

  • Schnellstart
  • Übersicht
  • Funktionsweise
  • Voraussetzungen
  • Detaillierte Installationsanleitung
  • Konfiguration
  • Nutzung und Überprüfung
  • Fehlerbehebung
  • Deinstallation
  • Lizenz

🚀 Schnellstart

Schritt 1: Holen Sie sich Ihren API-Token

Holen Sie sich einen kostenlosen API-Schlüssel unter tip.qfeeds.com.

Schritt 2: Laden Sie die Skripte herunter```bash

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

### Schritt 3: Führen Sie das Installationsprogramm als root aus```bash
sudo ./qfeeds-installer.sh

Der Installateur wird:

  1. Automatisch erkennen, welche Firewall-Backend (nftables oder iptables) verwendet wird
  2. Dich nach deinem API-Token, Blockierungsoptionen und optionalen Whitelist-Einträgen fragen
  3. Alle Abhängigkeiten, das Aktualisierungsskript und den Cron-Job installieren
  4. Sofort die erste vollständige Synchronisation durchführen

Schritt 4: Fertig

Dein Server ist nun geschützt. Der Cron-Job prüft alle 20 Minuten auf Aktualisierungen (konfigurierbar), und tatsächliche API-Aufrufe erfolgen nur, wenn es deine Lizenz zulässt.


📖 Überblick

Diese Lösung lädt regelmäßig den neuesten Bedrohungsinformations-Feed von Q-Feeds herunter und wendet ihn als Firewall-Regeln an, sodass du:

  • ✅ Eingehende Verbindungen von bekannten bösartigen IPs blockieren kannst
  • ✅ Ausgehende Verbindungen zu bekannten bösartigen IPs blockieren kannst
  • ✅ Eigene IPs/CIDRs auf eine Whitelist setzen kannst, sodass du dich nie selbst aussperrst
  • ✅ Automatische Zeitplanung basierend auf deiner Q-Feeds-Lizenz
  • ✅ Inkrementelle Aktualisierungen mittels diff-basierter Synchronisation für minimalen Ressourcenverbrauch

Warum dieser Ansatz?

  • ✅ Erkennt Backend automatisch – funktioniert mit nftables oder iptables+ipset ohne manuelle Auswahl
  • ✅ Schnell – lädt über 400.000 IPs in Sekunden mit optimierten Hash-Sets (nftables) oder ipset (iptables)
  • ✅ Sicher – verwendet dedizierte Tabellen/Sets – berührt niemals deine bestehenden Firewall-Regeln
  • ✅ Effizient – diff-basierte Aktualisierungen verarbeiten nur Änderungen, nicht die vollständige Liste
  • ✅ Zuverlässig – selbstheilend: erkennt ein leeres oder unvollständiges lokales Set (z. B. nach einem Neustart) und baut es wieder auf, mit automatischem Fallback auf eine vollständige Synchronisation, falls ein Diff fehlschlägt
  • ✅ Flexibel – wähle zwischen eingehender/ausgehender Blockierung, optionaler Whitelist

🔧 Wie es funktioniert

Backend-Erkennung

Der Installateur erkennt automatisch, welches Firewall-Backend verfügbar ist:

PrioritätErkennungBackend
1.nft-Befehl gefundennftables
2.iptables-Befehl gefundeniptables+ipset
—Keines gefundenFehler (Abbruch)

Das erkannte Backend wird in der Konfigurationsdatei gespeichert. Die Aktualisierungs- und Deinstallationsskripte verwenden es, um die korrekten Firewall-Befehle auszuführen.

Architektur: Zwei Set-Typen

Beide Backends verwenden dieselbe Split-Set-Strategie für maximale Leistung:

nftables-Backend:``` ┌─────────────────────────────────────────────────────────┐ │ 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 │ └─────────────────────────────────────────────────────────┘

**iptables+ipset Backend:**```
┌──────────────────────────────────────────────────────────┐
│  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)     │
└──────────────────────────────────────────────────────────┘

Die gleiche Struktur existiert für IPv6 (ip6 qfeeds table oder ip6tables + family inet6 ipsets).

Warum zwei Set-Typen?

  • Hash-Sets speichern einzelne IPs mit O(1)-Einfügung und -Suche — das Laden von 400k+ IPs dauert Sekunden
  • Net/interval-Sets werden nur für die kleine Anzahl von CIDR-Bereichen im Feed verwendet
  • Dies vermeidet teure Zusammenführungsoperationen, die ein einzelnes Set mit Hunderttausenden von Einträgen verlangsamen würden
Tool herunterladen