FTP-Programm zum Hochladen der Webseite auf den Server
Wenn man eine Webseite erstellt hat und auf den Webserver hochladen möchte, dann braucht man eine Möglichkeit, um sich in den Ordner einzuwählen, den man vom Webhoster zugewiesen bekommen hat und die Webseite inklusive den Ordnern und Dateien auf den Server hochzuladen. In der Regel stellt der Webhoster hierfür einen FTP-Zugang bereit, der mit einem Benutzernamen und Passwort geschützt sein sollte. Denn, wäre der FTP-Zugang nicht oder nur schwach geschützt, könnte sich im Grunde jeder auf den Server einwählen, die Webseite ändern, löschen oder gar Viren, Trojaner, Malware oder sonstige schadhafte Dateien platzieren.
Das könnte einmal dazu führen, dass die Webseite zerstört und unbrauchbar wird. Außerdem könnte es passieren, dass über den Server schadhafte Programme aller Art an die Besucher der Webseite weiterverbreitet wird. Es gibt z.B. Schadsoftware, die automatisch die FTP-Zugangsdaten auf dem lokalen Rechner auslesen, sich automatisch mit diesen Zugangsdaten am Server einwählen, die Webseiten verändern und schadhafte Dateien platzieren. Darüber hinaus versuchen Spammer, über den Server Spam E-Mails zu versenden, in Onlineshops die Kontodaten der Besucher abzufangen Besucher auf virenverseuchte Webseiten umzuleiten und einige andere Dinge mehr. Sie gehen dabei immer ausgeklügelter vor und lassen sich immer wieder neue Wege einfallen. Daher sollte man generell erhöhte Vorsicht walten lassen, wenn man Daten auf und von einem Server transferiert.
Sicherheitsmaßnahmen beim Datentransfer per FTP
Auch wenn es keinen 100%igen Schutz gibt, so sollte man neben den allgemeinen Schutzmaßnahmen zumindest folgende Punkte berücksichtigen, wenn man Daten per FTP transferiert:
- Auswahl des FTP-Programms: Für den Datentransfer benötigt man ein FTP-Programm und bei der Auswahl sollte man ein Programm wählen, mit dem man die Daten verschlüsselt übertragen kann.
- Kennwort des FTP-Zugangs: Die Einwahl auf den Server erfolgt gewöhnlich mit den FTP-Zugangsdaten. Diese gibt man im FTP-Programm ein. Hierbei sollte man darauf achten, das Kennwort nicht zu speichern und bei jedem Einwahl neu einzugeben. Falls man aus Bequemlichkeit doch entschließt, die Zugangsdaten im FTP-Programm zu speichern, so sollte das Programm diese verschlüsselt speichern und nicht im Klartext.
- Komplexität des Kennworts: Sobald man die Zugangsdaten vom Webhoster bekommt, sollte man zunächst das zugeteilte Kennwort ändern und dabei ein komplexes Kennwort vergeben, das am besten aus 12 -20 Zeichen, Zahlen, Groß- und Kleinbuchstaben sowie Sonderzeichen besteht.
- Berechtigung für Ordner und Dateien: Die meisten Webserver im Internet haben ein Linux-Betriebssystem und diese besitzen ein Berechtigungssystem. Besonders auf Shared-Hosting sollte man die Ordner- und Dateiberechtigungen so setzen, dass sie nicht von anderen Benutzern des Servers geändert werden können. Konfigurationsdateien oder sonstige sensible Dateien sollten von anderen Benutzern nicht gelesen werden können.
FTP-Zugang einrichten
Ist ein FTP-Programm ausgewählt und installiert, kann mit den Zugangsdaten die Einwahl auf dem Server erfolgen. Die Einwahl erfolgt bei allen Programmen ähnlich. In der nachfolgenden Bildergalerie wird beispielhaft gezeigt, wie man mit dem Programm WinSCP in der Version 5.5.6 sich per FTP auf dem Server einwählen kann und ein Masterpasswort setzt, damit evtl. gespeicherte Passwörter mit AES verschlüsselt werden. Das Programm WinSCP kann auf der Herstellerseite unter www.winscp.net runtergeladen werden.
Die Erläuterung zur Bildergalerie:
- Bild 1: Im Hauptfenster wählt man auf der linken Seite "Neues Verbindungsziel". Auf der rechten Seite werden wie folgt die Einwahldaten eingegeben.
- Übertragungsprotokoll: Bei den meisten Webhostern ist das Übertragungsprotokoll FTP freigegeben.
- Verschlüsselung: Als Verschlüsselung wird normalerweise "TLS Explizite Verschlüsselung" ausgewählt.
- Rechnername: Hier wird entweder die IP-Adresse des Rechners oder der Domainname eingegeben.
- Port: Für FTP ist vom Webhoster standardmäßig der Port 21 freigegeben.
- Benutzername: Der Benutzername für den FTP-Zugang.
- Passwort: Das Passwort für den FTP-Zugang.
- Bild 2: Die Einwahldaten können über die Schaltfläche "Speichern" gespeichert werden, so dass man diese nicht jedes Mal neu eingeben muss. Das ist jedoch nicht empfehlenswert. Möchte man das trotzdem, sollte ein Programm gewählt werden, das die Passwörter verschlüsselt speichert. In WinSCP muss man ein Hauptpasswort vergeben, damit die gespeicherten Passwörter mit AES verschlüsselt werden. Hierfür wechselt man über die Schaltfläche "Werkzeuge" zu den Einstellungen.
- Bild 3: Unter "Sicherheit" setzt man den Haken bei "Benutze Hauptpasswort". Im öffnenden Fenster gibt man 2x das Hauptpasswort ein, das man sich gut merken sollte. Auch hier gilt, dass das Hauptpasswort so lang wie möglich ist sowie aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen bestehen sollte. Die Angabe bestätigt man mit "Ok".
- Bild 4: Es erscheint ein Hinweis, dass die gespeicherten Passwörter mit AES verschlüsselt sind.
- Bild 5: Nachdem man die Angaben mit "Ok" bestätigt hat, kann man im Hauptfenster über die Schaltfläche "Anmelden" den FTP-Einwahl beginnen. Das Fenster wird dann zweigeteilt. Links sieht man die Daten des lokalen Rechners, rechts die Daten auf dem Server. Per Drag-and-Drop können die Daten zwischen dem Server und dem lokalen Rechner hin und her kopiert werden. Auf dem Server wird die Webseite gewöhnlich im Ordner httpdocs oder htdocs abgelegt.
Unterschied zwischen implizite und explizite Verschlüsselung
Im Anmeldefenster kann man unter Verschlüsselung zwischen implizite und explizite Verschlüsselung auswählen. Welche Variante man wählen kann, hängt von der Serverkonfiguration des Webhosters ab. Die meisten Webhoster bieten die implizite Verschlüsselung jedoch nicht an, da diese Methode veraltet ist. Der Unterschied zwischen impliziter und expliziter Verschlüsselung ist, dass bei der impliziten Verschlüsselung der Verbindungsaufbau direkt über den Port 990 verschlüsselt erfolgt. Bei der expliziten Verschlüsselung erfolgt der Verbindungsaufbau zunächst unverschlüsselt über den Port 21. Damit die Sitzung verschlüsselt wird, muss beim Server explizit die Verschlüsselung angefordert werden. Danach werden auf verschlüsseltem Wege die Anmeldedaten übertragen und die Sitzung kann beginnen.
Aktiver und passiver FTP-Modus
Befindet man sich hinter einer Firewall, kann es passieren, dass man sich mittels FTP-Programm nicht mit dem Server verbinden kann. Ein häufiger Grund hierfür ist, dass im FTP-Programm der aktive Modus eingeschaltet ist. In dem Fall muss in den Einstellungen des FTP-Programms der "passive Modus" gewählt werden. Bei WinSCP erfolgt das in den erweiterten Einstellungen, die man im Hauptfenster über die Schaltfläche "Erweitert" öffnet.
Der Unterschied zwischen den beiden Modi liegt in der Aushandlung der Ports, über die der Datenaustausch zwischen dem Client und dem Server erfolgt. Dabei wird zwischen Befehlskanal (Control-Port) und Datenkanal (Data-Port) unterschieden. Für eine FTP-Sitzung wird daher nicht nur der Port 21 benötigt, sondern ein weiterer Port und das kann beim aktiven Modus die Ursache dafür sein, dass die Verbindung nicht hergestellt werden kann. Der Verbindungsaufbau sowie die Aushandlung der Ports ist in den beiden Modi wie folgt:
- Aktiver Modus: In diesem Modus startet der Client die Verbindung über einen lokalen Port, der in einem Bereich zwischen 1024 und 65535 liegt, mit dem Port 21 des Servers. Ist die Verbindung aufgebaut, übermittelt der Client dem Server mit dem Befehl "PORT" den Port (1024 - 65535), über den der Datenaustausch erwartet wird. Der Server verwendet den Port 20 für den Datenaustausch und initiiert eine Verbindung zum übermittelten Port des Clients. Hier kann die Firewall dafür sorgen, dass die Verbindung zum dem Port nicht zugelassen wird.
- Passiver Modus: Im passiven Modus startet der Client die Verbindung ebenfalls über einen lokalen Port, der im Bereich 1024 - 65535 liegt, mit dem Port 21 des Servers. Nach dem Verbindungsaufbau übermittelt der Client dem Server den passiven Verbindungsmodus mit dem Befehl "PASV". In dem Fall öffnet der Server einen Port im Bereich 1024 - 65535 für den Datenaustausch und übermittelt diesen an den Client.
Somit verwendet der Server im aktiven Modus die Ports 20 und 21, der Client die Ports im Bereich 1024 - 65535. Im passiven Modus verwendet der Server den Port 21 sowie einen zusätzlichen Port im Bereich 1024 - 65535 für den Datenaustausch. Beim Client bleiben die Ports im passiven Modus im Bereich 1024 - 65535.