PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ftpserver + iptables



HellTron
16.10.03, 21:14
Okay jetzt darf ich verzweifeln... :)

Ich habe gegoogelt usw... einiges Ausprobiert aber ich bekomme es nicht hin ...
auf FTP Server mit meiner Firewall zuzugreifen... mhh das sagt mir sie ist sicher... aber leider in diesem Punkt VIEL ZU SICHER :)...

also... hiermit rufe ich dann mal um Hilfe... :) wer mir sagen kann welche regel ich noch machen muss OHNE alle Ports oberhalb 1024: zu 1024: freizugeben dem wäre ich sehr dankbar :) ......

HIER mein Momentane Firewall Config !


# Variablen {
nameserver=194.25.2.129
lan0=192.168.0.0/24
lan1=192.168.100.0/24
lan2=10.0.0.0/24
# }

# Regeln löschen {
iptables -F
# }

# Kernelparameter {
echo 1 > /proc/sys/net/ipv4/ip_forward;
echo 1 > /proc/sys/net/ipv4/ip_dynaddr;
# }

# DROP all IN/FORWARD/OUT {
iptables -P INPUT DROP;
iptables -P FORWARD DROP;
iptables -P OUTPUT DROP;
# }

# ACCEPT OUT {
# iptables -A OUTPUT -o eth0 -p tcp --sport 1024: -d $lan0 --dport 1024: -j ACCEPT;
# iptables -A OUTPUT -o eth0 -p udp --sport 1024: -d $lan0 --dport 1024: -j ACCEPT;
# iptables -A OUTPUT -o eth0 -p tcp --sport 1024: -d $lan1 --dport 1024: -j ACCEPT;
# iptables -A OUTPUT -o eth0 -p udp --sport 1024: -d $lan1 --dport 1024: -j ACCEPT;
# iptables -A OUTPUT -o eth0 -p tcp --sport 1024: -d $lan2 --dport 1024: -j ACCEPT;
# iptables -A OUTPUT -o eth0 -p udp --sport 1024: -d $lan2 --dport 1024: -j ACCEPT;
# CLIENT
iptables -A OUTPUT -p tcp --sport 1024: --dport 21 -j ACCEPT; # to ftp (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 22 -j ACCEPT; # to ssh (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 25 -j ACCEPT; # to smtp (tcp)
iptables -A OUTPUT -p udp --sport 1024: --dport 53 -j ACCEPT; # to dns (udp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 53 -j ACCEPT; # to dns (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 80 -j ACCEPT; # to http (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 110 -j ACCEPT; # to pop3 (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 137 -j ACCEPT; # to net-bios-ns (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 138 -j ACCEPT; # to net-bios-dgm (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 139 -j ACCEPT; # to net-bios-ssn (tcp)
iptables -A OUTPUT -p udp --sport 1024: --dport 137 -j ACCEPT; # to net-bios-ns (udp)
iptables -A OUTPUT -p udp --sport 1024: --dport 138 -j ACCEPT; # to net-bios-dgm (udp)
iptables -A OUTPUT -p udp --sport 1024: --dport 139 -j ACCEPT; # to net-bios-ssn (udp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 443 -j ACCEPT; # to https (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 5190 -j ACCEPT; # to icq (tcp)
iptables -A OUTPUT -p tcp --sport 1024: --dport 6000 -j ACCEPT; # to X11 (tcp)
#SERVER
iptables -A OUTPUT -p tcp --sport 21 --dport 1024: -j ACCEPT; # from ftp (tcp)
iptables -A OUTPUT -p tcp --sport 22 --dport 1024: -j ACCEPT; # from ssh (tcp)
iptables -A OUTPUT -p tcp --sport 25 --dport 1024: -j ACCEPT; # from smtp (tcp)
iptables -A OUTPUT -p tcp --sport 80 --dport 1024: -j ACCEPT; # from http (tcp)
iptables -A OUTPUT -p tcp --sport 110 --dport 1024: -j ACCEPT; # from pop3 (tcp)
iptables -A OUTPUT -p tcp --sport 137 --dport 1024: -j ACCEPT; # from netbios-ns (tcp)
iptables -A OUTPUT -p tcp --sport 138 --dport 1024: -j ACCEPT; # from netbios-dgm (tcp)
iptables -A OUTPUT -p tcp --sport 138 --dport 138: -j ACCEPT; # from netbios-dgm <-> (tcp)
iptables -A OUTPUT -p tcp --sport 139 --dport 1024: -j ACCEPT; # from netbios-ssn (tcp)
iptables -A OUTPUT -p udp --sport 137 --dport 1024: -j ACCEPT; # from netbios-ns (udp)
iptables -A OUTPUT -p udp --sport 138 --dport 1024: -j ACCEPT; # from netbios-dgm (udp)
iptables -A OUTPUT -p udp --sport 139 --dport 1024: -j ACCEPT; # from netbios-ssn (udp)
iptables -A OUTPUT -p tcp --sport 6000 --dport 1024: -j ACCEPT; # from X11 (tcp)
# }

# ACCEPT IN {
# iptables -A INPUT -i eth0 -p tcp -s $lan0 --sport 1024: --dport 1024: -j ACCEPT;
# iptables -A INPUT -i eth0 -p udp -s $lan0 --sport 1024: --dport 1024: -j ACCEPT;
# iptables -A INPUT -i eth0 -p tcp -s $lan1 --sport 1024: --dport 1024: -j ACCEPT;
# iptables -A INPUT -i eth0 -p udp -s $lan1 --sport 1024: --dport 1024: -j ACCEPT;
# iptables -A INPUT -i eth0 -p tcp -s $lan2 --sport 1024: --dport 1024: -j ACCEPT;
# iptables -A INPUT -i eth0 -p udp -s $lan2 --sport 1024: --dport 1024: -j ACCEPT;
# CLIENT
iptables -A INPUT -p tcp --sport 21 --dport 1024: ! --syn -j ACCEPT; # from ftp (tcp)
iptables -A INPUT -p tcp --sport 22 --dport 1024: ! --syn -j ACCEPT; # from ssh (tcp)
iptables -A INPUT -p tcp --sport 25 --dport 1024: ! --syn -j ACCEPT; # from smtp (tcp)
iptables -A INPUT -p udp --sport 53 -j ACCEPT; # from dns (udp)
iptables -A INPUT -p tcp --sport 53 -j ACCEPT; # from dns (tcp)
iptables -A INPUT -p tcp --sport 80 --dport 1024: ! --syn -j ACCEPT; # from http (tcp)
iptables -A INPUT -p tcp --sport 110 --dport 1024: ! --syn -j ACCEPT; # from pop3 (tcp)
iptables -A INPUT -p tcp --sport 137 --dport 1024: ! --syn -j ACCEPT; # from netpios-ns (tcp)
iptables -A INPUT -p tcp --sport 138 --dport 1024: ! --syn -j ACCEPT; # from netpios-dgm (tcp)
iptables -A INPUT -p tcp --sport 139 --dport 1024: ! --syn -j ACCEPT; # from netpios-ssn (tcp)
iptables -A INPUT -p udp --sport 137 --dport 1024: -j ACCEPT; # from netpios-ns (udp)
iptables -A INPUT -p udp --sport 138 --dport 1024: -j ACCEPT; # from netpios-dgm (udp)
iptables -A INPUT -p udp --sport 139 --dport 1024: -j ACCEPT; # from netpios-ssn (udp)
iptables -A INPUT -p tcp --sport 443 --dport 1024: ! --syn -j ACCEPT; # from https (tcp)
iptables -A INPUT -p tcp --sport 5190 --dport 1024: ! --syn -j ACCEPT; # from icq (tcp)
iptables -A INPUT -p tcp --sport 6000 --dport 1024: ! --syn -j ACCEPT; # from X11 (tcp)
# SERVER
iptables -A INPUT -p tcp --sport 1024: --dport 21 -j ACCEPT; # to ftp (tcp)
iptables -A INPUT -p tcp --sport 1024: --dport 22 -j ACCEPT; # to ssh (tcp)
iptables -A INPUT -p tcp --sport 1024: --dport 25 -j ACCEPT; # to smtp (tcp)
iptables -A INPUT -p tcp --sport 1024: --dport 80 -j ACCEPT; # to http (tcp)
iptables -A INPUT -p tcp --sport 1024: --dport 110 -j ACCEPT; # to pop3 (tcp)
iptables -A INPUT -p tcp --sport 1024: --dport 137 -j ACCEPT; # to netbios-ns (tcp)
iptables -A INPUT -p tcp --sport 1024: --dport 138 -j ACCEPT; # to netbios-dgm (tcp)
iptables -A INPUT -p tcp --sport 1024: --dport 139 -j ACCEPT; # to netbios-ssn (tcp)
iptables -A INPUT -p udp --sport 1024: --dport 137 -j ACCEPT; # to netbios-ns (udp)
iptables -A INPUT -p udp --sport 1024: --dport 138 -j ACCEPT; # to netbios-dgm (udp)
iptables -A INPUT -p udp --sport 138 --dport 138 -j ACCEPT; # to netbios-dgm <-> (udp)
iptables -A INPUT -p udp --sport 1024: --dport 139 -j ACCEPT; # to netbios-ssn (udp)
iptables -A INPUT -p tcp --sport 1024: --dport 6000 -j ACCEPT; # to X11 (tcp)
# }

# FORWARD {
# TO SERVICE
iptables -A FORWARD -p tcp --sport 1024: --dport 21 -j ACCEPT; # to ftp (tcp)
iptables -A FORWARD -p tcp --sport 1024: --dport 22 -j ACCEPT; # to ssh (tcp)
iptables -A FORWARD -p tcp --sport 1024: --dport 25 -j ACCEPT; # to smtp (tcp)
iptables -A FORWARD -p udp --sport 1024: --dport 53 -j ACCEPT; # to dns (udp)
iptables -A FORWARD -p tcp --sport 1024: --dport 53 -j ACCEPT; # to dns (tcp)
iptables -A FORWARD -p tcp --sport 1024: --dport 80 -j ACCEPT; # to http (tcp)
iptables -A FORWARD -p tcp --sport 1024: --dport 110 -j ACCEPT; # to pop3 (tcp)
iptables -A FORWARD -p tcp --sport 1024: --dport 443 -j ACCEPT; # to https (tcp)
iptables -A FORWARD -p tcp --sport 1024: --dport 5190 -j ACCEPT; # to icq (tcp)
# FROM SERVICE
iptables -A FORWARD -p tcp --sport 21 --dport 1024: -j ACCEPT; # from ftp (tcp)
iptables -A FORWARD -p tcp --sport 22 --dport 1024: -j ACCEPT; # from ssh (tcp)
iptables -A FORWARD -p tcp --sport 25 --dport 1024: -j ACCEPT; # from smtp (tcp)
iptables -A FORWARD -p udp --sport 53 --dport 1024: -j ACCEPT; # from dns (udp)
iptables -A FORWARD -p tcp --sport 53 --dport 1024: -j ACCEPT; # from dns (tcp)
iptables -A FORWARD -p tcp --sport 80 --dport 1024: -j ACCEPT; # from http (tcp)
iptables -A FORWARD -p tcp --sport 110 --dport 1024: -j ACCEPT; # from pop3 (tcp)
iptables -A FORWARD -p tcp --sport 443 --dport 1024: -j ACCEPT; # from https (tcp)
iptables -A FORWARD -p tcp --sport 5190 --dport 1024: -j ACCEPT; # from icq (tcp)
# }

# PASSIV_FTP {

# }


# GAMES {
# GAMESPY
iptables -A OUTPUT -p tcp --sport 1024: --dport 28910 -j ACCEPT;
iptables -A INPUT -p tcp --sport 28910 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 28910 --dport 1024: -j ACCEPT;
iptables -A INPUT -p tcp --sport 1024: --dport 28910 -j ACCEPT;
iptables -A FORWARD -p tcp --sport 28910 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p tcp --sport 1024: --dport 28910 -j ACCEPT;
# NWN
iptables -A OUTPUT -p udp --sport 1024: --dport 5121 -j ACCEPT;
iptables -A INPUT -p udp --sport 5121 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p udp --sport 5121 --dport 1024: -j ACCEPT;
iptables -A INPUT -p udp --sport 1024: --dport 5121 -j ACCEPT;
iptables -A FORWARD -p udp --sport 5121 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p udp --sport 1024: --dport 5121 -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 1024: --dport 6667 -j ACCEPT;
iptables -A INPUT -p tcp --sport 6667 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 6667 --dport 1024: -j ACCEPT;
iptables -A INPUT -p tcp --sport 1024: --dport 6667 -j ACCEPT;
iptables -A FORWARD -p tcp --sport 6667 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p tcp --sport 1024: --dport 6667 -j ACCEPT;
# ET / QIII / QIII UT 3.0 / QIII Navy Seals /
iptables -A OUTPUT -p udp --sport 1024: --dport 27960 -j ACCEPT;
iptables -A INPUT -p udp --sport 27960 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p udp --sport 27960 --dport 1024: -j ACCEPT;
iptables -A INPUT -p udp --sport 1024: --dport 27960 -j ACCEPT;
iptables -A FORWARD -p udp --sport 27960 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p udp --sport 1024: --dport 27960 -j ACCEPT;
# HL / HL-CS
iptables -A OUTPUT -p udp --sport 1024: --dport 27010 -j ACCEPT;
iptables -A INPUT -p udp --sport 27010 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p udp --sport 27010 --dport 1024: -j ACCEPT;
iptables -A INPUT -p udp --sport 1024: --dport 27010 -j ACCEPT;
iptables -A FORWARD -p udp --sport 27010 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p udp --sport 1024: --dport 27010 -j ACCEPT;
iptables -A OUTPUT -p udp --sport 1024: --dport 27015 -j ACCEPT;
iptables -A INPUT -p udp --sport 27015 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p udp --sport 27015 --dport 1024: -j ACCEPT;
iptables -A INPUT -p udp --sport 1024: --dport 27015 -j ACCEPT;
iptables -A FORWARD -p udp --sport 27015 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p udp --sport 1024: --dport 27015 -j ACCEPT;
# CIV CALL TO POWER
# MYTH II
# DIABLO II
# UT2003
iptables -A OUTPUT -p udp --sport 1024: --dport 7778 -j ACCEPT;
iptables -A INPUT -p udp --sport 7778 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p udp --sport 7778 --dport 1024: -j ACCEPT;
iptables -A INPUT -p udp --sport 1024: --dport 7778 -j ACCEPT;
iptables -A FORWARD -p udp --sport 7778 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p udp --sport 1024: --dport 7778 -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 1024: --dport 28902 -j ACCEPT;
iptables -A INPUT -p tcp --sport 28902 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 28902 --dport 1024: -j ACCEPT;
iptables -A INPUT -p tcp --sport 1024: --dport 28902 -j ACCEPT;
iptables -A FORWARD -p tcp --sport 28902 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p tcp --sport 1024: --dport 28902 -j ACCEPT;
# SSAM I
# SSAM II
iptables -A OUTPUT -p udp --sport 1024: --dport 25600 -j ACCEPT;
iptables -A INPUT -p udp --sport 25600 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p udp --sport 25600 --dport 1024: -j ACCEPT;
iptables -A INPUT -p udp --sport 1024: --dport 25600 -j ACCEPT;
iptables -A FORWARD -p udp --sport 25600 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p udp --sport 1024: --dport 25600 -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 1024: --dport 28900 -j ACCEPT;
iptables -A INPUT -p tcp --sport 28900 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 28900 --dport 1024: -j ACCEPT;
iptables -A INPUT -p tcp --sport 1024: --dport 28900 -j ACCEPT;
iptables -A FORWARD -p tcp --sport 28900 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p tcp --sport 1024: --dport 28900 -j ACCEPT;
# AMERICAN ARMY OP
# WAR III
# WAR III FT
iptables -A OUTPUT -p udp --sport 1024: --dport 6112 -j ACCEPT;
iptables -A INPUT -p udp --sport 6112 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p udp --sport 6112 --dport 1024: -j ACCEPT;
iptables -A INPUT -p udp --sport 1024: --dport 6112 -j ACCEPT;
iptables -A FORWARD -p udp --sport 6112 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p udp --sport 1024: --dport 6112: -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 1024: --dport 6112 -j ACCEPT;
iptables -A INPUT -p tcp --sport 6112 --dport 1024: -j ACCEPT;
iptables -A OUTPUT -p tcp --sport 6112 --dport 1024: -j ACCEPT;
iptables -A INPUT -p tcp --sport 1024: --dport 6112 -j ACCEPT;
iptables -A FORWARD -p tcp --sport 6112 --dport 1024: -j ACCEPT;
iptables -A FORWARD -p tcp --sport 1024: --dport 6112 -j ACCEPT;
# MOHAA
# RTCW
# SNES
# DOOM III
# }

# LOOPBACK DEVICE {
iptables -A INPUT -i lo -j ACCEPT;
iptables -A OUTPUT -o lo -j ACCEPT;
# }

# ICMP {
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT;
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT;
iptables -A FORWARD -p icmp --icmp-type echo-request -j ACCEPT;

iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT;
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT;
iptables -A FORWARD -p icmp --icmp-type echo-reply -j ACCEPT;

iptables -A OUTPUT -p icmp --icmp-type destination-unreachable -j ACCEPT;
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT;
iptables -A FORWARD -p icmp --icmp-type destination-unreachable -j ACCEPT;

iptables -A INPUT -p icmp --icmp-type source-quench -j ACCEPT;
iptables -A OUTPUT -p icmp --icmp-type source-quench -j ACCEPT;
iptables -A FORWARD -p icmp --icmp-type source-quench -j ACCEPT;

iptables -A OUTPUT -p icmp --icmp-type time-exceeded -j ACCEPT;
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT;
iptables -A FORWARD -p icmp --icmp-type time-exceeded -j ACCEPT;

iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT;
iptables -A OUTPUT -p icmp --icmp-type parameter-problem -j ACCEPT;
iptables -A FORWARD -p icmp --icmp-type parameter-problem -j ACCEPT;
# }

# MASQ - NAT {
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE;
# }

# LOG {
iptables -A INPUT -j LOG;
iptables -A OUTPUT -j LOG;
iptables -A FORWARD -j LOG;
# }

# DROP all other IN/OUT {
iptables -A INPUT -p tcp --dport auth -j REJECT --reject-with tcp-reset;
iptables -A INPUT -j DROP;
#
iptables -A FORWARD -p tcp -j REJECT --reject-with tcp-reset;
iptables -A FORWARD -p udp -j REJECT;
iptables -A FORWARD -j DROP;
#
iptables -A OUTPUT -p tcp -j REJECT --reject-with tcp-reset;
iptables -A OUTPUT -p udp -j REJECT;
iptables -A OUTPUT -j DROP;
# }

eclipse
17.04.04, 09:19
Um die Freigabe der Ports 1024:65535 wirst du nicht drum herum kommen, da ein Drei-Wege-Handschake immer unter diesen Ports laufen wird. Mich wunderts eh das du nicht noch mehr Probleme hast, bei connecten zu irgendwas.
Bei Passiven FTPs hast du nur eine Chance aus dem Bereich 1024-65535 einzuschränken, wenn dir der Besitzer des Ftpservers die Range gibt.
Bei Proftpd geht das nämlich einzustellen zum Beispiel.

klemens
17.04.04, 11:33
Bei passivem ftp wird überlicherweise Port 20 als Datenport verwendet. ...

Wie schauts aus mit:
modprobe ip_conntrack
modprobe ip_conntrack_ftp

eclipse
17.04.04, 11:47
Bei passivem ftp wird überlicherweise Port 20 als Datenport verwendet. ...
Sorry aber das ist völliger Quatsch !
Der Port 20 (Datentransfer) wird nur bei aktiven FTP-Server verwendet.
Bei passiven ist das ein Port zwischen 1024 und 65535.

klemens
17.04.04, 12:01
Sorry aber das ist völliger Quatsch !
Der Port 20 (Datentransfer) wird nur bei aktiven FTP-Server verwendet.
Bei passiven ist das ein Port zwischen 1024 und 65535.

:ugly:
Mittlerweile sollt ichs mir gemerkt haben!!!!

sorry.

uTaNG
17.04.04, 13:35
http://www.sa.rochester.edu/mocktrial/protectedhtml/forum/phpBB2/images/smiles/eusa_think.gif Du hast die Möglichkeite

- einen ftp-proxy aufzusetzen oder
- ein Kernel-Modul zunutzen was für dich die Port-Geschichte überwacht,ich überleg aber noch welches es war... ("ip_masq_fw")

schschau dir mal folgenden link an:

Firewall selbst entwickeln (http://www.pl-berichte.de/t_netzwerk/firewall-eigenbau.html#ToC18)

usr
17.04.04, 23:11
Ich habe einfach die Module "ip_nat_ftp" und "ip_conntrack_ftp" geladen. Dann noch in der FORWARD chain dport 21 freigeben und gut ist.