Protégez votre serveur web grâce à une Blacklist d'adresses IP en temps réel
La communauté ReportedIP recense 720 103 adresses IP issues de 6,59 millions de signalements d’abus, dont 53 426 sont actuellement classées comme des menaces actives (7 septembre 2026). Cette Dynamic Blacklist synthétise ces données en Blacklists prêtes à être utilisées par un pare-feu, régénérées côté serveur toutes les 15 minutes, et un paramètre de requête permet de la diviser en cinq listes par port : SSH, messagerie, web, FTP et périphérie du réseau.
La procédure détaillée, avec les scripts cron et ipset, figure dans la documentation relative à la Blacklist.
Pourquoi une Blacklist en temps réel est plus efficace qu’un fichier de Blocklist statique
Les Blocklists statiques perdent rapidement leur efficacité. Les pirates changent régulièrement de fournisseurs de services cloud et de botnets ; ainsi, une adresse IP qui a servi à mener des attaques de Brute Force SSH en juin est souvent celle d’un client légitime de la même société d’hébergement dès le mois d’août. Une liste téléchargée une seule fois et laissée telle quelle continue de bloquer les mauvaises personnes tout en passant à côté de la vague d’attaques en cours.
La Dynamic Blacklist ReportedIP est mise à jour toutes les 15 minutes à partir des signalements en temps réel de la communauté. Les serveurs « honeypot », les sites WordPress équipés du plugin Hive et les installations de fail2ban transmettent les signalements d’abus à un système de notation, et seules les adresses IP dépassant le seuil de confiance que vous avez défini sont ajoutées à la liste que vous récupérez. Lorsqu’un attaquant cesse ses activités, le score diminue et l’adresse IP est automatiquement retirée de la liste. Pas de vérification manuelle, pas d’entrées obsolètes datant du trimestre dernier.
Comment le Confidence Score permet de garantir la qualité de la liste
Chaque adresse IP figurant sur la liste est associée à un Confidence Score compris entre 0 et 100. Ce score est calculé à partir de quatre éléments de base, auxquels s’ajoute un bonus « Honeypot » :
- Volume de signalements (jusqu’à 30 points) : nombre pondéré de signalements concernant l’IP.
- Diversité des sources (jusqu’à 15 points) : les informations provenant de sources indépendantes ont plus de poids. Une seule source bruyante ne peut à elle seule faire passer la note d’une adresse IP au-delà de 60.
- Actualité (jusqu’à 15 points) : un rapport datant des dernières 24 heures rapporte 5 points, un rapport datant de la semaine dernière en rapporte 3, et les rapports plus anciens rapportent moins de points.
- Gravité (jusqu’à 15 points) : pondérée en fonction de la Threat Category ; ainsi, un Exploited Host obtient un score différent de celui d’un spammeur de commentaires.
- Bonus « Honeypot » (jusqu’à 25 points) : les rapports provenant de honeypots à forte interaction ont un poids supplémentaire, car aucun utilisateur légitime ne se connecte jamais à un honeypot.
Les anciens rapports perdent de leur valeur de manière exponentielle, avec une demi-vie de 30 jours : un rapport ne vaut plus que 50 % de son poids après 30 jours et 25 % après 60 jours. De plus, des contraintes strictes plafonnent le score : une adresse IP ayant moins de 5 Reports valides ne peut jamais dépasser 49, et moins de 10 Reports le plafonnent à 74. Le seuil de blocage recommandé de 90 nécessite donc des abus récents et persistants, confirmés par au moins deux signalants indépendants. Les robots d’indexation connus des moteurs de recherche et des outils de surveillance sont exclus côté serveur avant la création de la liste.
Pourquoi une liste de blocage par service est préférable à une liste unique gigantesque
Chaque rapport comporte des identifiants de catégorie de menace. Les identifiants valides vont de 1 à 63 : des catégories classiques telles que « SSH Brute-Force » (22) et « Email Spam » (11), un bloc dédié à WordPress (31 à 58) couvrant les attaques de Brute Force sur le Login et XML-RPC, les exploits de plugins, le spam dans les commentaires et l’analyse des portes dérobées, ainsi que des catégories réservées aux Honeypots (59 à 63). Le category paramètre sur GET /blacklist accepte une liste de ces identifiants séparés par des virgules, de sorte que chaque service exposé reçoive exactement les attaquants qui le ciblent.
| Liste | Catégories | Appliqué à | Taille (21 juillet 2026) |
|---|---|---|---|
| SSH | 22,18 | Port 22 | 5 141 adresses IP |
| Courrier | 11, 7, 17, 18 | Ports 25, 465, 587, 110, 143, 993, 995 | 2 784 adresses IP |
| Web | 21,16,10,19,12 + Bloc WP 31–58 | Ports 80, 443 | 3 666 adresses IP |
| FTP | 5,18 | Port 21 | 2 580 adresses IP |
| Edge | 4, 14, 20 | Tous les ports | 5 920 adresses IP |
Les listes de ports limitent l’impact des erreurs : une adresse IP figurant sur la liste « Web » ne peut jamais empêcher un administrateur d’accéder à SSH. La liste « Edge » (DDoS, Port Scan, Exploited Hosts) est la seule qui mérite d’être appliquée à tous les ports, car ces attaquants sondent tout.
Comment extraire une liste et la bloquer en cinq minutes
L’accès à la Blacklist est disponible à partir du niveau « Contributor », qui est gratuit. Une requête GET authentifiée par liste de services renvoie les informations en texte clair, à raison d’une adresse IP par ligne, mélangeant les adresses IPv4 et 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
Sur les distributions modernes, les ensembles nftables remplacent les ensembles ipset selon le même principe :
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
Chargez la liste téléchargée dans le jeu à l’aide de nft add element, ou utilisez le script de mise à jour « atomic-swap » fourni dans le guide de blocage au niveau du réseau, qui traite également des ensembles IPv6 et des pare-feu cloud. Deux règles de sécurité avant la première exécution : ajoutez vos propres adresses IP de gestion à une liste Whitelist dans un ensemble distinct qui sera traité en premier, et ne remplacez jamais un ensemble fonctionnel par un téléchargement tronqué. Le script de référence rejette toute réponse comportant moins de 1 000 lignes.
Actualisez régulièrement la liste sans dépasser le quota
Une tâche cron toutes les heures par liste suffit amplement. L’endpoint renvoie un ETag à chaque réponse ; enregistrez-le et renvoyez-le comme If-None-Match, et une liste inchangée répond avec 304 Not Modified et un corps vide. Les requêtes de vérification ne coûtent pratiquement rien, ni d’un côté ni de l’autre.
Les requêtes de Blacklist sont soumises à des restrictions d’accès, mais ne sont pas comptabilisées dans votre quota quotidien de vérifications ou de rapports ; la fréquence d’interrogation relève donc d’un choix de mise en cache, et non d’une contrainte budgétaire. Les ETags sont spécifiques à la combinaison exacte de paramètres que vous demandez ; veillez donc à ne conserver qu’une seule balise enregistrée par liste. Les paramètres et les formats de réponse sont documentés dans l’API Reference. Les opérateurs de messagerie qui préfèrent les requêtes DNS à la synchronisation des listes peuvent interroger les mêmes données qu’une RBL Zone privée.
Signaler les pirates grâce à fail2ban
Le blocage ne représente que la moitié du processus. Une petite action fail2ban envoie chaque blocage effectué sur votre serveur vers POST /report avec la Threat Category correspondante pour chaque « jail » : les interdictions sshd sont classées dans la catégorie 22, celles de Postfix dans la catégorie 11 et celles d’nginx dans la catégorie 21. Les Reports ne pèsent que sur votre quota quotidien de Reports, jamais sur votre quota de vérifications.
Le résultat est immédiat. Votre signalement fait augmenter le Confidence Score de l’attaquant pour tout le monde, et comme il faut au moins deux signalements indépendants pour qu’un Confidence Score dépasse 60, votre confirmation est souvent le signalement qui fait basculer une adresse IP limite au-delà du seuil de blocage. La configuration prête à l’emploi et le tableau de correspondance entre les cellules et les catégories se trouvent dans le guide d’intégration de fail2ban. Les sites WordPress bénéficient du même processus sans avoir à intervenir dans le shell : le plugin Hive surveille les Logins, les commentaires et le protocole XML-RPC, et signale automatiquement les attaques confirmées.
Et qu’en est-il des False Positives ?
Trois mécanismes permettent de limiter les dommages collatéraux. Premièrement, les contraintes de score mentionnées ci-dessus impliquent qu’un seul rapporteur mal configuré ne peut à lui seul mettre une adresse IP sur liste noire. Deuxièmement, la demi-vie de 30 jours permet de retirer automatiquement les adresses IP réhabilitées, sans attendre que quelqu’un s’en aperçoive. Enfin, une Whitelist côté serveur couvre les infrastructures connues, telles que les robots d’indexation des moteurs de recherche et les principaux services de surveillance, avant même que la liste ne soit générée.
Si l’une de vos propres adresses IP venait à figurer sur la liste, la procédure de Delisting permettrait de régler le problème : les Reports concernant une adresse IP cessent d’être comptabilisés dès que l’abus prend fin, et les cas litigieux sont traités par un examen manuel. De votre côté, en effectuant une première semaine de test avec la journalisation au lieu du blocage (fail2ban appelle cela un « dry run », le plugin Hive parle de « Report-Only Mode »), vous verrez exactement ce qui aurait été bloqué avant que quoi que ce soit ne le soit.
Foire aux questions
Combien d’adresses IP figurent sur la ReportedIP Blacklist ?
La base de données recense 720 103 adresses IP signalées, dont 53 426 sont actuellement classées comme des menaces actives (au 7 septembre 2026). Le nombre d’adresses IP obtenues dépend de vos filtres : confidence=90 une catégorie de service renvoie généralement entre 2 500 et 6 000 adresses IP par liste, et le limit paramètre accepte des valeurs allant jusqu’à 50 000.
À quelle fréquence dois-je mettre à jour la Blacklist ?
Par liste et par heure. Le serveur régénère les listes toutes les 15 minutes, mais grâce à la revalidation ETag, une tâche cron horaire détecte toutes les modifications significatives à un coût quasi nul. Les requêtes de récupération ne sont pas comptabilisées dans le quota quotidien.
Quel Confidence Score dois-je utiliser pour le blocage automatique ?
Utilisez la valeur 90. La valeur par défaut de cet endpoint est 75, ce qui convient pour les alertes ou le Rate Limiting, mais un score de 90 ou plus nécessite au moins 10 rapports valides provenant d’au moins deux rapporteurs indépendants ayant une activité récente. C’est le seuil à partir duquel le rejet automatique peut être effectué en toute sécurité.
La Blacklist peut-elle m’empêcher d’accéder à mon propre serveur ?
Ce ne sera pas le cas si vous respectez deux règles : conservez vos adresses IP de gestion dans une Whitelist que le pare-feu vérifie avant la liste de blocage, et appliquez chaque liste uniquement à ses propres ports. Ainsi, même dans le pire des cas, une entrée figurant sur la liste Web ne pourra pas affecter votre session SSH.
The blacklist includes IPv6 addresses?
Oui. Le format en texte clair renvoie les adresses IPv4 et IPv6 mélangées, à raison d’une par ligne. Utilisez des ensembles ipset ou nftables distincts pour chaque famille d’adresses ; le guide du pare-feu présente le modèle à deux ensembles.
Combien coûte l’accès à la Blacklist ?
Rien à faire pour commencer. L’accès à la Blacklist est disponible à partir du niveau « Contributor », qui est gratuit et ne nécessite pas de carte bancaire. Les niveaux supérieurs augmentent les quotas quotidiens de vérifications et de rapports pour les autres Endpoints ; l’accès à la Blacklist elle-même n’est pas soumis à un contingentement.
Commencez par la formule Free
- Créez un compte gratuit ; l’accès à la Blacklist est disponible à partir du niveau « Contributor », sans carte bancaire.
- Documentation sur les Blacklists, listes de services, formats, script de mise à jour automatique
- Intégration de fail2ban : transmettez vos informations de blocage à la communauté