Attacke gegenwirken durch IP Filter

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Kobe
Beiträge: 45
Registriert: 30.11.2008 23:59:01

Attacke gegenwirken durch IP Filter

Beitrag von Kobe » 08.01.2009 23:21:28

Hallo Ihr

Ich habe ein Problem mit einem Spieleserver. Dieser wird attackiert, indem sich jemand alle paar ms auf dem Server anmeldet um sich ins Spiel einzuwählen. Der Server bzw. das Spiel erkennt dieses Anmelden und reserviert ihm einen Slot, so dass der Spieler Zeit hat, das Level zu laden. Der Attackierer bricht das Anmelden ab und beginnt neu. Somit reserviert er sich ständig einen Slot und das Spiel ist damit voll, da alle Slots reserviert sind.

Ich brauche ein Skript das folgendes tut:

Code: Alles auswählen

Lausche am Port X.
Pro anmelden, speichere IP.
Prüfe, ob diese IP innerhalb der letzten Y Zeiteinheiten sich bereits angemeldet hat.
Falls ja, sperre diese IP für Y Zeiteinheiten.
Wie man diese IPs am besten bzw. am einfachsten speichert, weiß ich nicht. Nur eine Datei? SQLite DB?
Dann muss diese (Pseudo-)Datenbank auch alle paar Zeiteinheiten aktualisiert werden, also die gesperrten IPs wieder entsperrt werden.

Ich habe leider gar keine Ahnung wie man mit einem Skript an einem Port lauscht. Ich glaube auf UDP-Packages muss man aufpassen. Gibt es weitere Kenngrößen? Wenn ein Spieler aktiv spielt, werden ja weiterhin Packages verschickt. Wie sich so eine Anmeldung vom eigentlichen Spielen unterscheidet, weiß ich (noch) nicht.

Die (Pseudo-)DB zu bereinigen wäre wohl mit einem cronjob am besten? Aber da kommt das Problem, wenn sowohl der cronjob als auch das Skript gleichzeitig auf die DB zugreifen.

Ich bin für jegliche Hilfe und Anregungen offen, da ich noch total bei Null in der Luft hänge.

Danke

mfg
Stephan


Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Attacke gegenwirken durch IP Filter

Beitrag von Duff » 09.01.2009 08:08:18

Bei iptables gibt es auch noch die Option hashlimit.

Ich benutze sie z.B. bei ssh:

Code: Alles auswählen

$IPTABLES -A INPUT -i $INET_IFACE -p tcp --dport 22 -m hashlimit --hashlimit 1/min --hashlimit-mode srcip --hashlimit-name SSH -m state --state NEW -j ACCEPT
http://linux.die.net/man/8/iptables
Oh, yeah!

Kobe
Beiträge: 45
Registriert: 30.11.2008 23:59:01

Re: Attacke gegenwirken durch IP Filter

Beitrag von Kobe » 19.01.2009 22:52:24

Ich danke euch für die Hinweise. Ich habe diesen Thread dem Serveradmin weitergeleitet, leider hatte bisher weder ich noch er wirklich Zeit es auszuprobieren.

Falls weitere Fragen / Probleme bestehen, werde ich sie hier posten.

Danke nochmals.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Re: Attacke gegenwirken durch IP Filter

Beitrag von Duff » 20.01.2009 08:53:37

Oh, yeah!

Kobe
Beiträge: 45
Registriert: 30.11.2008 23:59:01

Re: Attacke gegenwirken durch IP Filter

Beitrag von Kobe » 06.03.2009 22:35:56

Hallo Ihr

Ich muss nochmal genauer nachhaken: Kann man mit iptables UDP Packages so filtern um Angreifer auszuschließen? Weil jemand meinte, das geht so mit UDP Packages gar nicht.
Die Attacke passiert zu 99% über TCP und/oder UDP. Da weder ich noch der Admin erfahren genug sind, können wir noch keine 100%-igen Aussagen treffen.

Kobe
Beiträge: 45
Registriert: 30.11.2008 23:59:01

Re: Attacke gegenwirken durch IP Filter

Beitrag von Kobe » 02.04.2009 17:06:42

Der Admin des Servers hat in einem Ubuntu Forum nachgefragt, siehe http://forum.ubuntuusers.de/topic/dos-a ... 42-server/ , weil er keinen IP Filter hinbekam. Die UDP Packages gingen trotzdem noch durch und der Spielserver ist vermeindlich voll.

Könnt ihr hier besser helfen?

Welche Zusatzinformationen benötigt ihr noch? Auf derm Server ist Ubuntu.

Keetenheuve
Beiträge: 14
Registriert: 25.03.2009 09:25:59

Re: Attacke gegenwirken durch IP Filter

Beitrag von Keetenheuve » 02.04.2009 17:55:13

Ihr habt Ubuntu auf dem Server, keine Ahnung von Netzwerk-Protokollen und bekommt keinen iptables Befehl hin?

Der erste April is doch vorbei :D

Natürlich kannst du UDP mit iptables filtern - lies dir doch bitte das Manual (sichtbar durch "man iptables") durch. Eigentlich solltest du dir echt überlegen ob Ihr nicht einen fähigen Menschen beauftragt den Server für euch zu administrieren. Was ihr treibt is mehr als fahrlässig :(

Kobe
Beiträge: 45
Registriert: 30.11.2008 23:59:01

Re: Attacke gegenwirken durch IP Filter

Beitrag von Kobe » 03.04.2009 15:14:22

Nun, nicht wir betreieben ihn, sondern der Admin (weiß nicht wer da noch Zugriff hat, ich aber nicht). Ich würde nur gerne auf dem Server spielen, aufgrund der Attacken geht das aber nicht so oft.

Er hatte zuvor einen Server ohne root-Zugang aber der Support war grottig. Die haben davon überhaupt nichts verstanden und deshalb ist er auf einen root-Server umgestiegen - in der Hoffnung er bekommt es hin.

Da ich keinen Zugang habe und kaum Zeit um das selber in einer Simulation zu testen, wende ich mich an euch. Sein Versuch selber in einem (Ubuntu)Forum nach Hilfe zu suchen, scheint gescheitert. Ich würde ihm sehr gerne helfen.

Kann ich ihm noch mehr als "man iptables" auf den Weg geben?

yeti

Re: Attacke gegenwirken durch IP Filter

Beitrag von yeti » 03.04.2009 15:52:13

Kobe hat geschrieben:Kann ich ihm noch mehr als "man iptables" auf den Weg geben?
Er möge mal http://netfilter.org/documentation/index.html in die Adresszeile seines IE eintippen...

Benutzeravatar
bse
Beiträge: 468
Registriert: 19.03.2006 19:58:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Attacke gegenwirken durch IP Filter

Beitrag von bse » 04.04.2009 23:30:47

Wenn er damit fertig ist, möge er auch noch http://l7-filter.sourceforge.net/protocols in seinen Internet Exploder eintippen. Da gibts eine Erweiterung für IPTables, mit denen man genau die Anmeldepakete für BF1942 rausfiltern kann. Nachdem er ja vorher gelesen hat wie iptables funktioniert, wird es ihm sodann ohne Probleme möglich sein, eine passende Filterregel unter Einsatz des l7-filters zu erstellen.

EDIT: Alternativ zu l7-filter lässt sich das auch mit zwei Regeln mit dem bereits mitgelieferten string-modul realisieren. Die passenden Patterns lassen sich hier ja recht einfach ablesen.

Kobe
Beiträge: 45
Registriert: 30.11.2008 23:59:01

Re: Attacke gegenwirken durch IP Filter

Beitrag von Kobe » 05.04.2009 12:57:08

Super, ich danke euch. Wird / wurde bereits weiter gereicht.

artbody
Beiträge: 2
Registriert: 04.02.2009 14:50:43
Lizenz eigener Beiträge: GNU General Public License
Wohnort: LB
Kontaktdaten:

Re: Attacke gegenwirken durch IP Filter

Beitrag von artbody » 09.04.2009 22:47:24

kommt drauf an ob der Angriff nur von einer IP kommt
oder über x proxies mit immer wechselnder IP dann bringt dir das mit Iptables etc fast nix

Es sei denn du/ihr bastelt das auf erlaubte Domains um, was eigentlich auch Sinn macht - mit Passwort .htaccess oder so ähnlich, wobei dazu kenn ich mich nun wiederum mit Spieleserver nicht gut genug aus

fail2ban läuft auf meinem server .> je nachdem welcher Port zwischen einem und 5 Versuche und du bist für 24 Stunden drausen

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Attacke gegenwirken durch IP Filter

Beitrag von Lord_Carlos » 10.04.2009 02:13:51

jo, wenn der BF server eine log datei hat, wäre fail2ban wahrscheinlich das einfachste.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
novalix
Beiträge: 1909
Registriert: 05.10.2005 12:32:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: elberfeld

Re: Attacke gegenwirken durch IP Filter

Beitrag von novalix » 10.04.2009 13:17:55

artbody hat geschrieben:kommt drauf an ob der Angriff nur von einer IP kommt
oder über x proxies mit immer wechselnder IP dann bringt dir das mit Iptables etc fast nix
Das stimmt so nicht. Iptables kann mehr, als nur einzelne IPs statisch zu blocken. Einige der weiter oben angegebenen Rezepte zeigen das ja auch.
Die Funktionalität von fail2ban lässt sich z.B. mit den Bordmitteln von iptables bauen.
Guck mal hier: http://www.snowman.net/projects/ipt_recent/

Groetjes, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.

Antworten