Important note about SSL VPN compatibility for 20.0 MR1 with EoL SFOS versions and UTM9 OS. Learn more in the release notes.

This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

FTP over DNAT

Hallo zusammen, wieder mal ne Frage

Bis jetzt konnte ich alles lösen bis auf kleinikeiten, Zeit :-)

Zum Problem möchte ein FTP Server nach draussen stellen. Habe einfach den Port 21 per DNAT eingstellt.

Von aussen komme ich mit einem FTP Client nicht zu request error.

Per IE gehts eine weile danach kommt das Login.

Was ist hier noch nicht korrekt eingestellt.

Danke

Gruss Manuela


This thread was automatically locked due to age.
Parents
  • Wikipedia: FTP:
    Zum Senden und Empfangen von Dateien sowie zur Übertragung von Verzeichnislisten (der Standard-Port dafür ist Port 20) wird pro Vorgang jeweils eine separate TCP-Verbindung verwendet.

    Also musste man vielleicht port 20 auch öffnen.  Hast du für die DNAT 'Auto-packet filter' geklickt?

    CHeers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • Also der IE verwendet standardmäßig aktives FTP, da reicht dann DNAT für Port 21. Für Port 20 braucht man kein DNAT, da dieser Port ausgehend genutzt wird (Packetfilter-Ausnahme aber sehrwohl).

    Die meisten anderen FTP Clients haben jedoch passives FTP als Standardeinstellung. Damit Du also FTP allgemein auch mit anderen Clients nutzen kannst ohne speziell am Client was einstellen zu müssen, müsstest Du auch DNAT für den PASV Port-Range des FTP-Servers machen. Also erstmal schauen, welchen Portrange der Server für passives FTP hat und dafür dann ebenfalls DNAT machen.
Reply
  • Also der IE verwendet standardmäßig aktives FTP, da reicht dann DNAT für Port 21. Für Port 20 braucht man kein DNAT, da dieser Port ausgehend genutzt wird (Packetfilter-Ausnahme aber sehrwohl).

    Die meisten anderen FTP Clients haben jedoch passives FTP als Standardeinstellung. Damit Du also FTP allgemein auch mit anderen Clients nutzen kannst ohne speziell am Client was einstellen zu müssen, müsstest Du auch DNAT für den PASV Port-Range des FTP-Servers machen. Also erstmal schauen, welchen Portrange der Server für passives FTP hat und dafür dann ebenfalls DNAT machen.
Children
  • Habe die Konfigs im Bild

    Im Internen Netz alles ok. Von aussen Geht es nicht mit dem LeechFTP.

    Mit dem IE muss man 4-6 min warten für das Login Fenster.

    Danke um Hilfe Gruss Manuela
  • Entschuldige bitte dass ich auf Englisch schreibe.

    I don't know what you have in the "Active FTP" service, but the standard definition for "FTP" is '1:65535 -> 21'.

    I think it's clearer when you don't use the automatic PF rules in DNAT.  To allow Active FTP traffic, you need two packet filter rules:

    [LIST=1]
    • 'Any' -> [Port 21] -> [FTP Server] : 'Allow'

    • [FTP Server] -> [Port 20] -> 'Any' : 'Allow'
    [/LIST]

    If you are using Passive FTP on your FTP Server, then you need to add another PF rule for those "inbound" ports; this rule will look like Rule 1 above.  And, as Mario points out below, you would need a second DNAT for that traffic.

    Cheers - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • In any case, you only need one DNAT rule that redirects Port 21 traffic.


    Das ist nicht richtig.

    Ein im PASV-Modus arbeitender FTP-Server gibt per PASV-Befehl dem Client seine lokale IP und einen zufällig aus dem PASV-Range selektierten Port, auf dem er für den Client lauscht. Schau dazu einfach mal in das FTP-Log am Client. Eine solche Zeile sieht im ungünstigsten Fall so aus:

    227 Entering Passive Mode (127,0,0,1,192,52)


    Die 192 wird mit 52 multipliziert und ergibt den Port, den der Server ausgewählt hat.

    Das Problem hierbei ist, dass bei den meisten Setups von DNAT der Server eine private IP hat. Diese übermittelt der Server dem Client. Diese IP kann der Client jedoch nicht erreichen (private IPs werden nicht übers Internet geroutet).

    Es ergeben sich daher 2 Probleme die es zu lösen gilt:

    1. Der FTP-Server übermittelt dem Client für PASV seine private IP
    2. Der FTP-Server sucht sich zufällig aus seinem PASV-Portrange einen Port aus

    Folgendes ist daher erforderlich:
    1. FNAT oder die Möglichkeit, am FTP-Server die öffentliche IP einzustellen die er für PASV verwenden soll und dann DNAT für Port 21
    2. DNAT für den PASV-Portrange (TCP), der am FTP-Server festgelegt sein muss

    Neben F/DNAT müssen natürlich auch die Packetfilterregeln entsprechend konfiguriert sein (Oder Auto-Packetfilter).

    Für Windows kenne ich Serv-U, der entsprechend konfiguriert in diesem Setup gut funktioniert.

    In case you need an english description, I recommend http://www.ncftp.com/ncftpd/doc/misc/ftp_and_firewalls.html#PASVNATProblems
  • Of course!  Thanks, I will correct my post. - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • ich nutze den Open Source Server FileZilla FTP für meinen win2k3 server.

    wie im Bild unten zu sehen, hab ich die Regel änlich. Probier es mal ob es mit External Network besser klappt als mit External Adresse. die Packetfilter regeln erlauben NUR Port 21 ein und ausgehend, bezüglich des FTP Servers.

    habe ihn über DNAT natürlich über einen anderen Port von außen erreichbar gemacht, da ich ständig leute bei mir habe, die per Bruteforce versuchen auf den FTP Server zu kommen... daher ist mein Server auf Port 2***x erreichbar, intern aber über 21
  • Dies:

    'Any' -> [Port 21] -> [FTP Server] : 'Allow'

    [FTP Server] -> [Port 20] -> 'Any' : 'Allow' 

    Plus die eigene Einstellungen wie im Bild. Jetzt ist OK

    Wie sicher ist das?

    Gruss Manuela
  • Mehr sicher wär's wenn [FTP Server] in einer DMZ stand.
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • Der FTP Server ist in einer DMZ sog. Secure Zone wie Mail und Webserver.

    Gruss M
  • Besser kann man nicht!  Freut mich daß ich ein bißchen helfen könnte.

    Gruß - Bob
     
    Sophos UTM Community Moderator
    Sophos Certified Architect - UTM
    Sophos Certified Engineer - XG
    Gold Solution Partner since 2005
    MediaSoft, Inc. USA
  • Mehr sicher wär's wenn [FTP Server] in einer DMZ stand.


    und noch sicherer wenn du FTPS/FTPES nutzt [;)] und das ganze von außen her nicht über port 21 laufen lässt [[:)]]

    aber super das alles geklappt hat [[:)]]