• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

dyndns FTP-Server Fritz-Box einrichten

bine

Lounge-Member
In Verbindung mit Serv-U möchte ich einen FTP-Server einrichten um Kunden einen Zugang zu einem reservierten Verzeichnis meiner Festplatte einzurichten.

Zunächst habe ich bei Dyndns.org einen Account angelegt und mir einen Account XXX.dyndns.org eingerichtet.

FritzBox 7050 ist mein Router

hier habe ich:
Unter Einstellungen > Internet > DynamicDNS
Dynamic DNS benutzen angehakt
DNS Anbiete dyndns.org
Domainname XXX.dyndns.org
Benutzername
Kennwort

Außerdem:
Portfreigabe FTP TCP-Protkoll Port 21 an die feste IP-Adresse meines Rechners.

--------------

Windows Firewall ist aus.
Fritz-Protect und die Sygate Firewall ist so konfiguriert das ich vor Ereignissen gefragt werde.

--------------
Die Domainkonfiguration in Serv-U
nutzt jede verfügbare IP Adresse und
DynamicDNS verwenden ist angehakt
und die Zugangsdaten zu dyndns hinterlegt

Es wird auch brav die bei jedem Netz-Neustart wechselnde IP Nr. erkannt und übernommen.

Außerdem habe ich einen Benutzer angelegt, dem lediglich nach der Eingabe eines Passwortes (also kein anonymer) der Zugang zu einem bestimmten Verzeichnis auf meiner Festplatte erlaubt ist. Der Benutzer hat keine Administratorrechte.

Nun sollte eigentlich der benutzer sein bevorzugtes FTP-Prog verwenden können um
nach Angabe von Host: XXX.dyndns.org
Benutzername und Passwort

an mein Verzeichnis zu kommen.

Aber leider kriegt der keine Verbindung :(

ping auf die XXX.dyndns.org funktioniert einwandfrei.

Von einem Rechner, der ebenfalls meinen Router verwendet, jedoch nicht per Heim-Netzwerk verbunden ist funktioniert der FTP-Zugang.

Aber von Außen nicht.
Selbst wenn ich und auch der Benutzer alle Firewalls ausschalten gehts nicht.

Woran kann es liegen das man von Außen nicht durchkommt?
 
[...]möchte ich einen FTP-Server einrichten um Kunden einen Zugang zu einem reservierten Verzeichnis meiner Festplatte einzurichten.
Wenn ich's mir so überlege: Ich würd's so nicht machen.
Die Risiken wären mir einfach zu hoch.
Mit genügend Webspace kannst Du den Kunden auch so ein geschütztes Verzeichnis zugängig machen.
Aber das ist nur meine bescheidene Meinung...
 
Was die Risikoeinschätzung angeht, so stimme ich dkdenz zu. Deine IP ist zwar über einen "geheimen" Namen für Deine Kunden erreichbar, aber den Namen braucht ein Angreifer nicht, um wahllos IP Adressen auszuprobieren. Und der Port ist nach aussen hin offen, d.h. jeder der auf Deiner derzeitigen IP Adresse ein FTP probiert wird mit einem FTP Login zur Eingabe eines Passwortes aufgefordert. Und wenn der Server dann auch noch unter Windows läuft, dann braucht es nur eine Sicherheitslücke, um das System völlig unter die Kontrolle des Angreifes zu stellen. Unter Linux oder BSD hätte man zumindest die Möglichkeit das Ding in einer chroot oder jail Umgebung laufen zu lassen.
Der Einsatz einer virtuellen Machine ala vmware wäre für eine Windows Lösung eher anzuraten, aber das frisst Resourcen.

Zum technischen:
FTP Server, bzw. Verbindungen dahin funktionieren in zwei Phasen. Außerdem gibt es zwei Modi aktive und passive Verbindungen.
Phase 1: Der Client baut eine Verbindung zum Server zu Port 21 auf. Dies ist der well-known Port für FTP. Der Client bekommt dabei von seinem Betriebssystem einen zufälligen, i.d.R. aber aufsteigend durchnummerierten, Port > 1024 zugewiesen. Diese Verbindung wird zum Aushandeln des weiteren Vorgehens und zur Übertragung der Steuerkommandos verwendet. Dabei wird festgelegt, ob die Verbindung aktiv oder passiv sein soll.
Phase 2: Sobald Daten übertragen werden müssen (evtl. auch schon früher) wird die Datenverbindung aufgebaut. Dies erfolgt entweder aktiv oder passiv. Der Unterschied zwischen beiden ist dabei, wer die Datenverbindung aufbaut.
Bei einer aktiven FTP Verbindung versucht der FTP-Server von seinem Port eine TCP Verbindung 20 Richtung Client aufzubauen. Er verwendet dabei den vom Client zuvor genannten Port > 1024. Der Client muss also die Verbindung des Servers entgegennehmen können.
Bei einer passive FTP Verbindung nennt der Server dem Client einen Port > 1024 und dieser baut eine zweite TCP Verbindung zum Server auf genau diesem Port auf. Diesmal ist es der Server der die Verbindung entgegennehmen muss.
Wenn die Daten-Verbindung steht, können Dateien übertragen werden.

Grob gesagt definieren aktiv und passiv welche Seite ein Problem mit NAT und Firewalls haben wird.
Bei einer aktiven Verbindung muss der Firewall / NAT des Benutzers die Daten-Verbindung zulassen.
Bei einer passiven Verbindung muss der Firewall / NAT des Servers die Verbindung des Clients zulassen.
Wenn beide hinter einer Firewall / NAT sind, dann wirds schwierig.


Dein Problem hört sich so an, als ob ihr noch nicht einmal über Phase 1 hinauskommt. Leider wird die Beschreibung hier etwas schwammig.
Zunächst einmal sollte die Konnektivität sichergestellt sein.
Ein "Ping xxx.dyndns.org" vom Kunden aus sollte dies anzeigen.
Ein "Telnet xxx.dyndns.org 21" sollte die Verbindung zum Server herstellen (ohne den Datenpart). Dies sollte auch im Serverlog auftauchen. Dort kann man dann auch Befehle ala "USER benutzername" und "PASS passwort" eingeben, was mit entsprechenden Meldungen im Telnet Fenster und im Serverlog quittiert werden sollte (gfs. Loglevel des Servers hochdrehen).
Wenn das klappt, dann "Hallo Phase 2". Diese kann man bei Doppel-NAT Firewall nur lösen, wenn man den FTP-Server dazu bringt nur passive Verbindungen zuzulassen und diese nur in einem bestimmten Portbereich durchzuführen, den man dan ebenfalls auf dem Firewall / NAT freigeben/durchreichen muss. Dann könnte es klappen.
 
aha,

An der Firewall konnte es eigentlich hier nicht liegen, weil wir beide unsere Firewalls zum testen ausgeschaltet hatten. Was natürlich kein praktikabler Zustand sein soll.

Jetzt ist mir das zu interessant um es aus Sicherheitsgründen nicht weiter auszuprobieren. Der Server liefe ja auch nur nach vorheriger Absprache und bis zur download-Complete Meldung des Kunden und wird nicht dauerhaft laufen.

Natürlich hab ich im Hinterkopf das man den für andere Zwecke auch längerfristig laufen lassen könnte, aber dann würd ich wohl einen extra Rechner hierfür verwenden.

Dies ist für mich mal ein Anfang mich ernsthaft mit der Thematik zu beschäftigen. Ich spring ja gerne mal ins kalte Wasser. Wenns zu frostig wird bzw. wenns meine Hirnwindungen zu stark überfordert pack ich den Kram eben wieder ein.

Wenn man den FTP-Server dazu bringt nur passive Verbindungen zuzulassen und diese nur in einem bestimmten Portbereich durchzuführen, den man dan ebenfalls auf dem Firewall / NAT freigeben/durchreichen muss. Dann könnte es klappen.

Inzwischen hab ich mir auch GuildFTP und Jana-Server mal oberflächlich angesehen. Beim rundlesen in relevanten Foren bin ich auch auf den Punkt der passiven Verbindungen gestossen.

In Serv-U kann man auch Access-Regeln für bestimmte IPs einrichten.

Also ich prüfe dann nochmal die Funktion ping und telnet von aussen um hier sicherzugehen und phase 1 erfolgreich abschließen zu können.

ping funktionierte gestern jedenfalls von außen.

PS: meine Beschreibungen sind deshalb so schwammig weil ich noch nicht durchblicke. Danke schonmal für die verständliche Beschreibung des Ablaufs.
 
Zuletzt bearbeitet:
Du behauptest, ihr hättet beide eure Firewall abgestellt. Diese Behauptung ist leider falsch!
Der Grund ist folgender:
Zumindest Du hast mindestens zwei Firewalls an und so wie ich das lese kommen nochmal zwei dazu. Also hast Du sogar vier!!
Dein Kommunikationspartner hat vemutlich ebenfalls mindestens zwei.

Jetzt willst du sicherlich wissen, wie meine Zählweise ist, oder wie ich darauf komme, dass Du zwei, bzw. vier Stück hast.
Nunja zunächst gibt es die offensichtliche, die Windows Firewall, die bei Windows XP ab SP2 eingebaut ist und welche Du testweise abgeschaltet hast. Das ist zum Testen sicherlich ok und verringert Dein Problem um eine Unbekannte.
Firewall Nummer 2 und 3 hast Du selbst als "Fritz-Protect" und "Sygate Firewall" genannt (ich kenne beide Programme nicht, weiß auch nicht, was Fritz-Protect macht, gehe aber davon aus, dass es Firewall ähnliche Funktionen übernehmen soll).
Bleibt noch einer: der große Unbekannte. Dieser Unbekannte findet ebenfalls in Deinem ersten Posting Erwähnung. Es ist die Fritzbox selbst. Sie enthält einen Firewall und nimmt ein NAT vor, welches Du über das Webinterface unter Port-Weiterleitung konfiguriert hast. Es kann niemand eine spontane, direkte Verbindung aus dem Internet zu Deinem Rechner herstellen, wenn die Firewall der Fritzbox das abblockt.
Wenn Du also nicht Deinen Rechner direkt ans Internet gehängt hast und dann alle drei Softwarefirewalls ausgeschaltet hast, ist die Behauptung, dass Du den Firewall komplett ausgeschaltet hast falsch.

Dein Gegenüber wird sicherlich über ein ähnlich komplexes Setup verfügen, so dass auch hier der Rechner, von dem aus die FTP Aktion gestartet werden soll, keine direkte IP Adresse des Internets, bzw. seines Providers hat.

Bevor Du jetzt auf dumme Gedanken kommst, und Dein Setup soweit umbauen willst, dass Dein Rechner direkt am Internet hängt, sich selbst rauswählt und die IP Adresse Deines Providers annimmt, sei gewarnt: Es gibt eine Studie nach der ein ungepatchter, ungesicherter PC direkt am Internet, ohne Zutun des Benutzers, im Schnitt innerhalb von ca. 5 Minuten mit dem ersten Schädling infiziert wird. Diese Studie ist schon ein paar Monate alt.


Nochmal zum Ping:
Das Ping prüft nur, ob das dyndns eine IP Adresse auflöst und ob man von aussen diese IP Adresse anpingen / erreichen kann. Das Ping geht dabei aber _nur_ bis zur Fritzbox, es geht nicht an Deinen Rechner durch! Auch wird nicht sichergestellt, dass die IP Adresse die dyndns zurückliefert und die es dann erfolgreich angepingt hat auch Deine Fritzbox ist. Die IP Adresse muss man manuell überprüfen, sprich am Telefon vorlesen lassen und mit der Adresse in der Fritzbox Web-Übersicht vergleichen.
Das Telnet dagegen geht, oder sollte gehen, bis zu Deinem Rechner durch. Wenn dort dann erscheint "Hallo hier ist der FTP Server <name> es ist <soundsoviel> Uhr, usw.....", erst dann ist Phase 1 geschafft.
 
Bevor Du jetzt auf dumme Gedanken kommst, und Dein Setup soweit umbauen willst, dass Dein Rechner direkt am Internet hängt, sich selbst rauswählt und die IP Adresse Deines Providers annimmt,
hm hm, also ich wüßte jetzt nicht wie ich das einrichten könnte. Es sei denn ich täte es ohne zu wissen das ich selbiges getan habe, was mir hoffentlich nicht gelingt.

Das der sich selbst rauswählt will ich ja auch nicht, sondern das er Jemand bestimmtes reinläßt.

ja, Fritz-Protect arbeitet wie eine zusätzliche Firewall und fragt alle Verbindungen ebenso erstmal ab.

Ich kam gedanklich erstmal auf Drei Firewalls, Windows Firewall, Fritz Protect und Sygate. Und die hatten wir halt alle mal ausgeschaltet.

Fritzbox selbst enthält einen Firewall und nimmt ein NAT vor, welches Du über das Webinterface unter Port-Weiterleitung konfiguriert hast.

Fritz-Box selbst... ja Unbekannte.
Die bereits vorhandene Port-Weiterleitung sieht ja so aus:
FTP-Server TCP Port21 xxx.xxx.xxx.xx Port21
und sorgt dafür das überhaupt eine FTP-Verbindung stattfinden kann.

xxx.xxx.xxx.xx steht hier stellvertretend für meine feste IP-Nr. die ich kriege wenn ich selbst meinen Rechner anpinge. Die feste IP ist nicht identisch mit der IP-Nr. welche per dyndns der Fritz-Box zugeordnet wird.

Aber diese feste IP ist es doch wohl, welche von Aussen erreicht werden muß.

Wenn ich jedenfalls von einem Rechner aus der nicht im Heimnetzwerk aber die gleiche Internetverbindung wie mein Rechner benutzt per FTP meine feste IP-Adresse als Host wähle habe ich problemlosen FTP-Zugang mit dem entsprechenden Benutzernamen und Kennwort.

Die Firewall des Benutzers dürfte doch eigentlich gar nicht das Problem sein, wenn der grundsätzlich ein FTP Programm benutzen kann und über Angabe eines Hosts nämlich in diesem Fall über Port 21 und Benutzername und Passwort Verbindung zu irgendeinem Server aufnehmen kann.

Die IP Adresse muss man manuell überprüfen, sprich am Telefon vorlesen lassen und mit der Adresse in der Fritzbox Web-Übersicht vergleichen.

Haben wir verglichen und auch über die direkte Angabe dieser zeitlich begrenzten IP-Adresse eine Verbindung herzustellen versucht. [edit: Wobei es ja eigentlich schnurzpiepe sein müsste ob ich die xxx.dyndns.org Adresse oder die dazugehörige IP benutze. Ich dachte das wird dann irgendwie translated um letztendlich an meiner feste IP zu landen.[/edit]

Mit zeitlich begrenzte IP-Adresse meine ich: Fritzbox verwendet bei jeder Einwahl eine andere IP-Nr. Diese neue IP-Adresse wird jedoch von dyndns erkannt, weil die Verwendung von dyndns und die Zugangsdaten zu dem Account in der Fritz-Box Konfiguration hinterlegt wurden.

Da will ich meinen, das - wenn xxx.dyndns.org als FTP host angegeben wird, man auch auf der aktuellen IP landet.
 
Zuletzt bearbeitet:
Das Server logfile spricht folgendes: (IP-Adressen geändert auf xxx01 und xxx02 wobei xxx01 meiner festen IP und xxx02 der dyndns (in Fritzbox hinterlegten) IP entspricht

[1] Sun 28Jan07 22:03:31 - Starting FTP Server...
[1] Sun 28Jan07 22:03:33 - FTP Server listening on port number 21, IP xxx.xxx.xxx.01, 127.0.0.1
[1] Sun 28Jan07 22:03:33 - UPnP: Found device: AVM: FRITZ!Box Fon WLAN 7050 UPnP/1.0 AVM FRITZ!Box Fon WLAN 7050 (UI) 14.04.26 (on xxx.xxx.xxx.01 subnet)
[1] Sun 28Jan07 22:03:33 - UPnP: Inspecting device: AVM: FRITZ!Box Fon WLAN 7050 UPnP/1.0 AVM FRITZ!Box Fon WLAN 7050 (UI) 14.04.26 [xxx.xxx.xxx.02] (on xxx.xxx.xxx.01 subnet)
[1] Sun 28Jan07 22:03:33 - UPnP: Device discovery complete: AVM: FRITZ!Box Fon WLAN 7050 UPnP/1.0 AVM FRITZ!Box Fon WLAN 7050 (UI) 14.04.26 [xxx.xxx.xxx.02] (on xxx.xxx.xxx.01 subnet)
[1] Sun 28Jan07 22:03:34 - UPnP: Error mapping port 21 to IP xxx.xxx.xxx.01 (HTTP: 500 - UPnP: 403 - Desc: Invalid Action)
[1] Sun 28Jan07 22:03:34 - UPnP: Error mapping ports 44500-44501 to IP xxx.xxx.xxx.01

letzeres scheint mir hier beachtenswert.
UPnP: Error mapping ports 44500-44501 to IP xxx.xxx.xxx.01

[edit: es hört sich alles so einfach an:
[/quote]Netzwerkprotokoll - Wikipedia
die Sache mit dem Client-Server-System
[/quote]
 
Zuletzt bearbeitet:
Die beiden letzten Zeilen sind sicherlich das Problem. Er kann anscheinend überhaupt keinen Port auf dem Netzwerkinterface öffnen. Was das heißt und wie es zu lösen ist, weiß ich nicht. UPnP verwende ich nicht und ich spreche weder Ungarisch: Nem megy az UPNP ? - Tudástár - PC Fórum, noch Spanisch: Comentaios de Manual


Die Firewall des Benutzers dürfte doch eigentlich gar nicht das Problem sein, wenn der grundsätzlich ein FTP Programm benutzen kann und über Angabe eines Hosts nämlich in diesem Fall über Port 21 und Benutzername und Passwort Verbindung zu irgendeinem Server aufnehmen kann.
Sie ist kein Problem, wenn passives FTP verwendet wird. Was bei allen bisher erfolgreichen Verbindungen des Benutzers der Fall gewesen sein dürfte.

Mit zeitlich begrenzte IP-Adresse meine ich: Fritzbox verwendet bei jeder Einwahl eine andere IP-Nr. Diese neue IP-Adresse wird jedoch von dyndns erkannt, weil die Verwendung von dyndns und die Zugangsdaten zu dem Account in der Fritz-Box Konfiguration hinterlegt wurden.

Da will ich meinen, das - wenn xxx.dyndns.org als FTP host angegeben wird, man auch auf der aktuellen IP landet.
Die IP Adresse der Fritzbox wird nicht von ihr vergeben, sondern wird vom Provider (T-Online, Telekom, 1&1, usw.) zugewiesen und beim Einwahlvorgang übertragen. Schließlich muss der Provider wissen wohin er die Pakete packen soll, die für Dich bei ihm ankommen.

Dyndns funktioniert so, dass der Benutzer bei jedem IP Adressenwechsel, d.h. bei jeder Einwahl, ein Script oder Programm ausführt. Dieses Programm kennt die Logindaten und teilt dem Dyndns Server mit, welche IP Adresse nun für den Account zu verzeichnen ist. Wird dies nicht gemacht, bleibt der alte Eintrag bestehen. Wenn Du also gestern 1.2.3.4 hattest und Dich heute neu einwählst, und dabei die Adresse 1.2.3.5 bekommst, aber dyndns nicht darüber informierst, dann wird jeder der ping xxxx.dyndns.org aufruft, die Adresse 1.2.3.4 bekommen. Dyndns verfolgt nicht, ob Deine Adresse sich ändert, wenn Deine Fritzbox sich dort nicht meldet, oder die Anmeldung fehlschlägt, dann bist Du nicht erreichbar, weil die Anfragen an einen falschen Rechner gehen. Das Überprüfen der richtigen IP Adresse ist also durchaus sinnvoll.
 
Zurück
Oben