OPNsense Forum

International Forums => German - Deutsch => Topic started by: ChrisChros on November 16, 2022, 06:39:40 AM

Title: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: ChrisChros on November 16, 2022, 06:39:40 AM
Hallo zusammen,

ich muss von unserem Netzwerk aus eine FTP Verbindung zu einem Kundenserver aufbaue, dieser verwendet FTP over SSL. Vom Kunden habe ich eine Port-rang genannt bekommen, zum einen die standard FTP-Ports 21, 22 und 49152-49160.

Das Plugin FTP-Proxy ist bereits soweit eingerichtet für normale FTP Verbindungen. Wie kann ich es nun bewerkstelligen das ich auch eine FTPS-Verbindung zu dem Server aufbauen kann?
Kann ich es über eine NAT-Regel bewerkstelligen vergleichbar zu jener die ich bereits für normale FTP-Verbindungen eingerichtet habe?
Firewall->NAT->Port Forward:
   Interface: LAN
   Destination: any
   Destination port range: 49152 - 49160
   Redirect target IP: 127.0.0.1
   Redirect target port: (other) 8021

Danke für eure Unterstützung.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Layer8 on November 16, 2022, 12:21:23 PM
Hi,

wenn die Verbindung zu dem FTP Server im Passivmodus erfolgt, baut dein Client alle Verbindungen zum FTP-Server auf (sowohl controle als auch data verbindung).

Wenn du im Aktiv-Modus verbindest, müsstest du Portforwards auf deinen Rechner auf dem der FTP-Client läuft einrichten.

Ich empfehle dir, den Passiv-Modus zu nutzen.

Du musst dann nur erlauben, dass die IP von deinem FTP-Client mit den von dir aufgezählten Ports über TCP verbinden darf. Dann sollte es gehen.

Ich denke der FTP-Proxy ist in diesem Fall nicht hilfreich, da der wahrscheinlich nicht in der Lage ist, in eine SSL-Verbindung reinzuschauen.

Grüße
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: ChrisChros on November 16, 2022, 12:40:17 PM
Danke für die Rückmeldung.
Wäre die Forward-Regel soweit richtig?
Als NAT habe ich die IP-Adresse des FTP-Client eingetragen

Aktuell nutze ich für normale ungesicherte FTP-Verbindungen noch den ftp-proxy, entsprechend dieser Anleitung eingerichtet.
https://forum.opnsense.org/index.php?topic=3868.0

Sollte dieser dann besser deaktiviert werden?
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Layer8 on November 16, 2022, 01:58:56 PM
An der NAT-Regel für Aktiv-Verbindungen ändert sich zwischen FTP und FTPS-Verbindungen nichts.

Es ist aber wichtig zu wissen, dass bei Aktiv-Verbindungen auf deinem Rechner, auf dem der FTP-Client läuft, die Ports belegt werden können und dein FTP Programm nicht zwei mal zur selben Zeit gestartet werden kann.

Wenn dein FTP-Programm mehrere Sessions in einer Instanz zulässt, könnte das aber egal sein. Dann besteht die Möglichkeit, dass dein FTP-Client die verfügbaren Ports für Aktiv-Verbindungen für alle Verbindungen verwaltet.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: ChrisChros on November 16, 2022, 03:47:07 PM
Hallo Layer8,

ich habe die Regel wie oben gezeigt aktiviert. FTP-Proxy war auch noch gestartet inkl. der entsprechenden NAT Port Forward Regel.
Leider bekomme ich keine Verbindung zu dem Server aufgebaut.

Als Client nutze ich FileZilla. in den Verbindungseinstellungen stand es auf Standard, aber auch im passiv modus keine Verbindung.
Auf die Server-Seite habe ich keinen Einfluss.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Layer8 on November 16, 2022, 04:44:28 PM
Das sieht nach einem Verschlüsselungsfehler aus. Nutzt du die aktuelle Filezilla-Version?

Die Aktiv oder Passiv Verbindung kommt erst zum tragen, wenn ein Verzeichnisinhalt aufgelistet werden oder eine Datei hoch- bzw. runter geladen werden muss. Das ist in jedem Fall erst nach dem erfolgreichen Login möglich.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: ChrisChros on November 16, 2022, 07:49:27 PM
Der FZ Client ist in der neuesten Version installiert.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: micneu on November 16, 2022, 08:55:41 PM
@ChrisChros könnt ihr nicht mit dem betreiber des FTPS server sprechen, wir haben bei uns komplett auf SFTP umgestellt damit halt unsere kunden und dienstleister nicht so ein murks machen müssen (ist nicht mehr zeitgemäß)
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: ChrisChros on November 16, 2022, 09:07:42 PM
Es wurde schon mir Ihm gesprochen, allerdings ist eine sftp-Verbindung ca. halb so schnell wie die ftps-Verbindung.
Für den Kunden hat die Geschwindigkeit eine größere Priorität als die sicherere Verbindung. Ist leider nicht zeitgemäß.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Patrick M. Hausen on November 16, 2022, 09:49:53 PM
Was sind das für Geräte, die eine beliebige Netzwerkverbindung per SSH nicht saturieren könnnen? Da ist irgendwas kaputt.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: ChrisChros on November 16, 2022, 09:58:40 PM
Die Frage kann ich dir leider nicht beantworten. Ich bin eigentlich auch der Meinung das halbwegs aktuelle Hardware kein wirkliches Bottleneck für eine sftp-Verbindung darstellen sollte.
Ich glaube es ist auch nicht wirklich ein Hardwareprobleme eher ein "Admin" Thema beim Kunden, ganz nach dem Motto, das haben wir schon immer so gemacht.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Layer8 on November 16, 2022, 10:26:40 PM
micneu: Wieso ist FTPS nicht mehr zeitgemäß? Klar, altes, einfaches protokoll, aber mit entsprechender Verschlüsselung ists doch auch sicher?
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Patrick M. Hausen on November 16, 2022, 10:29:23 PM
Die Trennung zwischen Command und Data Channel ist gaga. Und durch die Verschlüsselung kann ein NAT nicht mal mehr reingucken, um die richtigen Ports aufzumachen. Also kaputtes Design von FTP gekoppelt mit verunmöglichtem Workaround.
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Layer8 on November 16, 2022, 10:45:47 PM
Verstehe das Argument.

Ich halt mal dagegen: Wenn der Serverbetreiber seine Hausaufgaben gemacht hat, dann schaltet er nicht nur Port 21 frei sondern auch Port 20 (und wenn er lustig ist noch weitere). Dann ists auch egal, ob der Client hinter einer NAT sitzt, denn Passiv-Verbindungen gehen dann immer. Egal ob verschlüsselt oder nicht (sofern ausgehend Port 20 und 21 nicht gefiltert werden).

NAT hat übrigens auch nichts mit Verschlüsselung zu tun, denn NAT schaut nur auf den IP-Header und nicht auf den Payload.

Das trennen von Controle und Dataplane ist, wenn man sich mal EVPN oder ähnliches anguckt, übrigens wieder in Mode. :-)
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Patrick M. Hausen on November 16, 2022, 10:52:11 PM
Bei FTP lauscht ein NAT auf der Control Connection mit, um die PORT Kommandos abzufangen und auch im Active Mode dynamisch die Ports zu öffnen. Das geht bei FTPS nicht, weil die Control Connection verschlüsselt ist.

https://www.rfc-editor.org/rfc/rfc2663

Passive Mode klingt aus Client-Sicht erstmal gut, aber was, wenn der Server ebenfalls hinter einer NAT Firewall sitzt?

FTP ist kaputt.

Gruß
Patrick
Title: Re: Wie Verbindung zu einem FTPS Server außerhalb des Netzwerks aufbauen
Post by: Layer8 on November 16, 2022, 11:43:44 PM
Quote from: pmhausen on November 16, 2022, 10:52:11 PM
Bei FTP lauscht ein NAT auf der Control Connection mit, um die PORT Kommandos abzufangen und auch im Active Mode dynamisch die Ports zu öffnen. Das geht bei FTPS nicht, weil die Control Connection verschlüsselt ist.

https://www.rfc-editor.org/rfc/rfc2663


IMHO behandelt NAT nicht die Controleplane von FTP oder wertet diese aus. Die FTP-Commands spielen sich nämlich in der Applikationsebene ab und die wird für NAT IMHO nicht benötigt. Der NAT RFC beschreibt auch nicht wie diese Informationen gehandelt werden sollen, sondern geht nur auf die Problematik von FTP hinter NAT ein.

Wenn ein Router oder Firewall doch die Controleplane von FTP auswertet (Auswertung des Application Layers), dann ist das eine zusätzliche Implementierung vom Hersteller, hat aber nix mit NAT an sich zu tun.

Quote from: pmhausen on November 16, 2022, 10:52:11 PM

Passive Mode klingt aus Client-Sicht erstmal gut, aber was, wenn der Server ebenfalls hinter einer NAT Firewall sitzt?


Das ist aber ein allgemeines "Server befindet sich hinter NAT"-Problem und kann auf so ziemlich jedes Protokoll angewendet werden. Da hilft auch bei anderen Protokollen nur ein Portforward, Loadbalancing oder ähnliches.

Ein guter FTP Server kennt seine WAN-IP auch hinter NAT. Und die ganz guten kennen sogar immer die aktuelle WAN-IP an Anschlüssen mit dynamischer IP. Das war schon so, bevor man angefangen hat FTP mit SSL oder TLS abzusichern.


FTP ist nicht kaputter als es schon immer war. Man muss es nur richtig hinter NAT konfigurieren.