FTP (File Transfer Protocol) ist eines der ersten Internet-Protokolle (RFC 959 ist 1985 veröffentlicht worden!). Es wurde zur Verteilung von Dateien benutzt, sogar schon bevor das Web geboren war (das HTTP-Protokoll wurde 1990 entwickelt und formal in seiner 1.0 Version durch RFC 1945 festgelegt, die 1996 veröffentlicht worden ist).
Dieses Protokoll ermöglicht sowohl das Hoch- als auch das Herunterladen von Dateien; daher wird es noch häufig verwendet, um Aktualisierungen auf einer bei einem Internetdienstanbieter untergebrachten Website einzustellen (oder bei irgendeiner anderen Stelle, die Websites aufnimmt). In diesen Fällen wird ein sicherer Zugriff durch eine Benutzerkennung und ein Passwort erreicht; nach der erfolgreichen Authentifizierung gewährt der FTP-Server Lese- und Schreibzugriff auf das Benutzerverzeichnis des jeweiligen Benutzers.
Andere FTP-Server dienen in erster Linie dazu, Dateien zum öffentlichen Download zu verbreiten; Debian-Pakete sind hierfür ein gutes Beispiel. Der Inhalt dieser Server wird von anderen, geografisch entfernten Servern bezogen; er wird dann weniger entfernten Benutzern zur Verfügung gestellt. Dies bedeutet, dass Client-Authentifizierung nicht erforderlich ist; daher wird diese Betriebsart als „anonymes FTP“ bezeichnet. Um ganz genau zu sein, authentifizieren sich die Clients mit dem Benutzernamen anonymous
; das Passwort ist dabei üblicherweise die E-Mail-Adresse des Benutzers, aber der Server ignoriert sie.
In Debian stehen zahlreiche FTP-Server zur Verfügung (ftpd, proftpd-basic, pyftpd und so weiter). Die Falcot Corp. Administratoren haben vsftpd gewählt, weil sie den FTP-Server nur dazu benutzen, einige Dateien zu verbreiten (einschließlich eines Debian-Paketdepots); da sie keine weitergehenden Leistungsmerkmale benötigen, haben sie sich dafür entschieden, die Sicherheitsaspekte in den Mittelpunkt zu stellen.
Installing the package creates an ftp
system user. This account is always used for anonymous FTP connections, and its home directory (/srv/ftp/
) is the root of the tree made available to users connecting to this service. The default configuration (in /etc/vsftpd.conf
) requires some changes to cater to the simple need of making big files available for public downloads: anonymous access needs to be enabled (anonymous_enable=YES
) and read-only access of local users needs to be disabled (local_enable=NO
). The latter is particularly important since the FTP protocol doesn't use any form of encryption and the user password could be intercepted over the wire.