Etliche Anfragen von einer IP ablehnen?

beta20

Top Contributor
Hallo zusammen,

ich habe eine grundsätzliche Frage, die jetzt nicht speziell etwas mit JAVA zu tun.
Und zwar:

- Bspw. habe ich ein Webservice
- Der Webservice prüft dann wiederum verschiedene Dinge (u.a. Datenbankaufruf etc.)
- Nun könnte ja ein Haker o.ä. tausende von Requests auf diesen Webservice absetzen und so auch meine Applikation lahmlegen.

Nun meine Frage:
- Gibt es Tools etc., die das verhinden bzw. erkennen, dass hier etwas merkwürdig ist?
- Oder muss ich bspw. in meiner Applikation dies prüfen (ist dann aber auch eine schnelle DB - Abfrage), ob diese IP Adresse in den letzten Minuten schon Mal den Request abgesetzt hat zum Beispiel.

Vielen Dank für jeden Tipp
 
Nochmal: Wenn du schon selber siehst, dass deine Frage nichts mit Java zu tun hat, ordne sie doch bitte nicht ins AnfängerForum ein.
 
Ja, da gibt es auch ganz viele diverse Tools und das könnte auch etwas sein, das Deine Applikation antriggert.

Also unter Linux habe ich generell fail2ban im Einsatz. Das Tool ist relativ trivial:
Logfiles werden gescant und bei Auffälligkeiten wird eine Aktion ausgeführt.

Die Aktion ist dann in der Regel eine (temporäre) Firewallregel.
Auffälligkeiten können alles mögliche sein, z.B. fehlgeschlagene Logins.

==> So Du sowas nutzen willst, würde es schon ausreichen, ein einfaches Logfile zu schreiben.

Bezüglich reiner Flood-Protection: Dazu braucht man bei Linux noch nicht einmal ein separates Tool. Die Firewall iptables bietet das schon von Hause aus. Siehe z.B. https://www.cyberciti.biz/tips/howto-limit-linux-syn-attacks.html
==> Das ist also nichts, was Deine Applikation / dich als Entwickler interessieren muss!

Lange Rede kurzer Sinn: Bau ein einfaches Logging auf und überlasse sowas den Admins. Die sollten das dann problemlos handhaben können.... Maximal bei Brute-Force Logins solltest Du aufpassen (Aber da wäre mein Tipp eh, wenn möglich hier auf entsprechende Dienste zu verweisen, also z.B. IIS mit Authentifizierung per AD (In Firmen oft verwendet) oder Nutzung von oauth2. (Selbst wenn man User selbst verwalten will, kann man das schön separieren.) ==> Warum das Rad neu erfinden, wenn es das schon gibt. Und Deine App ist unabhängig und Kunden können verwenden, was sie wollen ....)
 

Neue Themen


Zurück
Oben