Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING

18.2 FTP (Filetransfer)

FTP benutzt zwei getrennte TCP-Verbindungen: eine für Kommandos zwischen Client und Server sowie deren Ergebnisse (diese Verbindung wird meist als Kommandokanal bezeichnet), und eine zweite Verbindung, auf der Verzeichnislistings und Dateien übertragen werden (der Datenkanal) Auf der Seite des Servers benutzt der Kommandokanal Port 21 und der Datenkanal gewöhnlich Port 20. Der Client verwendet für Kommando- und Datenkanal jeweils Portnummern über 1023. Problematisch ist der Einsatz über eine Firewall hinweg. Hierbei muß der Client PASV (passive mode) unterstützen. In viele Clients (Netscape, WS-FTP, CUTE-FTP) ist dieser Modus bereits implementiert. Besonderes Augenmerk sollte dem sog. FTP bounce attack gewidmet werden. Hier können zwei FTP-Server aus dem Internet (Intranet) massiv miteinander beschäftigt werden, sodaß diese die gesamte Bandbreite des Netzes verbrauchen. Ein solcher Angriff kann mit dem TCPLOGD entdeckt werden. Zu finden ist dieser auf http://lwn.net/1998/1224/a/tcplogd.html. Wer sich nicht sicher ist, ob und in welchen Fällen ein solcher Angriff durchgeführt werden kann, der sollte den FTP-Server nicht ohne weiteres installieren. Insbesondere sind häufig "anonymous" FTP-Server für diesen Angriff offen, die auf die Paßworte (ftp, anonymous, ...) einen öffentlichen Zugang zu dem Filesystem erlauben.

Regel  Richtung  Protokoll  Quellport  Zielport  Ergänzungen
1      ein       TCP        >1023      21        SYN/ACK
2      aus       TCP        21         >1023     ---/ACK
3      aus       TCP        20         >1023     SYN/ACK 
4      ein       TCP        >1023      20        ---/ACK
5      ein       TCP        >1023      >1023     SYN/ACK 
6      aus       TCP        >1023      >1023     ---/ACK
7      aus       TCP        >1023      21        SYN/ACK
8      ein       TCP        21         >1023     ---/ACK
9      ein       TCP        20         >1023     SYN/ACK 
10     aus       TCP        >1023      20        ---/ACK
11     aus       TCP        >1023      >1023     SYN/ACK 
12     ein       TCP        >1023      >1023     ---/ACK
Anmerkungen zu den Regeln:

1 : Eingehende FTP-Anfrage. ACK gesetzt, außer im ersten Paket

2 : Antwort auf eingehende Anfrage. ACK gesetzt

3 : Einrichten des Datenkanals für eingehende FTP-Anfrage, normaler Modus. ACK gesetzt, außer im ersten Paket

4 : Antworten im Datenkanal für eingehende FTP-Anfrage, normaler Modus. ACK gesetzt

5 : Einrichten des Datenkanals für eingehende FTP-Anfrage, passiver Modus. ACK gesetzt, außer im ersten Paket

6 : Antworten im Datenkanal für eingehende FTP-Anfrage, passiver Modus. ACK gesetzt

7 : Ausgehende FTP-Anfrage. ACK gesetzt, außer im ersten Paket

8 : Antwort auf ausgehende Anfrage. ACK gesetzt

9 : Einrichten des Datenkanals für ausgehende FTP-Anfrage, normaler Modus. ACK gesetzt, außer im ersten Paket

10: Antworten im Datenkanal für ausgehende FTP-Anfrage, normaler Modus. ACK gesetzt

11: Einrichten des Datenkanals für ausgehende FTP-Anfrage, passiver Modus. ACK gesetzt, außer im ersten Paket

12: Antworten im Datenkanal für ausgehende FTP-Anfrage, passiver Modus. ACK gesetzt

TFTP (Boot)

TFTP ist ein Protokoll auf Basis von UDP. Server benutzen Port 69, Clients Portnummern über 1023. TFTP sollte im allgemeinen nicht mehr erlaubt werden. Network Computer (NC) booten über diese Protokoll (bootpd). Da TFTP auf UDP basiert, ist eine Absicherung über eine Firewall prinzipiell nicht möglich. Hier sollte das FTP-Protokoll genutzt werden.

Regel  Richtung  Protokoll  Quellport  Zielport  Kommentar                          
1      ein       UDP        >1023      69        Eingehende TFTP-Anfrage            
2      aus       UDP        69         >1023     Antwort auf die eingehende Anfrage 
3      aus       UDP        >1023      69        Ausgehende TFTP-Anfrage            
4      ein       UDP        69         >1023     Antwort auf die ausgehende Anfrage 


Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING