Protégez votre serveur web grâce à une Blacklist d'adresses IP en temps réel
The ReportedIP Community Blacklist recenses environ 10 000 adresses IP présentant un niveau de confiance d’abus supérieur à 90 %, et est régénérée côté serveur toutes les 15 minutes (au 21 juillet 2026). Un seul paramètre de requête permet de transformer cette liste unique en cinq listes de blocage de pare-feu spécifiques à chaque 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 liste de blocage par service est préférable à une seule liste géante
Chaque rapport du réseau ReportedIP comporte des identifiants de catégorie de menaces — au nombre de 58, allant de l’attaque de Brute Force SSH (22) à un bloc dédié à WordPress (31 à 58) couvrant les attaques de Brute Force sur les connexions et XML-RPC, les exploits de plugins, le spam dans les commentaires et le balayage de portes dérobées. 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é soit confronté exactement aux 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 ensembles limités à un port limitent l’impact des erreurs : une adresse IP figurant sur la liste Web ne peut jamais empêcher un administrateur d’accéder à SSH. Les listes restent fiables car un score supérieur à 90 nécessite au moins 10 Reports valides provenant d’au moins deux signalants indépendants ; les anciens Reports sont supprimés progressivement avec une demi-vie de 30 jours ; et les robots d’indexation connus sont exclus côté serveur avant la création de la liste.
Comment extraire une liste et la bloquer en cinq minutes
Une requête GET authentifiée par liste de services, en texte clair, une adresse IP par ligne :
curl -H "X-Key: YOUR_API_KEY"
"https://reportedip.com/wp-json/reportedip/v2/blacklist?confidence=90&format=txt&limit=10000&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
Une tâche cron toutes les heures par liste suffit amplement : l’endpoint renvoie un ETag, et le renvoyer en If-None-Match répond aux listes inchangées par 304 Not Modified, de sorte que les requêtes répétées ne coûtent pratiquement rien. Les consultations de la Blacklist ne sont pas comptabilisées dans un quota quotidien ; les paramètres et les formats de réponse sont indiqués dans l’API Reference. Les opérateurs de messagerie qui préfèrent les requêtes DNS à la synchronisation des listes peuvent interroger ces mêmes données via 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 Threat Category 22, celles de Postfix dans la Threat Category 11 et celles de nginx dans la Threat Category 21. Les rapports ne décomptent que de votre quota quotidien de rapports, jamais de votre quota de vérifications, et chaque rapport affine les listes exactes que vous récupérez l’heure suivante.
La configuration d’action prête à l’emploi et la table de correspondance entre les « jails » et les catégories se trouvent dans le guide d’intégration de Fail2ban.
Commencez par la Free tier
- 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é