Skip to content
KitploitKITPLOIT
HerramientasBlog
Log in
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
NFtables-IPtables-integration-script — Script para implementar Q-Feeds directamente en NFtables o IPtables | Kitploit
Herramientas/GitHubGitHub/q-feeds/nftables-iptables-integration-script
Herramientas DefensivasScripting y AutomatizaciónAuditoría de ConfiguraciónSeguridad de RedesInteligencia de AmenazasRespuesta a Incidentes
GitHubq-feeds/nftables-iptables-integration-script

NFtables-IPtables-integration-script

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Script para implementar Q-Feeds directamente en NFtables o IPtables

Ver RepositorioSitio web
11hace 2 mesesAún no revisado
Compartir

🛡️ Integración de Lista de Bloqueo de Cortafuegos Q-Feeds para Linux

Lista de bloqueo automatizada de IP de malware para servidores Linux — compatible con nftables e iptables+ipset

License Linux


📋 Tabla de Contenidos

  • Inicio Rápido
  • Descripción General
  • Cómo Funciona
  • Requisitos Previos
  • Instalación Detallada
  • Configuración
  • Uso y Verificación
  • Solución de Problemas
  • Desinstalación
  • Licencia

🚀 Inicio Rápido

Paso 1: Obtén tu token de API

Obtén una clave API gratuita en tip.qfeeds.com.

Paso 2: Descarga los scripts```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

### Paso 3: Ejecute el instalador como root```bash
sudo ./qfeeds-installer.sh

El instalador:

  1. Detectará automáticamente su backend de firewall (nftables o iptables)
  2. Le solicitará su token de API, opciones de bloqueo y lista blanca opcional
  3. Instalará todas las dependencias, el script de actualización y la tarea cron
  4. Realizará la primera sincronización completa de inmediato

Paso 4: Listo

Su servidor ahora está protegido. La tarea cron comprueba las actualizaciones cada 20 minutos (configurable), y las llamadas a la API solo ocurren cuando su licencia lo permite.


📖 Resumen

Esta solución descarga periódicamente la última fuente de inteligencia de amenazas de Q-Feeds y la aplica como reglas de firewall, permitiéndole:

  • ✅ Bloquear conexiones entrantes de IPs maliciosas conocidas
  • ✅ Bloquear conexiones salientes a IPs maliciosas conocidas
  • ✅ Incluir sus propias IPs/CIDRs en la lista blanca para no bloquearse a sí mismo
  • ✅ Programación automática basada en su licencia de Q-Feeds
  • ✅ Actualizaciones incrementales mediante sincronización basada en diferencias para un uso mínimo de recursos

¿Por qué este enfoque?

  • ✅ Detección automática del backend — funciona en nftables o iptables+ipset sin selección manual
  • ✅ Rápido — carga más de 400k IPs en segundos usando conjuntos hash optimizados (nftables) o ipset (iptables)
  • ✅ Seguro — utiliza tablas/conjuntos dedicados — nunca toca sus reglas de firewall existentes
  • ✅ Eficiente — las actualizaciones basadas en diferencias solo procesan cambios, no la lista completa
  • ✅ Confiable — autocuración: detecta un conjunto local vacío o incompleto (por ejemplo, después de un reinicio) y lo reconstruye, con retroceso automático a una sincronización completa si falla una diferencia
  • ✅ Flexible — elija bloqueo de entrada/salida, lista blanca opcional

🔧 Cómo funciona

Detección del backend

El instalador detecta automáticamente qué backend de firewall está disponible:

PrioridadDetecciónBackend
1ºcomando nft encontradonftables
2ºcomando iptables encontradoiptables+ipset
—Ninguno encontradoError (salir)

El backend detectado se almacena en el archivo de configuración. Los scripts de actualización y desinstalación lo usan para ejecutar los comandos de firewall correctos.

Arquitectura: Dos tipos de conjuntos

Ambos backends utilizan la misma estrategia de conjuntos divididos para un rendimiento máximo:

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 de 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 misma estructura existe para IPv6 (ip6 qfeeds table o ip6tables + family inet6 ipsets).

¿Por qué dos tipos de conjuntos?

  • Hash sets almacenan IPs individuales con inserción y búsqueda O(1) — cargar más de 400k IPs toma segundos
  • Net/interval sets solo se usan para el pequeño número de rangos CIDR en la fuente
  • Esto evita operaciones de fusión costosas que ralentizarían un solo conjunto con cientos de miles de entradas
Descargar herramienta