Skip to main contentSkip to footer
Actualités sur la sécurité

Protégez votre serveur web grâce à une Blacklist d'adresses IP en temps réel

Updated Patrick Schlesinger
Infographic: one ReportedIP blacklist split into five service-specific firewall block lists for SSH, mail, web, FTP and edge, with 10,000 listed IPs, 58 threat categories and a 15-minute refresh cycle

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.

ListeCatégoriesAppliqué àTaille (21 juillet 2026)
SSH22,18Port 225 141 adresses IP
Courrier11, 7, 17, 18Ports 25, 465, 587, 110, 143, 993, 9952 784 adresses IP
Web21,16,10,19,12 + Bloc WP 31–58Ports 80, 4433 666 adresses IP
FTP5,18Port 212 580 adresses IP
Edge4, 14, 20Tous les ports5 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous devez remplir ce champ
Vous devez remplir ce champ
Veuillez saisir une adresse e-mail valide.
Vous devez accepter les conditions pour continuer