Skip to main contentSkip to footer

Blacklist

La ReportedIP Blacklist est une liste communautaire d'adresses IP malveillantes, générée automatiquement à partir de rapports d'attaques réels et accessible via une API et GitHub. Utilisez-la pour bloquer les adresses IP malveillantes connues dans votre pare-feu, votre serveur web ou votre application — elle est mise à jour quotidiennement sans intervention manuelle.

Comment la Blacklist est-elle générée ?

Chaque adresse IP figurant sur la Blacklist provient de signalements de la communauté qui ont été traités par notre moteur de réputation. Une adresse IP n’est incluse que lorsque :

  • Son Confidence Score est ≥ 75 % (calculé à partir de la fréquence des signalements, de la diversité des sources, de la gravité et de la récence)
  • Son signalement le plus récent date d’au moins 48 heures (délai de sécurité contre les False Positives — les entrées ne sont exportées qu’une fois que le score a eu le temps de se recalibrer)
  • Elle ne figure pas sur la Whitelist (moteurs de recherche, fournisseurs de CDN, infrastructures connues pour être fiables sont exclus)

La Blacklist est actualisée automatiquement — il n’y a pas de vérification éditoriale manuelle. L’ensemble du processus est ouvert et transparent : vous pouvez vérifier n’importe quelle entrée via GET /reportedip/v2/check?ip=<ip>&verbose=true pour consulter la répartition exacte du score.

Dépôt GitHub

La Blacklist complète est publiée sous la forme d’un dépôt GitHub public, mis à jour quotidiennement à partir des données de l’API en temps réel. Les données exportées elles-mêmes sont décalées de 48 heures (le délai de refroidissement des False Positives décrit ci-dessus). Vous pouvez le cloner, l’utiliser dans des pipelines CI/CD ou l’intégrer à votre infrastructure.

github.com/reportedip/ReportedIP Blacklist

Structure du dépôt

text
reportedip-blacklist/
├── blacklist-all.txt       # All IPs, one per line
├── blacklist-all.json      # All IPs with metadata
├── blacklist-all.csv       # All IPs, CSV format
├── metadata.json           # Export metadata (version, counts, timestamps)
├── lists/                  # Thematic sub-lists
│   ├── spam.txt
│   ├── brute-force.txt
│   ├── cms-login.txt
│   ├── web-attacks.txt
│   ├── malware.txt
│   ├── ddos.txt
│   ├── fraud.txt
│   ├── infrastructure.txt
│   └── apt.txt
└── formats/                # Ready-to-include firewall snippets
    ├── nginx-deny.conf
    ├── apache-htaccess.txt
    └── iptables.sh

Formats de fichiers

Format TXT

Texte brut, une adresse IP par ligne. Les lignes commençant par # sont des commentaires contenant des métadonnées telles que l'heure de génération et le nombre total d'entrées.

text
# ReportedIP Blacklist - All IPs
# https://reportedip.com
#
# Copyright (c) 2026 ReportedIP / Patrick Schlesinger
# Licensed under CC BY 4.0 - https://creativecommons.org/licenses/by/4.0/
#
# IMPORTANT: Data is delayed by 48 hours.
# For real-time threat intelligence via API, contact: 1@reportedip.com
#
# Generated: 2026-07-22
# Total IPs: 12847
#
1.2.3.4
5.6.7.8
9.10.11.12

Format JSON

Un meta bloc (version d'exportation, nombres, horodatage de génération) suivi d'un entries tableau. categories sont des identifiants numériques de catégories de menaces — les faire correspondre au catalogue des catégories de menaces ou GET /categories.

json
{
  "meta": {
    "version": "2026-07-22",
    "generatedAt": "2026-07-22T00:00:00Z",
    "totalCount": 12847
  },
  "entries": [
    {
      "ip": "1.2.3.4",
      "confidence": 95,
      "categories": [18, 21],
      "source": "dynamic"
    },
    {
      "ip": "5.6.7.8",
      "confidence": 82,
      "categories": [14],
      "source": "dynamic"
    }
  ]
}

Format CSV

Valeurs séparées par des virgules avec une ligne d’en-tête. Facile à importer dans des tableurs, des bases de données ou des outils SIEM. categories contient des identifiants de catégorie numériques séparés par des points-virgules.

csv
ip,confidence,categories,last_reported
1.2.3.4,95,"18;21","2026-07-19 14:22:00"
5.6.7.8,82,"14","2026-07-18 09:15:00"
9.10.11.12,78,"21","2026-07-17 20:45:00"

Intégration au pare-feu

Utilisez les fichiers de Blacklist pour bloquer les adresses IP malveillantes au niveau du pare-feu ou du serveur web. Vous trouverez ci-dessous des exemples d’intégration pour des outils courants.

Nginx

Générez une configuration de Blocklist et intégrez-la dans votre bloc de serveur 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

Créez une « jail » personnalisée qui bloque les adresses IP figurant sur la ReportedIP Blacklist :

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

fail2ban fonctionne également dans l'autre sens : une action prédéfinie signale chaque blocage effectué sur votre serveur à la communauté via POST /report. Consultez le guide d'intégration de fail2ban pour la configuration de l'action et le mappage entre les jails et les catégories.

Accès à l’API

Le /blacklist Endpoint offre un accès en temps réel à la liste noire complète avec des options de filtrage. Une API Key avec la fonctionnalité « Threat Feed » (niveau Contributor et supérieur) est requise. Le point de terminaison est soumis à des restrictions de fonctionnalités et n’ est pas pris en compte dans votre quota quotidien de vérifications ou de rapports — interrogez-le aussi souvent que votre stratégie de mise en cache l’exige. Consultez la section « Authentification et Rate Limits » pour connaître les niveaux d’abonnement et les clés.

Paramètre Type Description
format chaîne de caractères Format de réponse : json (par défaut), txt, csv
source chaîne Source de la Blacklist : dynamic (par défaut) — la Community Blacklist gérée par la communauté et notée automatiquement. Les autres valeurs sont réservées à un usage interne
confidence entier Confidence Score minimum (0–100). Valeur par défaut : 75. Alias : confidenceMinimum. Recommandé pour le blocage automatique : 90
category chaîne Un ou plusieurs identifiants de Threat Categories, séparés par des virgules (par ex. 22,18 pour SSH et une attaque par Brute Force générique). Catalogue complet sur la page Threat Categories ou via GET /categories
limit entier Nombre maximal d’adresses IP à renvoyer. Valeur par défaut : 10 000 — conservez la valeur par défaut ; des valeurs inférieures tronqueront la liste
curl
curl -H "X-Key: YOUR_API_KEY" \
     "https://reportedip.com/wp-json/reportedip/v2/blacklist?format=txt&confidence=90&limit=10000"

Consultez l'API Reference pour obtenir la documentation complète sur les Endpoints, le format de réponse et les paramètres supplémentaires.

Blacklists spécifiques au service

Combinez le category filtre avec confidence=90 pour créer une liste de blocage par service exposé. Chaque liste ne contient que les adresses IP signalées pour le type d’attaque correspondant ; vous pouvez donc l’appliquer au niveau d’un port : une adresse IP figurant sur la liste Web n’empêchera jamais quiconque d’accéder à SSH.

Liste category Valeur Catégories incluses Appliquer à
SSH 22,18 Attaque de Brute-Force SSH, attaque de Brute-Force générique sshd — port 22
Courrier 11,7,17,18 Email Spam, Phishing, Spoofing, Brute-Force (SMTP-AUTH/IMAP/POP3) Postfix/Exim, Dovecot — ports 25, 465, 587, 110, 143, 993, 995
Web 21,16,10,19,12 Web App Attack, SQL Injection, Web Spam, Bad Web Bot, Blog Spam — couvre les attaques par Brute Force sur la connexion WordPress/XML-RPC/REST, les exploits des plugins et du cœur du système, le spam dans les commentaires et les analyses, qui sont signalés sous ces identifiants nginx/Apache, y compris l'hébergement WordPress — ports 80, 443
FTP 5,18 FTP Brute-Force, Brute-Force générique vsftpd/proftpd — port 21
Périphérie 4,14,20 DDoS Attack, Port Scan, Exploited Host ensemble de la périphérie du réseau, tous les ports
curl
# SSH attackers only, plain text for ipset/nftables
curl -H "X-Key: YOUR_API_KEY" \
     "https://reportedip.com/wp-json/reportedip/v2/blacklist?confidence=90&format=txt&limit=10000&category=22,18"

Les listes sont régénérées côté serveur toutes les 15 minutes. Une interrogation toutes les heures par liste suffit ; renvoyez les données ETag en les renvoyant If-None-Match et, pour les listes inchangées, répondez par 304 Not Modified. Tous les identifiants de catégorie valides se situent dans la plage 1–30 — voir le catalogue des Threat Categories.

Script de mise à jour automatique

Configurez une tâche cron pour télécharger automatiquement la dernière Blacklist et mettre à jour vos Firewall Rules.

Planification cron

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

Script de mise à jour

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.com/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=90&limit=10000" \
     -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"

Temps réel vs GitHub

Important : le dépôt GitHub est mis à jour quotidiennement, mais les données exportées comportent un délai de sécurité de 48 heures pour les False Positives. Pour un blocage en temps réel avec les données les plus récentes, utilisez directement l’API : elle reflète immédiatement les changements à mesure que de nouveaux rapports arrivent, tandis que les fichiers GitHub accusent un retard pouvant aller jusqu’à deux jours. Les serveurs de messagerie peuvent également utiliser la Blacklist sous forme de zone DNSBL / RBL sans télécharger aucun fichier.
Méthode Latence Authentification requise Idéal pour
API En temps réel Oui (API Key) Blocage automatisé, Firewall Rules dynamiques, intégration SIEM
GitHub Jusqu'à 48 heures Non Static Firewall Rules, CI/CD pipelines, offline analysis

Dernière mise à jour : · Géré par l'équipe ReportedIP

Security Focused
GDPR Compliant
Made in Germany
Retour aux Docs