Ir al contenido principalIr al pie de página

Lista negra

Lista negra de direcciones IP generada por la comunidad, disponible a través de API y GitHub. Úsala para bloquear direcciones IP maliciosas conocidas en tu cortafuegos, servidor web o aplicación; se actualiza automáticamente a partir de datos reales sobre ataques.

Cómo se genera la lista negra

Todas las direcciones IP de la lista negra proceden de denuncias de la comunidad que llegan a nuestro motor de reputación. Una dirección IP solo se incluye cuando:

  • Su índice de fiabilidad es ≥ 75 % (calculado a partir de la frecuencia de las notificaciones, la diversidad de fuentes, la gravedad y la actualidad)
  • Se ha observado durante al menos 48 horas (enfriamiento por falso positivo)
  • No figura en la lista blanca (se excluyen los motores de búsqueda, los proveedores de CDN y las infraestructuras de confianza)

La lista negra se actualiza automáticamente; no hay revisión editorial manual. Todo el proceso es abierto y transparente: puedes verificar cualquier entrada a través de GET /reportedip/v2/check?ip=<ip>&verbose=true para ver el desglose exacto de la puntuación.

Repositorio de GitHub

La lista negra completa se publica como un repositorio público de GitHub, que se actualiza cada 48 horas a partir de los datos en tiempo real de la API. Puedes clonarla, utilizarla en flujos de trabajo de CI/CD o integrarla en tu infraestructura.

github.reportedip

Estructura del repositorio

texto
reportedip-blacklist/
├── blacklist-all.txt       # All IPs, one per line
├── blacklist-all.json      # All IPs with metadata
├── blacklist-all.csv       # All IPs, CSV format
└── lists/
    ├── spam.txt
    ├── brute-force.txt
    ├── cms-login.txt
    ├── web-attacks.txt
    ├── scanning.txt
    ├── exploitation.txt
    ├── honeypot.txt
    ├── phishing.txt
    └── malware.txt

Formatos de archivo

Formato TXT

Texto sin formato, una dirección IP por línea. Las líneas que comienzan con # son comentarios que contienen metadatos como la fecha de creación y el recuento total.

texto
# ReportedIP Blacklist
# Generated: 2026-03-10T00:00:00Z
# Total: 12847
1.2.3.4
5.6.7.8
9.10.11.12

Formato JSON

Conjunto de objetos con metadatos completos para cada dirección IP, incluyendo la puntuación de fiabilidad, las categorías y la última vez que se notificó dicha dirección IP.

json
[
  {
    "ip": "1.2.3.4",
    "confidence": 95,
    "categories": ["brute-force", "cms-login"],
    "last_seen": "2026-03-09T14:22:00Z"
  },
  {
    "ip": "5.6.7.8",
    "confidence": 82,
    "categories": ["scanning"],
    "last_seen": "2026-03-08T09:15:00Z"
  }
]

Formato CSV

Valores separados por comas con encabezados. Fáciles de importar a hojas de cálculo, bases de datos o herramientas SIEM.

csv
ip,confidence,category,last_seen
1.2.3.4,95,brute-force,2026-03-09T14:22:00Z
5.6.7.8,82,scanning,2026-03-08T09:15:00Z
9.10.11.12,78,web-attacks,2026-03-07T20:45:00Z

Integración con el cortafuegos

Utiliza los archivos de lista negra para bloquear direcciones IP maliciosas a nivel del cortafuegos o del servidor web. A continuación se muestran ejemplos de integración con herramientas habituales.

Nginx

Genera una configuración de lista de bloqueados e inclúyela en el bloque de servidor de Nginx:

bash
# Generate Nginx blocklist from TXT file
awk '{print "deny " $1 ";"}' blacklist-all.txt > /etc/nginx/blocklist.conf
nginx
# /etc/nginx/sites-enabled/default
server {
    include /etc/nginx/blocklist.conf;

    # ... rest of your config
}

Apache (.htaccess)

Apache
# .htaccess — Block reported IPs
<RequireAll>
    Require all granted
    Require not ip 1.2.3.4
    Require not ip 5.6.7.8
    Require not ip 9.10.11.12
</RequireAll>

iptables

bash
# Block all IPs from the blacklist
while read ip; do
    iptables -A INPUT -s "$ip" -j DROP
done < blacklist-all.txt

fail2ban

Crea una «jail» personalizada que bloquee las direcciones IP de la ReportedIP :

ini
# /etc/fail2ban/jail.d/reportedip.conf
[reportedip-blacklist]
enabled  = true
banaction = iptables-allports
bantime  = 86400
filter   = reportedip-blacklist
logpath  = /var/log/reportedip-blacklist.log
maxretry = 1

Acceso a la API

El /blacklist El punto final ofrece acceso en tiempo real a la lista negra completa con opciones de filtrado. Se requiere una clave API.

Parámetro Tipo Descripción
format cadena Formato de respuesta: json (predeterminado), txt, csv
source cadena Fuente de la lista negra: community (predeterminado) — solo hay una fuente disponible; la source Este parámetro está reservado para uso futuro
confidence_minimum entero Puntuación mínima de confianza (0-100). Valor predeterminado: 75
category cadena Filtrar por slug de categoría de amenaza (p. ej., brute-force, spam)
limit entero Número máximo de direcciones IP que se deben devolver. Valor predeterminado: 10 000
rizo
curl -H "X-Key: YOUR_API_KEY" \
     "https://reportedip.de/wp-json/reportedip/v2/blacklist?format=txt&confidence_minimum=90"

Consulte la Referencia de la API para obtener la documentación completa sobre los puntos de conexión, el formato de respuesta y los parámetros adicionales.

Script de actualización automática

Configura una tarea programada para descargar automáticamente la lista negra más reciente y actualizar las reglas de tu cortafuegos.

Programación de Cron

bash
# /etc/cron.d/reportedip-blacklist
0 */6 * * * root /usr/local/bin/update-reportedip-blocklist.sh

Script de actualización

bash
#!/bin/bash
# /usr/local/bin/update-reportedip-blocklist.sh
# Downloads the latest ReportedIP blacklist and updates Nginx blocklist

API_KEY="your-api-key-here"
API_URL="https://reportedip.de/wp-json/reportedip/v2/blacklist"
BLOCKLIST="/etc/nginx/blocklist.conf"
TMPFILE=$(mktemp)

# Download latest blacklist in TXT format
curl -sf -H "X-Key: $API_KEY" \
     "$API_URL?format=txt&confidence_minimum=90" \
     -o "$TMPFILE"

if [ $? -eq 0 ] && [ -s "$TMPFILE" ]; then
    # Convert to Nginx deny directives
    grep -v "^#" "$TMPFILE" | grep -v "^$" | \
        awk '{print "deny " $1 ";"}' > "$BLOCKLIST"

    # Reload Nginx
    nginx -t && systemctl reload nginx

    echo "$(date): Blocklist updated with $(wc -l < "$BLOCKLIST") entries"
else
    echo "$(date): Failed to download blacklist" >&2
fi

rm -f "$TMPFILE"

En tiempo real frente a GitHub

Importante: Las exportaciones del repositorio de GitHub se actualizan cada 48 horas. Para realizar bloqueos en tiempo real con los datos más recientes, utiliza directamente la API. La API refleja los cambios de forma inmediata a medida que se reciben nuevos informes, mientras que los archivos de GitHub pueden tener un retraso de hasta dos días.
Método Latencia Se requiere autenticación Ideal para
API En tiempo real Sí (clave API) Bloqueo automático, reglas dinámicas de cortafuegos, integración con SIEM
GitHub Hasta 48 horas No Reglas estáticas de cortafuegos, procesos de CI/CD, análisis sin conexión
Centrado en la seguridad
Conforme al RGPD
Fabricado en Alemania
Volver a la documentación