• Bitte beachte, dass wir eine Serverliste sind!
    Wenn du ein Problem auf einem Server hast (z.B. Entbannantrag, etc), dann ist das Forum hier der falsche Ort.
  • Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Proxy Join Bots

GoaCraft

Minecrafter
Registriert
6 März 2015
Beiträge
14
Alter
33
Diamanten
300
Hey, unser Server wird gerade von ein paar Join Bots benutzt. Wobei jeder Spieler seinen eigenen Proxy und seine IP hat. Die Connections zu limitieren hat nichts gebracht, auch jegliche Plugins helfen nicht weiter, da der BungeeCord durch die massiven Spieler Anzahlen gar nicht mehr zu erreichen ist. Nun bräuchten wir Hilfe um dies zu verhindern. Danke im voraus schon mal für Lösungsvorschläge. :)

joinbots.png
 

Living-Bots

Der mit den Root tanzt!
Registriert
7 Januar 2013
Beiträge
363
Diamanten
0
Ich kenne diese Angriffe. Einige meiner Kunden sind ebenfalls davon betroffen. Dein Anbieter könnte es an der DDoS Protection rausfiltern. Das wird er aber wohl nicht anpassen.

Eine Idee wäre eine Ländersperre. Also dass du per Iptables alle Länder sperrst außer zum Beispiel Deutschland. Somit erreichen die Bots den Bungee nichtmehr. Da diese zu 99% aus dem Ausland kommen
 

GoaCraft

Minecrafter
Registriert
6 März 2015
Beiträge
14
Alter
33
Diamanten
300
Ich kenne diese Angriffe. Einige meiner Kunden sind ebenfalls davon betroffen. Dein Anbieter könnte es an der DDoS Protection rausfiltern. Das wird er aber wohl nicht anpassen.

Eine Idee wäre eine Ländersperre. Also dass du per Iptables alle Länder sperrst außer zum Beispiel Deutschland. Somit erreichen die Bots den Bungee nichtmehr. Da diese zu 99% aus dem Ausland kommen
Danke jedenfalls für die Hilfe, an eine Länder Sperre hab ich auch als erstes gedacht, da ich gemerkt habe das die meisten IP´s aus Mexico bzw. aus der USA kommen. Aber man könnte auch einfach denn Deutsche Proxy usw. nehmen. Aber ich kann auf meinen Debian Server irgendwie keine xTables installieren es kommt immer dieser Fehler:

Pech gehabt, es wurden keine zum aktuellen Kernel passende Headers gefunden
und es wurden keine weiteren Kernel-Verzeichnisse angegeben.


Wenn der zur Zeit laufende Kernel mit der Debian Distribution ausgeliefert
wurde, installieren Sie bitte das Paket
linux-headers-3.14.32-xxxx-grs-ipv6-64. Wenn ihr Kernel-Quellcode an einer
unüblichen Position liegt, geben Sie diese mit der Umgebungsvariable
KERNELDIRS bekannt oder (alternativ) als Parameter der Option --kernel-dir
beim Aufruf vom module-assistant.
 

Chrisliebär❤️

nur echt mit ❤️
Moderator
Registriert
19 Mai 2014
Beiträge
1.675
Diamanten
830
Dann prüf halt alle Verbindungen von Hand wenn du 100% Sicherheit willst. Das was Living dir vorgeschlagen hat wäre die erste Lösung. Wenn die Angriffe danach von Proxies kommen besorgst du dir eine Liste von Proxies und sperrst diese auch, das sollte kein Problem sein. Meine Vermutung ist aber, dass es sich nicht um Proxies handelt sondern Zombies aus nem Botnetz, sonst würden sich viele die IP teilen. Ich kann mir nicht vorstellen, dass jemand wegen so ner Dummheit tausende von Proxies verheizt.
 

Living-Bots

Der mit den Root tanzt!
Registriert
7 Januar 2013
Beiträge
363
Diamanten
0
Das Problem sind Mikrotik Router. Hier gab es die letzten Monaten eine Sicherheitslücke und nun werden die als Proxies missbraucht. Die meisten davon im Ausland und bei vielen ändert sich alle 24 Stunden die IP.

Da die Bot Software nur 1 Verbindug pro Proxy macht, lässt es sich da auch nicht limitieren.
 

DarkPrincess

Kuhfänger
Registriert
31 August 2013
Beiträge
52
Diamanten
0
Wie wäre es hiermit fürs erste?

Statt
iptables -I INPUT -m set --match-set countryblock src -j DROP
machste
iptables -I INPUT -m set --match-set countryblock src -j ACCEPT

und den Rest verbietest du. Ist leichter als die Länder jetzt alle einzutragen

Edit:
Hier ist auch noch eine möglichkeit.
 
Zuletzt bearbeitet:

GoaCraft

Minecrafter
Registriert
6 März 2015
Beiträge
14
Alter
33
Diamanten
300
Wie wäre es hiermit fürs erste?

Statt
iptables -I INPUT -m set --match-set countryblock src -j DROP
machste
iptables -I INPUT -m set --match-set countryblock src -j ACCEPT

und den Rest verbietest du. Ist leichter als die Länder jetzt alle einzutragen

Edit:
Hier ist auch noch eine möglichkeit.
Klingt gut, kenne mich leider nicht so gut mit iptables aus.
Mit den Befehl würde ich wohl erstmal alle Länder blockieren oder?
iptables -I INPUT -m set --match-set countryblock src -j DROP

Wie füge ich jetzt bei den Befehl z.B Deutschland als Ausnahme hinzu?
iptables -I INPUT -m set --match-set countryblock src -j ACCEPT
 

DarkPrincess

Kuhfänger
Registriert
31 August 2013
Beiträge
52
Diamanten
0
ACHTUNG: Wenn du keinen KVM Zugriff auf deinen Server hast, sperrst du dich ganz leicht mit IpTables aus und musst ggf den Rescue Modus starten und iptables reinigen statt setzten lassen beim Neustart, Auf keinen Fall deinen SSH Zugriffs Port vergessen mit freizugeben.

Du musst erstmal der Anleitung folgen im ersten Link.

Dann gehst du hin und baust dir dein iptables script z.B.
Code:
#!/bin/bash

IPADDRESS="Deine Server IP hier";

set -e

echo 0 > /proc/sys/net/ipv4/ip_forward
([ -f /var/lock/subsys/ipchains ] && /etc/init.d/ipchains stop) >/dev/null 2>&1 || true
(rmmod ipchains) >/dev/null 2>&1 || true

/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z

/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -m state --state INVALID -j DROP
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -p tcp ! --syn -j REJECT --reject-with tcp-reset
/sbin/iptables -A OUTPUT -m state --state INVALID -j DROP
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -p tcp ! --syn -j REJECT --reject-with tcp-reset
/sbin/iptables -A FORWARD -m state --state INVALID -j DROP
/sbin/iptables -A INPUT -i lo  -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A FORWARD -i lo -o lo -j ACCEPT
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/iptables -t mangle -Z
/sbin/iptables -t mangle -P PREROUTING ACCEPT
/sbin/iptables -t mangle -P OUTPUT ACCEPT
/sbin/iptables -t mangle -P INPUT ACCEPT
/sbin/iptables -t mangle -P FORWARD ACCEPT
/sbin/iptables -t mangle -P POSTROUTING ACCEPT
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t nat -Z
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT

#Hier jetzt alle Ports Freigeben die du brauchst z.B. 22 (SSH)/ 80 (http)/ 8443 (Plesk)/ 25565 (MC Server) u.s.w.
#Für TCP Freigabe
/sbin/iptables -A INPUT -p tcp -i eth0 -d ${IPADDRESS} --dport DER_PORT_HIER -m state --state NEW -j ACCEPT
#Für UDP
/sbin/iptables -A INPUT -p udp -i eth0 -d ${IPADDRESS} --dport DER_PORT_HIER -j ACCEPT

#Jetzt noch die Länderfreigabe
#Germany und co von der Seite holen DROP mit ACCEPT ersetzen und dann hier einbinden.
#z.B.mit wenn man einen Ordner der allowed_countrys hat mit der Datei germany drin. ( Achtung Rechte 755 sollte die Datei haben )
./allowed_countrys/germany
./allowed_countrys/switzerland
./allowed_countrys/austria

#Jetzt könnten wir das Pingen noch Verbieten
/sbin/iptables -A INPUT -p icmp -i eth0 -d ${IPADDRESS} --icmp-type 8/0 -j DROP

#Hier jetzt die Regel für alles was oben nicht gestattet/verboten wurde:
#Sämtlichen INPUT Verbieten der nicht erlaubt wurde
/sbin/iptables -P INPUT DROP
#Sämtliches OUTPUT erlauben
/sbin/iptables -P OUTPUT ACCEPT
#Unerwünschtes Forward verbieten.
/sbin/iptables -P FORWARD DROP

echo 1 > /proc/sys/net/ipv4/ip_forward
exit


Jetzt nur noch in den CronJob rein ( crontab -e )
Und neue Zeile mit
@reboot Pfad/zur/gerade/angegebenen/Datei &

Fertig.

Aber da ich es auch nicht "Studiert" habe, kann dir ein anderer bestimmt noch mehr zu IpTables sagen ;-)
 

Living-Bots

Der mit den Root tanzt!
Registriert
7 Januar 2013
Beiträge
363
Diamanten
0
Hallo,

http://www.ipdeny.com/ipblocks/data/countries/

Hier findest du alle Länder Zone Files mit Ländercode nach ISO 3166.

Ich mache das ganze mit IPSET.

1. apt-get install ipset
2. modprobe -v ipset
3. modprobe -v ip_set_hash_net
4. ipset create countrywhitelist1 hash:net (in jedem IPSET können nur 655xx ip Netze, deswegen brauchst du eventuell mehrere)
5. die jeweilige Zonefiles von ipdeny.com ins jeweilige IPSET importieren (am besten eine Datei erstellen und vor jedes Subnetz "add countrywhitelist" schreiben und anschließend "ipset restore -! < DATEINAME")
6. iptables -I INPUT -m set --set countrywhitelist1 src -j ACCEPT (auch hier brauchst du dann eventuell mehrere)

und am ende dann ein drop all in den Iptables.

Die Zonefiles werden täglich aktualisiert. Aus dem ganzen kann man sich ein kleines script bauen dass bestimmte Zonefiles täglich automatisch runnter läd, in die countrywhitelist schreibt, die vorherige ipsetliste leert und neu importiert.

Vorteil von IPset gegenüber Iptables ist, dass es wesentlich performanter und schneller ist. Lohnt sich aber nur bei großen Listen. Bei 1 Land sicherlich nicht.
 

GoaCraft

Minecrafter
Registriert
6 März 2015
Beiträge
14
Alter
33
Diamanten
300
Hallo,

http://www.ipdeny.com/ipblocks/data/countries/

Hier findest du alle Länder Zone Files mit Ländercode nach ISO 3166.

Ich mache das ganze mit IPSET.

1. apt-get install ipset
2. modprobe -v ipset
3. modprobe -v ip_set_hash_net
4. ipset create countrywhitelist1 hash:net (in jedem IPSET können nur 655xx ip Netze, deswegen brauchst du eventuell mehrere)
5. die jeweilige Zonefiles von ipdeny.com ins jeweilige IPSET importieren (am besten eine Datei erstellen und vor jedes Subnetz "add countrywhitelist" schreiben und anschließend "ipset restore -! < DATEINAME")
6. iptables -I INPUT -m set --set countrywhitelist1 src -j ACCEPT (auch hier brauchst du dann eventuell mehrere)

und am ende dann ein drop all in den Iptables.

Die Zonefiles werden täglich aktualisiert. Aus dem ganzen kann man sich ein kleines script bauen dass bestimmte Zonefiles täglich automatisch runnter läd, in die countrywhitelist schreibt, die vorherige ipsetliste leert und neu importiert.

Vorteil von IPset gegenüber Iptables ist, dass es wesentlich performanter und schneller ist. Lohnt sich aber nur bei großen Listen. Bei 1 Land sicherlich nicht.
Funktioniert leider auch nicht bei mir schon bei dem 2. Befehle kommt wieder ein Fehler dank den Kernel.
libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file '/lib/modules/3.14.32-xxxx-grs-ipv6-64/modules.dep.bin'

Deine einzige Möglichkeit bislang ist sowas hier http://pastebin.com/ghmg3tJd aber das bringt den Server so hart zum laggen das man z.B auf dem Teamspeak eine Ping von 1000 hat.
Und wie genau soll ich alle IP´s für die countrywhitelist1 hinzufügen per Hand würde das ja Jahre dauern.

Wie ist der Befehl um alles zu droppen?

Ein Freund von mir kommt aus Österreich ich habs geschafft sein Land zu blocken nur das Problem ist das die Connection vom Server total drunter leidet. Man hat z.B deswegen nur das sein Land geblockt ist auf einmal aufm Teamspeak eine 200er Ping. Mit der Hilfe von IPset.
 
Zuletzt bearbeitet:
Oben