Aller directement au contenu principalAller directement au pied de page

Liste noire

Liste noire d'adresses IP alimentée par la communauté, accessible via API et GitHub. Utilisez-la pour bloquer les adresses IP malveillantes connues dans votre pare-feu, votre serveur web ou votre application — mise à jour automatiquement à partir de données réelles sur les attaques.

Comment la liste noire est-elle générée ?

Chaque adresse IP figurant sur la liste noire provient de signalements de la communauté qui ont été transmis à notre moteur d'évaluation de la réputation. Une adresse IP n'est ajoutée que lorsque :

  • Son score de fiabilité est ≥ 75 % (calculé à partir de la fréquence des signalements, de la diversité des sources, de la gravité et de la date récente)
  • On a observé ce phénomène pendant au moins 48 heures (faux positif de refroidissement)
  • Il ne figure pas sur la liste blanche (les moteurs de recherche, les fournisseurs de CDN et les infrastructures dont le bon fonctionnement est avéré sont exclus)

La liste noire est mise à jour automatiquement — il n'y a pas de vérification manuelle par les modérateurs. 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 des points.

Dépôt GitHub

La liste noire complète est publiée sous la forme d'un dépôt GitHub public, mis à jour toutes les 48 heures à partir des données en temps réel de l'API. Vous pouvez la cloner, l'utiliser dans vos pipelines CI/CD ou l'intégrer à votre infrastructure.

github.reportedip

Structure du référentiel

texte
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

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 création et le nombre total.

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

Format JSON

Tableau d'objets contenant toutes les métadonnées pour chaque adresse IP, y compris le score de fiabilité, les catégories et la date à laquelle l'adresse IP a été signalée pour la dernière fois.

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"
  }
]

Format CSV

Données au format CSV avec en-têtes. Faciles à importer dans des tableurs, des bases de données ou des outils 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

Intégration du pare-feu

Utilisez les fichiers de liste noire 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 les outils les plus courants.

Nginx

Générez un fichier de configuration de liste noire et intégrez-le 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éer une zone de restriction personnalisée qui bloque les adresses IP figurant sur 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

Accès à l'API

Le /blacklist L'interface de l'endpoint permet d'accéder en temps réel à l'intégralité de la liste noire avec des options de filtrage. Une clé API est requise.

Paramètre Type Description
format chaîne Format de réponse : json (par défaut), txt, csv
source chaîne Source de la liste noire : community (par défaut) — une seule source disponible ; la source Ce paramètre est réservé à un usage futur
confidence_minimum entier Note de confiance minimale (0-100). Valeur par défaut : 75
category chaîne Filtrer par slug de catégorie de menace (par exemple brute-force, spam)
limit entier Nombre maximal d'adresses IP à renvoyer. Valeur par défaut : 10 000
boucle
curl -H "X-Key: YOUR_API_KEY" \
     "https://reportedip.de/wp-json/reportedip/v2/blacklist?format=txt&confidence_minimum=90"

Consultez la documentation de l'API pour obtenir des informations complètes sur les points de terminaison, le format des réponses et les paramètres supplémentaires.

Script de mise à jour automatique

Configurez une tâche cron pour télécharger automatiquement la dernière liste noire et mettre à jour les règles de votre pare-feu.

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.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 temps réel vs GitHub

Important : les exportations du dépôt GitHub sont mises à jour toutes les 48 heures. Pour un filtrage en temps réel à partir des données les plus récentes, utilisez directement l'API. L'API reflète immédiatement les modifications à mesure que de nouveaux rapports sont publiés, tandis que les fichiers GitHub peuvent présenter un décalage pouvant aller jusqu'à deux jours.
Méthode Latence Connexion requise Idéal pour
API En temps réel Oui (clé API) Blocage automatique, règles de pare-feu dynamiques, intégration SIEM
GitHub Jusqu'à 48 heures Non Règles de pare-feu statiques, pipelines CI/CD, analyse hors ligne
Axé sur la sécurité
Conforme au RGPD
Fabriqué en Allemagne
Retour à la documentation