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?
Mein Blog: http://www.frickelblog.de
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.
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?
Mein Blog: http://www.frickelblog.de
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.
Mhm...
Authentifizierung über Zertifikat hört sich auch gut an.
Irgednwelche Links für Mehr informationen? 😃
Mein Blog: http://www.frickelblog.de
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
[...] 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
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.
Mein Blog: http://www.frickelblog.de