ExportForce: für API IP-Begrenzungsmöglichkeit einführen

raven

Well-known member
20 April 2006
5.038
540
Hallo,

beim EF gibt es ja, zum doppelten Schutz gegen unberechtigte Zugriffe den Loginnamen, welcher absichtlich nicht öffentlich einsehbar ist.
Dieser ist jedoch nur begrenzt eine zusätzliche Sicherheit, da man mit der API ja ebenfalls über alle Lose, bis auf die Lose, die im Tresor liegen, zugreifen kann.

Mir schwebt deshalb vor, dass man - manuell und nur bei Bedarf, so kommt es zu keinen Statuscode-Problemen bei schlecht geschriebenen Skripten und zu keinen Umstellungsschwierigkeiten - vielleicht eine IP-Begrenzung festlegen könnte. Dort trägt man die IP seines eigenen Servers (oder halt die IP des Servers des Hosters, auf welchem das eigene Projekt liegt - da ist der Sicherheitseffekt jedoch bei weitem nicht so groß, versteht sich) ein, und bevor ein API-Request ausgeführt wird, wird die IP des zugreifenden Rechners mit der hinterlegten IP, sofern angegeben, abgeglichen. Nur wenn diese beiden IPs übereinstimmen, wird etwas ausgeführt - ansonsten mit einem neuen Statuscode abgelehnt.

Dies könnte eventuell zusätzliche Sicherheit schaffen, ist jedoch kein allzu großer Aufwand.

Wie sieht eure Meinung dazu aus? ;)

Gruß
raven
 
Also kurz: API-Aufrufe nur von IP xxx.xxx.xxx.xxx zulassen.
(optional an-/abstellbar)
 
Wie sieht eure Meinung dazu aus? ;)
Korrigiert mich einer, wenn ich falsch liege, aber ist es nicht so, dass der meiste Mist
  • entweder mit bekannten Zugangsdaten ("gehackte Accounts", wie es immer liebevoll genannt wird :mrgreen:) - d.h. die Sperre bringt nix, weil nicht die API, sondern einfach das User-Interface benutzt wird -
  • oder mit Scripts voller Sicherheitslücken, wo man rumbuchen kann, was man nicht darf - d.h. auch hier bringt die Sperre nix, weil die IP ja stimmt -,
gemacht wird ?
 
Es geht aber auch so:

Dein unsicheres Script wird gehackt sodass du die EF ID und EF PW anzeigen lassen kannst, dann schreibst du dir dein eigenes Script wo du von deinem Server aus die Lose rüberziehst ;) oder du nutzt die Zugangsdaten von EF XY um seine EF Abfragen zu verjubeln (mit Sachen die keine buchungseinträge oder so machen validate.php efstats.php usw...) ;) der EF Loginname fehlt ja noch deshalb kannste dich nicht einloggen und deine Server IP mit angeben ;)

Gruß
Gremlin
 
Also kurz: API-Aufrufe nur von IP xxx.xxx.xxx.xxx zulassen.
(optional an-/abstellbar)

Falls du das einbauen solltest dann aber bitte mit der Möglichkeit mehrere verschiedene IPs für einen EF-Account eintragen zu können, falls über einen Account mehr als 1 Projekt betrieben wird.
 
Also kurz: API-Aufrufe nur von IP xxx.xxx.xxx.xxx zulassen.
(optional an-/abstellbar)
Ja, genau so dachte ich mir das :)

Korrigiert mich einer, wenn ich falsch liege, aber ist es nicht so, dass der meiste Mist [...] gemacht wird ?
Den EF-Loginnamen speichert man normalerweise nicht im Skript. Man kann ihn also als ein weiteres Passwort benutzen, weil ihn niemand einsehen kann ;)
Gibt es zusätzlich noch die Möglichkeit der IP-Restriktierung, dann wäre es - ohne einen fahrlässigen Fehler des EF-Inhabers - kaum möglich, Lose zu stehlen.
(Gremlin hat das schön erläutert, aber jetzt hatte ich das schon fertig getippt *g*)
 
Die Idee ist ja nett, aber bisher habe ich noch keinen Fall erlebt, dass Lose auf diese Art und Weise geklaut wurden. Es waren eigentlich immer irgendwelche Schrottscripte, mit denen erst die DB des Loseseitenbetreibers manipuliert und dann Lose ausgezahlt wurde(n).

Wer so unsichere Scripte benutzt, dass damit Lose geklaut werden können, der wird kaum in der Lage sein, die richtige IP bei ef.klamm.de einzutragen. Und wer weiß, was damit gemeint ist, benutzt eigentlich auch sichere Scripte.
 
Okay, da hast du natürlich recht. ;)

Ich würde mich über die Umsetzung der IP-Sperre aber trotzdem freuen - gemessen am Aufwand sollte die Umsetzung eigentlich kein Problem darstellen - es bringt aber vielleicht für den ein oder anderen Betreiber ein gutes Stück mehr Sicherheit. ;)

Würde mich also freuen, wenn es umgesetzt würde. :)