Sie sind nicht angemeldet.

1

Donnerstag, 7. April 2011, 09:42

China aussperren

Guten Morgen alle zusammen,

ich weiß wir sind hier in einem Sourceserver-Board, aber ich hoffe ihr könnt mir bei dem Problem hier auch weiterhelfen. Ich habe seit einigen Wochen das Problem, dass meine Homepage zugespammt wird. Es sind immer chinesische IPs von denen aus die Spam-Bots oder sogar Menschen meine Homepage aufrufen. Kennt jemand eine Möglichkeit alle chinesischen IPs von meiner Homepage verzuhalten? Also sie quasi zu bannen. Falls es da keine technische Lösung gibt, kann ich das irgendwo beantragen oder gibts hierzu vielleicht eine Behörde?

Gruß Anubis


Beiträge: 1 537

Wohnort: Krefeld

Beruf: Student

Rootserver vorhanden: Nein

  • Nachricht senden

2

Donnerstag, 7. April 2011, 09:57

Einfach via IP-Tables aussperren. Sollte nicht das Problem sein.
Ich weiß nur nicht wiviel ressourcen das frisst ... dazu sollten die Linux-Expreten was sagen.

Das kann die vermutlich weiterhelfen:
http://www.i-eye.net/linux/Wie_sperre_ic…_IP_Adresse.php
http://blacklist.linuxadmin.org/

Ansonsten auf der HP Kommentarfunktion nur für registrierte Benutzer und Captcha´s einbauen.
Nachdem ich meine Page off genommen habe, habe ich mal nach meiner domain gegoogelt und siehe da ! Meine Homepage war in irgeneinem China-Forum und wurde immer schön weitergereicht. Das waren schon aber keine Bots mehr sondern richtige Leute, die sich angemeldet haben. Naja bei 50 Cent die Stunde .... wen wunderts ?
LG
GeNeRaLbEaM

Wer Rechtschreibfehler findet, darf sie behalten.

3

Donnerstag, 7. April 2011, 11:20

Vielleicht ist die bessere Lösung aber die Sicherheitslücke zu beheben, die maschninelles posten (so funktioneirt nun mal 99.999% des Spam, auch Chinesen werden nicht manuell bei dir posten) unterbindet. Sprich: benutz ein zuverlässiges Capcha.
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

Lestat666

unregistriert

4

Donnerstag, 7. April 2011, 16:03

Die Capchas sind für die Spambots meist keine (lange) wirksame Hürde.

Zwei weitere Möglichkeiten wären:

1.
IP-Bereiche per großzügig per htaccess sperren.
Ist allerdings mühselig und die Bots kommen ja nicht nur aus China....
Das könnte z.B. so aussehen.

Spoiler Spoiler


<FilesMatch "(.*)">
order allow,deny
allow from all
deny from 61.190
deny from 111.111.11
deny from 91.15.238
u.s.w.
</FilesMatch>


2.
Falls die Spambots sich auf der Seite sogar registrieren, ist es sehr effektiv, der Seite für die Anmeldung (z.B. register.php) einfach einen anderen Namen zu geben.
99% der Bots rufen nicht die Startseite, sondern die Register-Seite direkt auf.
Natürlich muss bei dieser Lösung der Name der umbenannten Datei auch in allen allen anderen aufrufenden Dateien der Page umbenannt werden!
Das sind meist aber nur 2-3 Dateien - also nicht allzu viel Arbeit.
Ich habe diese Methode vor 2 Monaten bei einer PHP-Fusion Installation angewendet und seit dem ist nicht ein einziger Spambot erfolgreich gewesen.

Die "register.php" habe dabei übrigens auf dem Webspace belassen.
Allerdings mit neuem Inhalt um die Bots ein wenig zu ärgern :ba7: und deren Zugriffsversuche zu protokollieren.

Hier der neue Inhalt der register: (Ohne Garantie, ist alles von Google zusammenkopiert!)

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
// Starten einer Session
session_start();
// Generieren von 2 Zufallszahlen von 1-10
$zahl1 mt_rand(110);
$zahl2 mt_rand(110);
// Auswahl der Rechenoperation
$op = array("+""-""*");
$zufall mt_rand(02);
$operation $op[$zufall];
// Errechnen der Lösung
eval("\$_SESSION['loesung'] = {$zahl1} {$operation} {$zahl2};");
echo("Bitte berechnen Sie: {$zahl1} {$operation} {$zahl2} <input type='text' name='aufgabe'>");
$ip=$_SERVER['REMOTE_ADDR'];
$port=$_SERVER['REMOTE_PORT'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$ausgabe="IP:$ip\nPORT:$port\nBROWSER:$browser";
$filename="aa_ip.log";
$datum=date("d.m.Y, H:i");
$fp=fopen($filename"a+");
fwrite($fp"Am ".$datum." wurde die seite besucht von:\n".$ausgabe."\n\n");
fclose($fp); 

## 5-minuten script
## spam-bot verwirrer

## zufallsfunktion :D
function dornd ($laenge,$string){
for ($i=0;$i<=$laenge;$i++)
{
$pass .= $string{mt_rand(0,strlen($string))};
}
return $pass;
} 
## strings fuer die mailaddy
$string 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789_-';

## und jetzt noch domainendungen - damit die gaudi fuer die bots attraktiver wird
$tlds '".com", ".net", ".org", ".info", ".eu"';

## adresse zambauen
$davor dornd(12,$string);
$danach dornd(11,$string);
$endung = array($tlds);
echo var_dump($endung);
?>


Das Dingens schreibt dann jeden Zugriffsversuch (derzeit ca. 30-100 pro Tag - ist ne grössere,bekannte Website....) in eine Logdatei die so aussieht:

Spoiler Spoiler


Am 07.04.2011, 13:28 wurde die seite besucht von:
IP:93.182.153.24
PORT:51008
BROWSER:Opera/9.0 (Windows NT 5.1; U; en)

Am 07.04.2011, 13:29 wurde die seite besucht von:
IP:213.0.89.53
PORT:49470
BROWSER:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; Win64; x64; SV1; .NET CLR 2.0.50727)

Am 07.04.2011, 13:33 wurde die seite besucht von:
IP:91.201.66.139
PORT:2797
BROWSER:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Am 07.04.2011, 14:02 wurde die seite besucht von:
IP:95.37.225.188
PORT:60603
BROWSER:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461)

Am 07.04.2011, 14:08 wurde die seite besucht von:
IP:109.230.251.74
PORT:59538
BROWSER:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)

Am 07.04.2011, 14:15 wurde die seite besucht von:
IP:79.142.67.137
PORT:63872
BROWSER:Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)

Am 07.04.2011, 15:46 wurde die seite besucht von:
IP:60.172.229.90
PORT:3321
BROWSER:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)


Hoffe, ich konnte etwas helfen.

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Lestat666« (7. April 2011, 16:17)


5

Freitag, 8. April 2011, 09:42

eigentlich lassen sich quasi alle spambots durch eine registrierung mit bestätigungs-mail aussperren. warum sie sich dann doch wieder registrieren können, sind grundsätzlich sicherheitslücken in der software. vielleicht hilft ein einfaches update der software? welche verwendest du überhaupt?
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

6

Samstag, 9. April 2011, 15:05

Sorry das ich erst jetz antworte, musste die letzten Tage recht viel arbeiten.
Also...
Verwendete Software: DZCP in der aktuellen Version - http://www.dzcp.de/newscenter/
Die Website liegt auf einem ganz normalen Webspace bei All-XXXX. Deswegen kann ich den Vorschlag von GeNeRaLbEaM nicht verwenden, trotzdem vielen Dank.
Die Lösung mit der .htaccess-Datei klingt interessant.
Ich hab mal meine Logs durchgeschaut. Jeder Spam-Bot kam bisher mit einer IP aus China.
Der mit dem registrieren ist auch so eine Sache. Ich selber finds auch doof, wenn ich nur für einen kleinen Newskommentar mich registrieren muss.
Die PHP-Lösung sieht zwar gut aus, aber leider sind mein PHP-Kenntnisse nur sehr gering, deswegen glaub ich kaum, dass ich das CMS soweit abändern kann.
Theoretisch könnte ich doch eine htaccess Datei anlegen und dort die Ips von hier verwenden http://blacklist.linuxadmin.org/. Müsse dann nur China TCP und 80 auswählen und die dann dort eintragen. Dann müsste doch ruhe sein oder?
Dann ist nur die Frage noch was ich aus der Liste genau eintragen muss?!?!

Edit:
Ein Captcha ist schon eingebaut, scheint den Bot aber nicht zu jucken. Ein anderes ein zu bauen, würde wieder an meinen mangelnten PHP Kenntnissen scheitern.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Anubis« (9. April 2011, 15:10)


Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

7

Samstag, 9. April 2011, 16:49

Also, ich war mal so frei und habe Dir eine fertige Datei mit drangehangen. Da stehen alle IP Adressen von dieser Blacklist drin. Kurze Erklärung: Überall wo deny from steht ist der Zugriff über alle Bereiche dieser IP Adresse verboten. Ganz unten wo allow all steht, heißt das alle anderen IP Adressen die NICHT in dieser Liste stehen Zugriff haben. Diese Liste kannst Du jederzeit erweitern.

Datei in das Verzeichnis hochladen wo sie benötigt wird und den Dateinamen auf dem Server ändern in ".htaccess"

Hoffe es hilft. Wenn ja :alco: ;)
»Canc3lL0g0ut« hat folgende Datei angehängt:
  • htaccess.txt (9,46 kB - 217 mal heruntergeladen - zuletzt: 30. August 2023, 23:31)
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

8

Sonntag, 10. April 2011, 11:01

ich hab mal bei einer alten phpbb2-version (die ich nicht upgraden wollte auf phpbb3) einfach das captcha umgedreht, sprich einen roten text eingebaut, der einem sagt, man soll es in umgekehrter reihenfolge eingeben. dann muss man nur im php-code die reihenfolge des codes umdrehen, bevor sie geprüft wird. damit kommt kein spambot klar ;) wenn du willst, kann ich dir den code-schnipsel geben (zum undrehen des strings), müsstest dann nur die stelle finden, wo das hingehört...
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

9

Sonntag, 10. April 2011, 23:27


Also, ich war mal so frei und habe Dir eine fertige Datei mit drangehangen. Da stehen alle IP Adressen von dieser Blacklist drin. Kurze Erklärung: Überall wo deny from steht ist der Zugriff über alle Bereiche dieser IP Adresse verboten. Ganz unten wo allow all steht, heißt das alle anderen IP Adressen die NICHT in dieser Liste stehen Zugriff haben. Diese Liste kannst Du jederzeit erweitern.

Datei in das Verzeichnis hochladen wo sie benötigt wird und den Dateinamen auf dem Server ändern in ".htaccess"

Hoffe es hilft. Wenn ja :alco: ;)
Mit der htaccess-Datei sperr ich dann aber nur China aus oder? Will ja nicht aus versehen Österreich oder ein paar von uns aussperren.


ich hab mal bei einer alten phpbb2-version (die ich nicht upgraden wollte auf phpbb3) einfach das captcha umgedreht, sprich einen roten text eingebaut, der einem sagt, man soll es in umgekehrter reihenfolge eingeben. dann muss man nur im php-code die reihenfolge des codes umdrehen, bevor sie geprüft wird. damit kommt kein spambot klar ;) wenn du willst, kann ich dir den code-schnipsel geben (zum undrehen des strings), müsstest dann nur die stelle finden, wo das hingehört...
Die Idee find ich auch genial. Der Code-Schnipsel wäre echt super. Mal schauen ob ichs hinbekomm.


10

Montag, 11. April 2011, 08:58

Mit der htaccess-Datei sperr ich dann aber nur China aus oder? Will ja nicht aus versehen Österreich oder ein paar von uns aussperren.
Ich habe vor ein zwei Jahren oder so auch einmal länderbasierendes IP Blacklisting versucht und es ganz schnell wieder gelassen.
Zu einem hat man eine deutliche Mehrbelastung, egal, ob man htaccess, oder die iptables nutzt, weil immer alle Regeln durchgegangen werden. Zum anderen sind die IP Listen aus den oben genannten Gründen niemals wirklich aktuell und vollständig. Deswegen kann es immer dazu kommen, dass man ungewollt Personen aussperrt, die man eigentlich hereinlassen möchte. Auch das ist mir passiert. Nach nicht einmal einer Woche habe ih das Experiment eingestellt ;)
Webbasierender Config Ersteller: www.ulrich-block.de für CS 1.6, CSS, DODS und TF2.

Ebenso wird werden verschiedene Debian Gameserverkernel zum Download angeboten.

Beiträge: 881

Wohnort: L.E.

Beruf: KiN im Betriebsdienst

Rootserver vorhanden: Nein

  • Nachricht senden

11

Montag, 11. April 2011, 09:32

Mit der htaccess-Datei sperr ich dann aber nur China aus oder? Will ja nicht aus versehen Österreich oder ein paar von uns aussperren.

Ich habe die genommen die in der Liste standen. Mehr nicht ;)

Aber wie Terrorkarotte schon geschrieben hat, sicher ist das ganze nicht wirklich und geht auf die Performance. Am besten du probierst es aus und tust dann entscheiden was Du machst.
24/7 Teamspeak³ Server:


Linux is like a wigwam → No windows. No gates. Apache inside.

1. Frage des Admin: was wurde vorher verändert?
2. Antwort des Users: nichts
3. Frage des Admin: was wurde verändert, bevor NICHTS verändert wurde?

Ene mene muh gebasht wirst du,
ene mene miste headOr durch die Kiste,
ene mene meck kaum siehste mich schon fliegste weg :D

12

Montag, 11. April 2011, 10:01

Die Idee find ich auch genial. Der Code-Schnipsel wäre echt super. Mal schauen ob ichs hinbekomm.

codeschnipsel ist eigentlich übertrieben, fällt mir grad auf ;-) es gibt eine funktion strrev, die dreht einen string um:
http://de2.php.net/manual/en/function.strrev.php

müsstest also die stelle finden, wo aus dem formular der captcha code ausgelesen wird (also z.B. per $_REQUEST oder $_POST array) und da einfach "strrev($_REQUEST[...])" draus machen (... sind natürlich das was vorher da auch schon in [] steht).

ich hoffe, du kommst damit klar?
http://fpsmeter.org
http://wiki.fragaholics.de (Linux Kernel HOWTO!)
http://www.fragaholics.de

Bitte keine technischen Fragen per PM!

13

Montag, 11. April 2011, 13:57

@ Karotte: Stimmt an das hab ich noch gar nicht gedacht.
@ Logout: Danke für die Infos. Werds vorerst warscheinlich doch ohne htaccess machen, nicht das ich mit der Serverlast oder der Gleichen noch Probleme bekomm.
@ Behaartesetwas: Danke für den Tipp. Werd mir heute abend mal du den Quellcode unseres CMS quälen, hoffentlich find ich die Stelle und es funktioniert.


Ähnliche Themen