Stop forum spam einbindung bei zuviel traffic, woher kommt der traffic Anti Bot system automatisch bannen via iptables, fail2ban

Hi,

wenn sich der traffic des Webspace oder des Vservers in ungeahnte Höhen oder unrealistischen Weiten erhebt liegt dies meist an Spam-Bots oder böser crawler.

To-Do:  Ich habe nachdem mein Traffic anstieg über froxlor und den Webalizer mehrere Hochperformante IPs ausgespäht und diese isoliert, nach mehreren Google Prüfungen wurde mir klar das jede dieser IPs auf stopforumspam.com vertreten ist wobei hier ein Manko des First-Abuses auf Proxys besteht…

Eine möglichkeit für Foren software wie webspell, phpbb und phpfusion:

1. In der Datenbank der Forensoftware folgende Tabelle erstellen:

CREATE TABLE IF NOT EXISTS `stopforumspam` (
`ip` varchar(32) NOT NULL,
`id` int(32) NOT NULL auto_increment,
`time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY  (`id`),
UNIQUE KEY `ip` (`ip`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=287040 ;

 

2. Das Auto update script für Cron via bash shell:

#!/bin/bash
wget http://www.stopforumspam.com/downloads/bannedips.zip
unzip ./bannedips.zip >>/dev/null
rm newips.csv
sed 's/,/\n/g' bannedips.csv > newips.csv
P=password
D=database
U=user
mysql -u$U -p$P  -D$D<<< 'TRUNCATE stopforumspam ; '
mysql -u$U -p$P  -D$D<<< ' LOAD DATA LOCAL INFILE "./newips.csv" INTO TABLE stopforumspam FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "\n" (ip);'

 

3. PHP-Einbindung in Webspell wie php-fusion ungefähr gleich:

$ip=$_SERVER['REMOTE_ADDR'];
$result = dbquery("SELECT * FROM stopforumspam WHERE ip='".$ip."'"); //php-fusion query
$numrows = dbrows($result); //php-fusion query
echo $numrows; //php-fusion query
if($numrows=="1")
{
die('exit');
// EXEC IPTABLES BAN $ip
//FAIL2BAN FOR VSERVERS
}

Hier kann man über die Funktion „exec“ iptables Richtlinien setzen oder über das Fail2ban script aus einem meiner anderen Blogposts die erkannte IP bannen.

Im Test zeigte sich diese Methode am Performantesten mit 0,0004 Sekunden verzögerung.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Denkhilfe *

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.