Skip to main contentSkip to footer
Noticias sobre seguridad

Protege tu servidor web con una Blacklist de direcciones IP en tiempo real

Actualizado Patrick Schlesinger
Infographic: one ReportedIP blacklist split into five service-specific firewall block lists for SSH, mail, web, FTP and edge, with 10,000 listed IPs, 58 threat categories and a 15-minute refresh cycle

La comunidad ReportedIP realiza un seguimiento de 720.103 direcciones IP a través de 6,59 millones de informes de abuso, de las cuales 53.426 están clasificadas actualmente como amenazas activas (7 de septiembre de 2026). The Dynamic Blacklist synthesizes those data into firewall-ready blacklists, which are regenerated on the server every 15 minutes, and a query parameter divides them into five port-scoped blacklists: SSH, mail, web, FTP, and network edge.

La guía completa con los scripts de cron e ipset se encuentra en la documentación de Blacklist.

Por qué una blacklist en tiempo real es mejor que un archivo estático de Blocklist

Las Blocklists estáticas pierden eficacia con el tiempo. Los atacantes van alternando entre distintos proveedores de servicios en la nube y redes de bots, por lo que una dirección IP que en junio llevó a cabo ataques de Brute Force a través de SSH suele ser, en agosto, un cliente legítimo de la misma empresa de alojamiento web. Una lista que se descarga una vez y se deja tal cual sigue bloqueando a personas equivocadas, mientras que pasa por alto la oleada actual de ataques.

The ReportedIP Dynamic Blacklist is updated every 15 minutes from real-time community reports. Los servidores «Honeypot», los sitios de WordPress que utilizan el plugin Hive y las instalaciones de fail2ban envían los informes de abusos a un proceso de puntuación, y solo las direcciones IP que superan el umbral de confianza que hayas elegido pasan a formar parte de la lista que consultas. Cuando un atacante deja de actuar, la puntuación disminuye y la dirección IP se elimina por sí sola. Sin revisiones manuales, sin entradas obsoletas del último trimestre.

Cómo el Confidence Score mantiene la lista limpia

Cada dirección IP de la lista tiene un Confidence Score de entre 0 y 100. El Confidence Score se calcula a partir de cuatro componentes básicos, más una bonificación por Honeypot:

  • Volumen de denuncias (hasta 30 puntos): el número ponderado de denuncias presentadas contra el titular de la propiedad intelectual.
  • Diversidad de las fuentes (hasta 15 puntos): los informes procedentes de fuentes independientes tienen más peso. Una sola fuente ruidosa no puede, por sí sola, hacer que una propiedad intelectual supere la puntuación de 60.
  • Actualidad (hasta 15 puntos): un informe de las últimas 24 horas suma 5 puntos; uno de la última semana, 3; y los informes más antiguos suman menos puntos.
  • Gravedad (hasta 15 puntos): se pondera según la Threat Category, por lo que un Exploited Host obtiene una puntuación diferente a la de un autor de spam en los comentarios.
  • Bonificación por «Honeypot» (hasta 25 puntos): los informes procedentes de «Honeypots» con un alto nivel de interacción tienen mayor peso, ya que ningún usuario legítimo interactúa jamás con un «Honeypot».

The old reports lose value exponentially with a 30-day half-life: a report is worth 50 % of its weight after 30 days and 25 % after 60. Además, existen restricciones estrictas que limitan la puntuación: una dirección IP con menos de 5 Reports válidos nunca puede superar los 49 puntos, y si tiene menos de 10 Reports, la puntuación máxima es de 74. Por lo tanto, el umbral de bloqueo recomendado de 90 requiere un abuso continuado y reciente confirmado por al menos dos denunciantes independientes. Los rastreadores conocidos de motores de búsqueda y de monitorización se excluyen del lado del servidor antes de que se cree la lista.

Por qué es mejor tener una lista de bloqueados por cada servicio que una lista enorme

Cada informe incluye identificadores de Threat Categories. Los identificadores válidos van del 1 al 63: categorías clásicas como «ataques de Brute-Force a SSH» (22) y «Email Spam» (11), un bloque específico para WordPress (del 31 al 58) que abarca ataques de Brute Force a Login y XML-RPC, vulnerabilidades en plugins, spam en comentarios y escaneos de puertas traseras, y categorías exclusivas de Honeypots (del 59 al 63). El category parámetro de GET /blacklist acepta una lista de esos identificadores separados por comas, de modo que cada servicio expuesto reciba exactamente los atacantes que lo tienen como objetivo.

ListaCategoríasAplicado aTamaño (21 de julio de 2026)
SSH22,18Puerto 225.141 direcciones IP
Correo11, 7, 17, 18Puertos 25, 465, 587, 110, 143, 993, 9952.784 direcciones IP
Web21,16,10,19,12 + Bloque de WP 31–58Puertos 80, 4433.666 direcciones IP
FTP5,18Puerto 212.580 direcciones IP
Borde4, 14, 20Todos los puertos5.920 direcciones IP

Los conjuntos con alcance por puerto minimizan las consecuencias de los errores: una dirección IP incluida en la lista web nunca puede impedir que un administrador acceda a SSH. La lista de riesgo (Port Scan, Exploited Hosts, hosts vulnerados) es la única que merece la pena aplicar a todos los puertos, ya que esos atacantes lo sondean todo.

Cómo obtener una lista y bloquearla en cinco minutos

El acceso a la Blacklist está disponible a partir del nivel «Contributor», que es gratuito. Cada solicitud GET autenticada por lista de servicios devuelve texto sin formato, con una dirección IP por línea, mezclando direcciones IPv4 e IPv6:

curl -H "X-Key: YOUR_API_KEY" \
  "https://reportedip.com/wp-json/reportedip/v2/blacklist?confidence=90&format=txt&limit=50000&category=22,18" \
  | while read ip; do ipset add rip-ssh "$ip" -exist; done

iptables -I INPUT -p tcp --dport 22 -m set --match-set rip-ssh src -j DROP

En las distribuciones modernas, los conjuntos de nftables sustituyen a los de ipset con el mismo patrón:

nft add set inet filter rip-ssh '{ type ipv4_addr; flags interval; }'
nft add rule inet filter input tcp dport 22 ip saddr @rip-ssh drop

Carga la lista descargada en el conjunto con nft add element, o utiliza el script de actualización «atomic-swap» de la guía de bloqueo a nivel de red, que también abarca conjuntos IPv6 y cortafuegos en la nube. Dos reglas de seguridad antes de la primera ejecución: incluye tus propias direcciones IP de gestión en una Whitelist en un conjunto independiente que se compruebe en primer lugar, y nunca sustituyas un conjunto que funcione por una descarga incompleta. El script de referencia rechaza cualquier respuesta con menos de 1.000 líneas.

Mantén la lista actualizada sin agotar el cupo

Basta con una tarea cron cada hora por cada lista. El Endpoint devuelve un ETag con cada respuesta; guárdalo y devuélvelo como If-None-Match, y una lista sin cambios responde con 304 Not Modified y un cuerpo vacío. Las consultas repetidas no suponen prácticamente ningún coste para ninguna de las partes.

Las consultas a la Blacklist están sujetas a restricciones de funciones, pero no se contabilizan en tu cuota diaria de comprobaciones o informes, por lo que la frecuencia de consulta es una decisión relacionada con el almacenamiento en caché, no con el presupuesto. Los ETags son específicos para la combinación exacta de parámetros que solicites, por lo que debes mantener una etiqueta almacenada por cada lista. Los parámetros y los formatos de respuesta están documentados en la API Reference. Los operadores de correo que prefieran las consultas DNS a la sincronización de listas pueden consultar los mismos datos que una RBL Zone privada.

Denuncia a los atacantes con fail2ban

El bloqueo es la mitad del proceso. Una pequeña acción de fail2ban envía cada bloqueo de tu servidor a POST /report con la Threat Category correspondiente a cada «jail»: las prohibiciones de sshd llegan como categoría 22, las de Postfix como categoría 11 y las de nginx como categoría 21. Los informes solo consumen tu cuota diaria de informes, nunca la cuota de comprobaciones.

La recompensa es inmediata. Tu informe aumenta la Confidence Score del atacante para todos, y dado que las puntuaciones necesitan al menos dos informantes independientes para superar los 60 puntos, tu confirmación suele ser el informe que hace que una IP en el límite supere el umbral de bloqueo. La configuración de acciones predefinida y la tabla de asignación de «jail» a categorías se encuentran en la guía de integración de fail2ban. Los sitios de WordPress obtienen el mismo ciclo sin necesidad de acceder al shell: el plugin Hive supervisa los Logins, los comentarios y el XML-RPC, y notifica automáticamente los ataques confirmados.

¿Y qué hay de los False Positives?

Hay tres mecanismos que limitan los daños colaterales. En primer lugar, las restricciones de puntuación mencionadas anteriormente implican que un único reportero mal configurado no puede incluir por sí solo una dirección IP en la lista Blacklist. En segundo lugar, el periodo de semidesintegración de 30 días elimina automáticamente las direcciones IP que han cambiado de comportamiento, en lugar de esperar a que alguien se dé cuenta. En tercer lugar, una Whitelist del lado del servidor incluye infraestructuras conocidas, como los rastreadores de los motores de búsqueda y los principales servicios de monitorización, antes de que se genere la lista.

Si alguna de tus propias direcciones IP llegara a aparecer en la lista, el proceso de Delisting resuelve el problema: los Reports sobre una dirección IP dejan de contabilizarse una vez que cesa el abuso, y los casos controvertidos se gestionan mediante una revisión manual. Por tu parte, ejecutar la primera semana con registro en lugar de bloqueo (fail2ban lo denomina «prueba general», mientras que el complemento Hive lo llama «Report-Only Mode») te muestra exactamente qué se habría bloqueado antes de que se bloquee nada.

Preguntas frecuentes

¿Cuántas direcciones IP hay en la ReportedIP Blacklist?

La base de datos registra 720.103 direcciones IP notificadas, de las cuales 53.426 están clasificadas actualmente como amenazas activas (7 de septiembre de 2026). El número de direcciones que se obtengan dependerá de los filtros que se utilicen: confidence=90 una categoría de servicio suele devolver entre 2.500 y 6.000 direcciones IP por lista, y el limit parámetro admite valores de hasta 50 000.

¿Con qué frecuencia debo actualizar la Blacklist?

Por hora por lista. El servidor regenera las listas cada 15 minutos, pero gracias a la revalidación de ETag, una tarea cron horaria detecta cualquier cambio significativo con un coste prácticamente nulo. Las consultas no se contabilizan en ninguna cuota diaria.

¿Qué Confidence Score debo utilizar para el bloqueo automático?

Utiliza 90. El valor predeterminado del Endpoint es 75, lo cual está bien para las alertas o el Rate Limiting, pero una puntuación de 90 o superior requiere al menos 10 Reports válidos de dos o más informadores independientes con actividad reciente. Ese es el umbral a partir del cual es seguro descartar automáticamente los datos.

¿Puede la Blacklist impedirme el acceso a mi propio servidor?

No, siempre y cuando sigas dos reglas: mantén tus direcciones IP de gestión en una Whitelist que el cortafuegos compruebe antes de la lista de bloqueo, y aplica cada lista únicamente a sus propios puertos. De este modo, una entrada en la lista web no podrá afectar a tu sesión SSH ni siquiera en el peor de los casos.

¿Incluye la Blacklist direcciones IPv6?

Sí. El formato de texto sin formato muestra las direcciones IPv4 e IPv6 mezcladas, una por línea. Utiliza conjuntos de ipset o nftables independientes para cada familia de direcciones; en la guía del cortafuegos se muestra el patrón de dos conjuntos.

¿Cuánto cuesta el acceso a la Blacklist?

No hay ningún requisito inicial. El acceso a la Blacklist comienza en el nivel «Contributor», que es gratuito y no requiere tarjeta de crédito. Los niveles superiores aumentan los límites diarios de comprobaciones e informes para otros Endpoints; el uso de la Blacklist en sí no está sujeto a límites.

Empieza con el plan Free

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar