Firewall:Ftp

Aus KissDoc

Wechseln zu: Navigation, Suche
Draft

Dieses Dokument ist unfertig.
KissDoc:Drafts

Inhaltsverzeichnis

Thema: Firewall


Top

Allgemein

FTP ist durch eine Firewall etwas tricky. Da die "Steuer"-Kommunikation getrennt von der Datenübermittlung läuft, muß zur eigentlichen Datenübermittlung (auch ein ls) eine neue Verbindung über einen neuen Port geöffnet werden. Bei aktiven FTP öffnet dazu der Server von Port 20 eine Verbindung zu einem hohen Port des Clients. Dabei müssen alle offenen hohen Ports des Clients mittels iptables separat behandelt werden, da sonst das System angreifbar bleibt. Im passiven FTP öffnet der Client einen neuen Port auf den Server (hoher zu hoher), welcher der Server dem Client vorher mitteilt.

Dank ip_conntrack_ftp (Iptables Connection Tracking - FTP) ist das auch relativ sicher möglich, ohne den Firewall öffnen zu müssen. Zunächst wird die Kerneloption CONFIG_IP_NF_FTP beötigt, welche die beiden Module net/ipv4/netfilter/ip_conntrack_ftp.ko und net/ipv4/netfilter/ip_nat_ftp.ko bereit stellt.

Die eigentliche FTP command Kommunikation wird erlaubt durch:

iptables -A INPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT

Dies reicht jedoch noch nicht aus, da man die Datenkommunikation noch erlauben muß.


Top

Passive FTP

Hier wird das PORT Kommando vom Server zum Client gesendet. Der Client verbindet sich dann mit dem Server. Dank ip_conntrack_ftp kann RELATED statt NEW verwendet werden:

modprobe ip_conntrack_ftp
iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state --state ESTABLISHED,RELATED -j ACCEPT


Top

Forwarding

Zum Forwarden benötigt man das Modul ip_nat_ftp.ko.

Top

Ressourcen

Top
Persönliche Werkzeuge