Ftp per Masquerading bei SuSE 7.2?
Hallo! Ich betreibe in einem kleinen Hausnetz einen Linux-Rechner mit SuSE 7.2 als Internet-Server und -Router. Mit "iptables -A POSTROUTING -t nat -j MASQUERADE -o ppp0" und "echo 1 > /proc/sys/net/ipv4/ip_forward" habe ich, um das System zunächst nur zum Laufen zu bringen, das Masquerading ohne firewall eingerichtet. Mir stürzt zwar immer ip-up ab, weil ich das Modul ipchains löschen und die entsprechenden iptables-Module laden mußte, aber das stelle ich zunächst zurück. Das Masquerading funktioniert soweit auch, bis auf FTP! Früher mußte man das Modul ip_masq_ftp laden, damit FTP geht. Aber dieses Modul scheint es nicht mehr zu geben. Was muß man bei 7.2 tun, damit auch FTP über Masquerading geht? Gruß Wolfgang
On Mon, Apr 22, 2002 at 15:28:15 +0200, Wolfgang Grüneberg wrote: Wolfgang, Deine Zeilen sind zu lang. Bitte stelle Deinen MUA auf einen Zeilenumbruch bei 68 Zeichen ein. Danke!
Ich betreibe in einem kleinen Hausnetz einen Linux-Rechner mit SuSE 7.2 als Internet-Server und -Router. Mit "iptables -A POSTROUTING -t nat -j MASQUERADE -o ppp0" und "echo 1 > /proc/sys/net/ipv4/ip_forward" habe ich, um das System zunächst nur zum Laufen zu bringen, das Masquerading ohne firewall eingerichtet.
Was heisst: Ohne Firewall? Gibt es irgendwelche Regeln, die verhindern, dass Deine Datenpakete ueber Deinen Router ins Internet gelangen?
Das Masquerading funktioniert soweit auch, bis auf FTP! Früher mußte man das Modul ip_masq_ftp laden, damit FTP geht. Aber dieses Modul scheint es nicht mehr zu geben. Was muß man bei 7.2 tun, damit auch FTP über Masquerading geht?
Hast Du einen eigenen Kernel kompiliert? Sind da auch die Teile fuer Iptables mit reinkompiliert worden? Ich komme mit folgenden Regeln wunderbar ueber meinen Router hinweg, auch und vor allem mit FTP. Diese sehen so aus (mein eigener PC hat die IP 192.168.90.250): ,---------------------------------------------------------------- | echo 1 > /proc/sys/net/ipv4/ip_forward | | $IPTABLES -A INPUT -i $INTERFACE_INTERN \ | --source 192.168.90.250/32 -j ACCEPT | $IPTABLES -A OUTPUT -o $INTERFACE_INTERN \ | --destination 192.168.90.250/32 -j ACCEPT | $IPTABLES -A FORWARD -i $INTERFACE_INTERN -o $INTERFACE_EXTERN \ | --source 192.168.90.250/32 -j ACCEPT | $IPTABLES -A FORWARD -i $INTERFACE_EXTERN -o $INTERFACE_INTERN \ | --destination 192.168.90.250/32 -j ACCEPT | | $IPTABLES -t nat -A POSTROUTING --source 192.168.90.250/32 \ | -o $INTERFACE_EXTERN -j MASQUERADE `---------------------------------------------------------------- Ich glaube, Dir fehlen die entsprechenden Forward-Eintraege, die IMHO erforderlich sind. Probiere es einmal aus. BTW: Ich wuerde gerne zur Diskussion stellen, ob meine aufgefuehrten Regeln als Sicherheitsloch einzustufen sind? Ganz wohl ist mir bei den Regeln naemlich nicht, doch brauchte ich diese Einstellungen fuer mein Windows, welches auf der gleichen Liste laeuft und mit welchem ich gelegnetlich Homebanking mache. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Hi On Monday, 22. April 2002 16:43, Peter Blancke wrote:
On Mon, Apr 22, 2002 at 15:28:15 +0200, Wolfgang Grüneberg wrote:
Das Masquerading funktioniert soweit auch, bis auf FTP! Früher mußte man das Modul ip_masq_ftp laden, damit FTP geht. Aber dieses Modul scheint es nicht mehr zu geben. Was muß man bei 7.2 tun, damit auch FTP über Masquerading geht?
Hast Du einen eigenen Kernel kompiliert? Sind da auch die Teile fuer Iptables mit reinkompiliert worden?
Ich komme mit folgenden Regeln wunderbar ueber meinen Router hinweg, auch und vor allem mit FTP.
Das hängt davon ab, ob du es mit aktivem oder passivem FTP versuchst. Zudem gibt es FTP-server die den ident-deamon abfragen wollen. Für aktives FTP braucht man auch wieder Kernelmodule. Die heißen: ip_nat_ftp, ip_conntrack_ftp und ip_conntrack
Diese sehen so aus (mein eigener PC hat die IP 192.168.90.250):
,----------------------------------------------------------------
| echo 1 > /proc/sys/net/ipv4/ip_forward | | $IPTABLES -A INPUT -i $INTERFACE_INTERN \ | --source 192.168.90.250/32 -j ACCEPT | $IPTABLES -A OUTPUT -o $INTERFACE_INTERN \ | --destination 192.168.90.250/32 -j ACCEPT | $IPTABLES -A FORWARD -i $INTERFACE_INTERN -o $INTERFACE_EXTERN | \ --source 192.168.90.250/32 -j ACCEPT | $IPTABLES -A FORWARD -i $INTERFACE_EXTERN -o $INTERFACE_INTERN | \ --destination 192.168.90.250/32 -j ACCEPT | | $IPTABLES -t nat -A POSTROUTING --source 192.168.90.250/32 \ | -o $INTERFACE_EXTERN -j MASQUERADE
`----------------------------------------------------------------
Ich glaube, Dir fehlen die entsprechenden Forward-Eintraege, die IMHO erforderlich sind.
Das hängt von der default Policy der FORWARD und OOTPUT Chains ab. Wenn die auf ACCEPT stehen, dann braucht er die nicht. Aber dein Regelsatz bewirkt fast das selbe wie die Policy ACCEPT. IMHO stehen aber die Policies per default auch schon auf ACCEPT.
Probiere es einmal aus.
BTW: Ich wuerde gerne zur Diskussion stellen, ob meine aufgefuehrten Regeln als Sicherheitsloch einzustufen sind? Ganz wohl ist mir bei den Regeln naemlich nicht, doch brauchte ich diese Einstellungen fuer mein Windows, welches auf der gleichen Liste laeuft und mit welchem ich gelegnetlich Homebanking mache.
Naja, da müßte irgendwo ne Regel mit -j DROP, -j REJECT oder ne default Policy DROP/REJECT stehen. Sonst ist halt alles offen.
Gruss
Peter Blancke Gruß zurück Axel
On Mon, Apr 22, 2002 at 15:28:15 +0200, Wolfgang Grüneberg wrote:
Das Masquerading funktioniert soweit auch, bis auf FTP! Früher mußte man das Modul ip_masq_ftp laden, damit FTP geht. Aber dieses Modul scheint es nicht mehr zu geben. Was muß man bei 7.2 tun, damit auch FTP über Masquerading geht?
Hast Du schon einmal ueber die alternative Verwendung eines Proxys fuer FTP nachgedacht? Zum einen gibt es ein Produkt von SuSE, http://www.suse.de/en/support/whitepapers/proxy_suite/index.html zum anderen gibt es das Produkt "ftp.proxy" http://ftp.daemons.de/ AFAIK sind beide Proxys gemaess GPL frei verwendbar. Respektive beim zweiten Produkt kann ich nicht sagen, ob es etwas taugt. Vielleicht hat das jemand in der Liste einmal ausprobiert, da wuerde mich ein Erfahrungswert interessieren. BTW: Ich persoenlich verfechte sehr gerne die Verwendung von Proxy-Servern. Jegliche Direktverbindung ins Netz ueber meinen Linux-Router ist mir immer ein wenig suspekt. Ich habe bei einem Proxy doch erheblich bessere Zugriffskontrolle. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Peter Blancke writes:
On Mon, Apr 22, 2002 at 15:28:15 +0200, Wolfgang Grüneberg wrote:
Das Masquerading funktioniert soweit auch, bis auf FTP! Früher mußte man das Modul ip_masq_ftp laden, damit FTP geht. Aber dieses Modul scheint es nicht mehr zu geben. Was muß man bei 7.2 tun, damit auch FTP über Masquerading geht?
Hast Du schon einmal ueber die alternative Verwendung eines Proxys fuer FTP nachgedacht? Zum einen gibt es ein Produkt von SuSE,
http://www.suse.de/en/support/whitepapers/proxy_suite/index.html
zum anderen gibt es das Produkt "ftp.proxy"
AFAIK sind beide Proxys gemaess GPL frei verwendbar.
Respektive beim zweiten Produkt kann ich nicht sagen, ob es etwas taugt. Vielleicht hat das jemand in der Liste einmal ausprobiert, da wuerde mich ein Erfahrungswert interessieren.
BTW: Ich persoenlich verfechte sehr gerne die Verwendung von Proxy-Servern. Jegliche Direktverbindung ins Netz ueber meinen Linux-Router ist mir immer ein wenig suspekt. Ich habe bei einem Proxy doch erheblich bessere Zugriffskontrolle.
Gruss
Peter Blancke
Grundsätzlich ist Proxy eine schöne Lösung (auch aus Sicherheitsgründen), aber auch über Masquerading ist der Zugriff möglich. Hierzu müssen alle Verbindungen von Port 20 auf Highports zugelassen werden. iptables -A INPUT -p tcp -s 0/0 --sport 20 --dport 1024: -j ACCEPT Damit sollte das Problem schon gelöst sein... MfG Hagen
participants (4)
-
Axel Heinrici
-
mailinglists
-
Peter Blancke
-
Wolfgang Grüneberg