FTP-Proxy

Zum Betrieb des FTP-Proxy sind folgende Vorbedingungen nötig :


Der FTP-Proxy ist transparent. Er stellt gegenüber dem Client den FTP-Server dar und gegenüber dem eigenlichen FTP-Server den Client. Er kann in zwei Modi betrieben werden :


FTP-Proxy 1

FTP-Proxy 2

Syntax

ftp-proxy [-r user] [-b ipaddr] [-d] [-D] [-V] port [proxyhost [proxyport]] ftp-proxy dient zum Maskieren von Adressen, der Inhaltsprüfung (z.B. Virenschutz) und dem Erzeugen von Systeminformationen. Das Programm arbeitet als Dämon und wartet auf eingehende Verbindungswünsche. Für jede Verbindung, die aus mehreren Befehlen und Dateiübertragungen bestehen kann, wird ein neuer Prozeß gestartet, der nach Verbindungsende die Logging-Information nach syslog schreibt und terminiert. Es wird das FTP-Protokoll benutzt.

Die erzeugte Logging-Information sieht z.B. wie folgt aus :

Apr 22 13:00:45 firewall ftp-proxy[4444]: pc1172.de.xy 10.64.2.172 hpcc926.external.hp.com 192.151.11.14 ftp://ftp.hp.com/ 783 34540 0

Wie bei syslog üblich, kommen zunächst die Informationen über den Zeitpunkt (Apr 22 13:00:45), den Rechner (firewall), Prozeßnamen und Prozeßnummer (ftp-proxy[4444]). Nach dem Doppelpunkt folgen die durch den Prozeß erzeugten Informationen : Name (sofern vorhanden, sonst Adresse) und Adresse des Clients (pc1172.de.xy 10.64.2.172), Name (sofern vorhanden, sonst Adresse) und Adresse des Servers(hpcc926.external.hp.com 192.151.11.14).  Die URL (ftp://ftp.hp.com/), die Anzahl der vom Client gesendeten (783) und empfangenen (34540) Bytes sowie der Status (0) beschließen die erzeugte Information. Ein Status, der nicht 0 ist, weist auf eine abgebrochene Verbindung hin.

Durch eine Veränderung der Datei /etc/syslog.conf läßt sich die Ausgabe der Information auch auf einen entfernten Rechner (@remote) leiten. Beachten Sie, daß in diesem Fall Paketfilterregeln angegeben werden müssen, die UDP-Pakete mit Zielport 514 vom Firewall zum Zielrechner durchlassen.

Virenschutz
Bei Benutzung des Virenschutzes (-V) kommt es am Browser zu einem ungewohnten Verhalten. Da ein Dokument immer erst auf Viren untersucht werden kann, wenn es vollständig vorhanden ist, muß das Dokument zwischengespeichert werden und wird erst nach der Untersuchung weitergeleitet. Das führt in den Browsern dazu, daß Directory-Inhalte nicht sukzessive aufgebaut werden und Dateien scheinbar nicht übertragen werden. Bei größeren Dokumenten würde diese Zwischenspeicherung zum Abreißen der Verbindungen (Timeout) führen. Zur Vermeidung dieses Timeouts wird deshalb alle dreißig Sekunden ein einziges Byte übertragen. Nach der erfolgreichen Überprüfung wird der Rest des Dokuments übertragen. Das führt bei großen Dateien zur Vorhersage von irrwitzigen Download-Zeiten, was natürlich nicht richtig ist. Die Aufforderung "speichern unter ..." bleibt auch auf Clients aller Betriebssysteme bis zur Quittierung stehen.

Wird ein Virus entdeckt, wird die Datenverbindung abgebrochen und eine Fehlermeldung zurückgeliefert.

aktives und passives FTP
FTP benutzt zur Datenübertragung mehrere sog. Sockets, nämlich eine Kommando-Verbindung und dynamisch eine Verbindung zur Übertragung von Directory-Verzeichnissen und Dateien. Der Endpunkt der dynamischen Datenverbindung liegt  entweder fest und wird vom Server geöffnet (Port 20 des Clients, actives ftp) oder wird vom Server zugewiesen und vom Client geöffnet (passives ftp). Wegen der Redirektionierung der Verbindung ist bei ftp-proxy zum eigentlichen Client nur aktives, zum eigentlichen Server nur passives FTP möglich. 
vorgesehene Erweiterungen
Einbau von Authentisierungsaufrufen, z.B. über NT-Domain-Server/Samba-Server.