prison,spam

J'ai enfin réussi à lister les plages d'IP des machines qui floodent mon serveur Web de requêtes HTTP depuis plusieurs semaines.

Elles m'envoient en moyenne une requête par seconde et cela peut monter jusqu'à 100 requêtes simultanées certains soirs.

Il s'agit de serveurs Russes, plusieurs centaines de machines qui utilisent leurs bandes passantes à flooder le script de trackback "tb.php" de ma plateforme de blog.

Pour tracer la liste des IP floodeuses, j'ai développé rapidement un petit script PHP qui porte le même nom que le script de trackback "tb.php" et qui a comme seul objectif d'écrire les IP appelantes dans un fichier de log :



<?php

if (isset($_GET["id"])){
	$ip = $_SERVER['REMOTE_ADDR'];

	$data = "$ip\n";  

	// Open the file and erase the contents if any
	$fp = fopen("spam.log", "a");

	// Write the data to the file
	fwrite($fp, $data);
	
	// Close the file
	fclose($fp);
}

?>


A partir du fichier produit, j'ai pu modifier les règles de mon firewall pour bloquer tous les paquets provenant de ces machines :

$IPTABLES -I INPUT -s 62.213.66.0/24 -j DROP
$IPTABLES -I INPUT -s 62.213.68.0/24 -j DROP
$IPTABLES -I INPUT -s 62.213.71.0/24 -j DROP
$IPTABLES -I INPUT -s 62.213.83.0/24 -j DROP
$IPTABLES -I INPUT -s 62.213.86.0/24 -j DROP

$IPTABLES -I INPUT -s 212.24.32.0/24 -j DROP
$IPTABLES -I INPUT -s 212.24.37.0/24 -j DROP
$IPTABLES -I INPUT -s 212.24.48.0/24 -j DROP
$IPTABLES -I INPUT -s 212.24.61.0/24 -j DROP
$IPTABLES -I INPUT -s 212.24.62.0/24 -j DROP
$IPTABLES -I INPUT -s 212.24.63.0/24 -j DROP

$IPTABLES -I INPUT -s 212.158.165.0/24 -j DROP
$IPTABLES -I INPUT -s 212.158.166.0/24 -j DROP
$IPTABLES -I INPUT -s 212.158.167.0/24 -j DROP
$IPTABLES -I INPUT -s 212.158.169.0/24 -j DROP

$IPTABLES -I INPUT -s 217.23.131.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.132.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.133.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.136.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.140.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.143.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.144.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.147.0/24 -j DROP
$IPTABLES -I INPUT -s 217.23.151.0/24 -j DROP

Et voilà le travail !

En attendant les requêtes qui arrivent sur le serveur consomment inutilement le débit sur ma bande passante ...