Das File-Transfer-Protocol (FTP) ist eines der �ltesten und am weitesten verbreiteten Protokolle im heutigen Internet. FTP hat den Zweck Dateien zwischen Rechnern auf einem Netzwerk zu �bertragen, ohne dass der Benutzer sich in den Remote-Host einloggen oder Wissen �ber das Remote-System besitzen muss. FTP erlaubt Benutzern auf Dateien auf Remote-Systemen mit Hilfe einiger einfachen Befehle zuzugreifen.
Dieses Kapitel bietet Grundlagen zum FTP-Protokoll, wie auch Konfigurationsoptionen f�r den prim�ren FTP-Server vsftpd, der in Red Hat Enterprise Linux enthalten ist.
15.1. Das File-Transfer-Protocol
FTP verwendet eine Client-Server Architektur, um Dateien unter Verwendung des TCP-Netzwerkprotokolls zu �bertragen. Da FTP ein �lteres Protokoll ist, verwendet es unverschl�sselte Authentifizierung von Benutzername und Passwort. Aus diesem Grund wird es als unsicheres Protokoll angesehen und sollte nicht verwendet werden, sofern nicht unbedingt n�tig. Eine gute Alternative zu FTP ist sftp, aus der OpenSSH Suite. F�r Informationen zur Konfiguration von OpenSSH siehe Red Hat Enterprise Linux Handbuch zur System-Administration. F�r weitere Informationen zum SSH-Protokoll, siehe Kapitel 20.
Da FTP jedoch ein g�ngiges Protokoll im Internet ist, ist es oft erforderlich Dateien der �ffentlichkeit �ber FTP zur Verf�gung zu stellen. System-Administratoren sollten demnach mit den einzigartigen Eigenschaften von FTP vertraut sein.
15.1.1. Multiple Ports, multiple Modi
Im Gegensatz zu den meisten Protokollen im Internet, ben�tigt FTP das einwandfreie Arbeiten von mehreren Netzwerk-Ports (oder Netzwerkschnittstellen). Wenn eine FTP-Client-Applikation eine Verbindung zu einem FTP-Server herstellt, �ffnet diese Port 21 auf dem Server — als Command-Port (Befehlsschnittstelle) bekannt. Alle Befehle an den Server werden �ber diesen Port gestellt. Jegliche vom Server an den Client zur�ck gelieferte Daten, gehen �ber einen Data-Port (Datenschnittstelle). Die Portnummer (oder Schnittstellennummer) f�r Datenverbindungen und die Art, in der die Datenverbindungen aufgebaut werden, h�ngen davon ab, ob der Client die Daten in active oder passive Mode anfordert.
Folgend finden Sie die Beschreibungen dieser Modi:
Aktiver Modus
Aktiver Modus ist der von FTP urspr�nglich verwendete Modus zur �bertragung von Daten zur Client-Applikation. Wenn ein Active-Mode Datentransfer vom FTP-Client eingeleitet wird, �ffnet der Server eine Verbindung von Port 20 auf dem Server zur IP-Adresse und einem zuf�lligen, unprivilegierten Port (gr��er als 1024), der vom Client bestimmt wird. Dieses Arrangement hat zur Folge, dass auf dem Client-Rechner Verbindungen �ber jeden Port gr��er als 1024 zugelassen werden m�ssen. Mit der steigenden Anzahl an unsicheren Netzwerken wie dem Internet, ist die Verwendung von Firewalls zum Schutze von Client-Rechnern g�ngig geworden. Da Firewalls auf Client-Rechnern eingehende Verbindungen von Active-Mode FTP-Servern oft ablehnen, wurde Passive-Mode FTP eingef�hrt.
Passiver Modus
Passive-Mode, wie Active-Mode, wird von der FTP-Client-Applikation eingeleitet. Wenn Daten vom Server angefordert werden, gibt der FTP-Client bekannt, dass er Daten in Passive-Mode erhalten m�chte, und der Server liefert die IP-Adresse und einen zuf�lligen, unprivilegierten Port (gr��er als 1024) auf dem Server. Der Client verbindet dann zu dem Port auf dem Server, um die angeforderten Informationen herunterzuladen.
W�hrend der Passive Modus die Probleme von Datenverbindungen durch eine Client-seitige Firewall umgeht, kann es die Administration der Server-seitigen Firewall erschweren. Eine Einschr�nkung der Bandbreite f�r Passive-Mode zur Verf�gung gestellten unprivilegierten Ports in der Konfigurationsdatei des FTP Servers ist zumindest eine M�glichkeit, die Anzahl der offenen Ports auf dem Server zu minimieren und die Erstellung von Firewallregeln f�r den Server zu vereinfachen. Siehe Abschnitt 15.5.8 f�r weitere Informationen zur Einschr�nkung von Passiven Ports.