Moin!
Hat aber nichts mit dem vorliegenden Fall zu tun, da ist FTP die erste Wahl.
FTP ist _letzte_ Wahl. Denn die Tatsache, dass eine verschlüsselte Übertragung gewünscht war, verhindert, dass ein unverschlüsseltes Protokoll wie FTP zum Einsatz kommen kann.
Sicherlich kann man den reinen Dateiinhalt durch Anwendung von PGP schützen. Aber das FTP-Passwort wird unverschlüsselt übertragen, und es ist zu befürchten, dass jemand, der die Datenübertragung abfangen kann, dann auch das Passwort abfangen kann. Und wenn es dumm kommt, kriegt er dadurch Zugriff auf den Webspace, alle PHP-Skripte und den geheimen PGP-Schlüssel, der zur erfolgreichen Anwendung ohne Zugangsbarrieren wie Passphrase etc. gespeichert sein muß. Das ist im Endeffekt dann genauso sicher, wie die Passwortabfragen von try2hack.nl - nämlich gar nicht sicher!
FTP scheidet also aus diversen Gründen, primär aber wegen der unverschlüsselten Passwortübertragung aus.
Bleiben: HTTP, HTTPS und SSH.
HTTP ist auch unverschlüsselt, aber wenn man eine verschlüsselte Datei per POST sendet, kriegt ein Angreifer nur mit, dass zu einer bestimmten URL, die er natürlich auch selbst füttern könnte, eine Dateiübertragung stattgefunden hat. Wenn man die Möglichkeiten der digitalen Signatur von PGP zusätzlich einsetzt und vom Empfangsskript prüft, ist ein mutwilliges Hochladen von Fake-Daten nahezu unmöglich. Merke: Auch ein passwortgeschütztes Skript (.htaccess) braucht unverschlüsselte Passwortinformationen, ist also als Schutz unbrauchbar.
Als Bonus gibts die Tatsache, dass das externe Skript exakt dann gestartet wird, wenn die Datei hochgeladen wird - es ist kein Cron-Job etc. notwendig, um die Dateiankunft per FTP zu prüfen.
HTTPS läuft komplett verschlüsselt ab. Da kann man eigentlich nichts mehr verkehrt machen. Allerdings benötigt man natürlich einen SSL-fähigen Webserver, der leider in den typischen Standard-Hosting-Paketen nicht enthalten ist. Und nur für die regelmäßigen Updates wäre es nicht zu rechtfertigen, deshalb ein Upgrade für den Webspace zu ordern.
SSH schließlich bietet über SCP (Secure Copy) ebenfalls verschlüsselte Kopierfähigkeiten an, erfordert aber einen SSH-Zugang zum externen Server.
Zu beachten ist, dass die ganzen Spielchen auch umgekehrt ablaufen können: Durch Aufruf eines speziellen Skriptes auf dem externen Server könnte dieser eine beliebige Verbindung (sei es FTP, HTTP, HTTPS oder SSH) zum lokalen Server herstellen und sich die erforderlichen Daten einfach abholen. Diese Methode hätte insofern Vorteile, als dass der Einfluß auf das lokale System vermutlich größer ist. Dort ließe sich beispielsweise ein FTP-Account anlegen, der wirklich nur auf die gewünschte Upload-Datei Zugriff hat und sonst nirgendwo drauf. Oder es ließe sich HTTPS einrichten, bzw. ein SSH-Zugang (welcher dann allerdings auf dem externen Server eine verfügbare Version von SCP erfordert, die man aufrufen kann.
- Sven Rautenberg
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)