Blog

Datenbanken und Webanwendungen

Neulich hatte ich mal darüber mit jemandem diskutiert, wie man denn eine webbasierte Fachanwendung korrekt konfiguriert bzw. aufbaut. Nicht selten bieten Hostingfirmen ein entsprechendes Paket an mit Domain, Webspeicher, den üblichen Scriptsprachen und einer Datenbank. In der Regel kann man die Datenbank von Außen per Weboberfläche konfigurieren. Aber ist das korrekt?

webserver-all-in

Nicht so wirklich. Immerhin ist in so einem Fall neben dem Webserver mit einer bspw. Sicherheitslücke im Betriebssystem auch mit möglichen Fehlern im genutzten PHP-Script und dann natürlich auch die Datenbank selbst und deren Verwaltungsoberfläche als umfassendes Angriffsziel vorhanden.

Wie sollte man es wohl besser machen?

webserver-getrennt-vom-datenbankserver

Der Datenbankserver muss hinter dem Anwendungsserver (Webserver) laufen. Eigentlich führt daran kein Weg vorbei, wenn man seine Angriffsfläche verkleinern will. Der Datenbankserver selbst darf dann natürlich auch nicht über das Internet erreichbar sein. Einziger Kunde ist der Webserver. Im besten Fall noch die Systemverwaltung, die ebenfalls hinter dem Webserver getrennt vom Internet arbeitet. Wäre ja doof, wenn man von vorne alles absichert und hintenrum die Systemverwaltung per Internet die Tore wieder aufmacht. Wie hier:

webserver-getrennt-vom-datenbankserver-aber-doofer-administration

Bei den normalen Hostings für 1,99€ etc. wird man wohl die erste All-In-One-Lösung erhalten. Alles läuft – meist in einer virtuellen Maschine – und wird als Ganzes gesichert. Wenn man das Hosting selbst macht und eine eigene Infrastruktur betreut, hat man dagegen die Möglichkeit der Systemtrennung.

Bei einigen Hostinganbietern kann man aber Glück haben und die Datenbank müsste zur direkten Verwaltung über die normale Webverwaltungsoberfläche erst manuell freigegeben werden. Dann kann man die Arbeiten auf der Datenbank erledigen. Anschließend sperrt man wieder den Zugriff von Außen. Anders wäre es auch kaum möglich, da niemand bei seinem Hostinganbieter mal regelmäßig vorbeischneien kann. Also sollte man diese Funktion wohl als Mindestanforderung definieren.

Tagged , , , , , , , , , , , , , ,