Sven Rautenberg: Datenbank im Web updaten - Sicherheit

Beitrag lesen

Moin!

jetzt hast Du mich aber verunsichert. Sag mal, wenn ich eine normale FTP-Verbindung mache, wird doch das Passwort auch unverschluesselt gesendet, oder?

Richtig. Deshalb ist FTP eigentlich auch ganz und gar nicht gut. Insbesondere für Server, auf denen sicherheitsrelevante Daten liegen, verbietet sich jeglich unverschlüsselte Kommunikation - zumindest mit dem Admin, die Besucher können zum Gucken ja gerne HTTP verwenden, solange das keine Vertrauenslücke darstellt.

Also ich glaub, mit dem Risiko koennte ich leben. Ohnehin, so streng geheim sind meine Daten jetzt auch wieder nicht, im Endeffekt werden daraus ja schliesslich Webseiten. Zudem ist bin ich nicht sicher, ob der Server SSL hat.

SSL hat er eher nicht, HTTPS in Richtung externem Server würde also ausfallen. Und auch umgekehrt dürftest du nicht erfolgreich sein, weil auf dem externen Server nur mit geringer Wahrscheinlichkeit ein SSL-fähiges PHP installiert ist.

Bleiben also vier Methoden übrig:
1. FTP
1a. zum externen Server hin (Upload vom internen Server) - eher ungut, da dein Skript ja über den Webspace-Account gehen muß und damit im Prinzip Vollzugriff auf alle Dateien hat. Zumindest bringt es dann auch nichts mehr, die Datenbank-Dumps zu verschlüsseln.
1b. zum internen Server hin (externer Server holt sich die Daten ab) - besser, erfordert aber natürlich, dass du für das Downloaden einen FTP-Server online bringts. Den kannst du aber restriktiv so konfigurieren, dass er nur die eine Datei zum Download anbietet.

2. HTTP
2a. zum externen Server hin - ist eigentlich ganz prima geeignet, weil du damit die Daten direkt per POST zum Datenbankskript senden kannst. Das bisschen fsockopen-Gefummel sollte mit den Useranmerkungen von php.net eigentlich hinzukriegen sein
2b. zum internen Server hin - auch nicht schlecht, geht sogar noch einfacher, weil du die Daten mit fopen() lesen kannst und sie auf interner Seite dynamisch mit einem simplen PHP-Skript generierst.

Mit ein wenig Authentifizierung angereichert, würde ich die HTTP-Methode 2b bevorzugen, sofern du einen internet-öffentlichen Webserver lokal einrichten kannst. Naja, irgendwie mußt der lokale Server ja schon HTTP sprechen - das kann er grundsätzlich ja auch Richtung Internet tun. Pack noch eine IP-Sperre mit rein, dass er nur Verbindungen von dem externen Webserver annimmt (deny from all, allow from WebserverIP), und schon ist dein lokaler Server relativ sicher.

Wie gesagt: Mit ein wenig Authentifizierung - das muß nicht mal zwingend .htaccess-artig sein - kannst du einen sicheren Zugang realisieren.

Wenn dir das alles bis hierher noch vollkommen unklar ist, dann erkläre, welche Möglichkeiten du hast: 1. Kannst du den lokalen Server vom Internet aus zugriffsfähig machen - dann würde ich Methode 2b empfehlen, sonst 2a.

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)