Laden...

Öffentlichen Webservice gegen "schädliche" Anfragen schützen

Erstellt von Sclot vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.764 Views
S
Sclot Themenstarter:in
324 Beiträge seit 2007
vor 12 Jahren
Öffentlichen Webservice gegen "schädliche" Anfragen schützen

Für einen Kunden muss ich ich Online-Anbindung seiner Daten programmieren.
Ist im prinzip nur eine Tarifberechnung.
Man übergibt z.b. zwei Postleitzahlen und erhält ein ergebnis zurück.
Das ergebnis wird leider sehr Aufwendig berechnet, so dass man dieses nicht ein 2. mal im Internet nachbauen will.
Die Daten Befinden sich in einer Foxpro Datenbank, sind Mehrere hundere MB Groß und werden ständig von den Clients die sie bedinnen Aktualisiert.
Mir viel keine Möglichkeit ein diese Daten mit einem externen Server zu Syncronisieren.

Also wurde jetzt entschidenen das es einen Webservice gibt, welcher über einen IIS gehostet wird.
Dieser hört auf Port 50000 und bekommt diesen Port auch in der Firewall freigeschalten.

Dies bedeutet das der externe Port 50000 (Öffentliche statische IP) direkt auf den IIS des "DatenServer" in der Firewall weiter geleitet wird.

Jetzt die Große Fragen:
Kann man das einfach so machen?
Sollte ich größere Sicherheitsbedenken haben (Nicht was meinen Webservice angeht, sondern was den IIS angeht) ?
Gibt es vll eine art Proxy oder Gateway, was man ZWISCHEN Internet und Webservice legen kann um irgendwleche "schädlichen" anfragen herauszufiltern?
Hat da irgendwer von euch schon erfahrungen mit gemacht?

G
497 Beiträge seit 2006
vor 12 Jahren

normalerweise gehört sowas in eine DMZ. Eine Firewall vor dem Webserver lässt nur Port 50000 durch, eine Firewall hinter dem Server lässt nur die Verwaltungsports, die vom internen Netz benötigt werden, durch - und auch nur von den IP-Adressen, die darauf zugreifen müssen (Backup, Fernwartung etc.). Foxpro bedeutet vermutlich, dass der Webservice direkt auf die Datenbankdateien zugreifen muss, also muss zumindest die SMB-Verbindung zu dem Fileserver, der die Datenbank bereitstellt, zugelassen werden. Ich würde dann zumindest nur Lesezugriff vom Webserver erlauben, die Authentifizierung also über einen entsprechend schwach privilegierten Benutzer laufen lassen.

S
Sclot Themenstarter:in
324 Beiträge seit 2007
vor 12 Jahren

Das mit den nur Leserechten is eine Wirklich gute Idee, daran hab ich noch gar nicht gedacht.
Danke!

Trotzdem würde mich interessieren ob es noch andere Dinge tun kann.
Immerhin gibt es ziemelich viele Öffentliche Webservices im Internet.
Irgednwie müssen die ihre Services doch auch absichern?

T
156 Beiträge seit 2010
vor 12 Jahren

Hallo,
wir handhaben es auch so, wie es schon GarlandGreene geschrieben hat:
Der Webservice wird auf einem IIS in der DMZ gehostet.
Der Begriff "öffentlicher Webserice" ist vielleicht ein bisschen ungünstig. Klar kann er von aussen von Deinen Kunden genutzt werden, aber doch nur von diesen, oder? Also würde ich auf jeden Fall eine Authentifizierung (am besten per Zertifikat) vorschlagen.

Habe auch mal im Netz irgendwo ein Webservice gefunden, mit dem man mails versenden konnte. Ohne jegliche Authentifizierung oder so. Lustige Sache.

Also könnte man ja auch einfach mal schnell ein Programm schreiben, was dauerhaft sinnlose mails über den WS schickt. Das würde ich als Betreiber auch nicht gerade prickelnd finden.

S
Sclot Themenstarter:in
324 Beiträge seit 2007
vor 12 Jahren

Mhm...
Authentifizierung über Zertifikat hört sich auch gut an.
Irgednwelche Links für Mehr informationen? 😃

156 Beiträge seit 2010
vor 12 Jahren

Trotzdem würde mich interessieren ob es noch andere Dinge tun kann.
Immerhin gibt es ziemelich viele Öffentliche Webservices im Internet.
Irgednwie müssen die ihre Services doch auch absichern?

das ganze kannst Du einfach runterbrechen auf ganz einfache Details ... Du hast einen Port und dahinter läuft ein Programm ... ob das IIS oder Apache oder was eigenes ist, ist völlig egal ... in dem Moment wo Du einen Dienst im Internet anbietest musst Du damit rechnen das jemand Dummheiten damit versucht

das einzige was Du machen kannst ist regelmäßig Updates einspielen und bei der Programmierung diverse Sicherheitsbestimmungen beachten (bereits angesprochene Benutzerrechte) ... das einzige was Du nicht beeinflussen kannst, ist ein Angriff mit einem Zero-Day-Exploit

328 Beiträge seit 2006
vor 12 Jahren

[...] Authentifizierung über Zertifikat hört sich auch gut an. [...]

Aber nicht anstatt sondern zusätzlich. 😉

Irgednwelche Links für Mehr informationen? 😃 Google-Suche nach wcf certificate authentication

Robert Wachtel

http://blog.robertsoft.de

S
Sclot Themenstarter:in
324 Beiträge seit 2007
vor 12 Jahren

Ist mir schon klar das das zusätzlich passieren sollte 😉

Bei Google bin ich shcon unterwegs.
Mein Problem speziell ist, dass der Client ein PHP Script ist, welches auf besagten Webservice zugreifen muss.
Das Verkompliziert die Sache ungemeint.