Webserver²

Ich habe bei NAT-Nur SUA folgendens eingegeben:

Erste Port Nr. Letzte Port Nr. IP Adresse
1.Alle Ports Alle Ports 0.0.0.0
(Das ist immer da und man kann das auch nicht ändern bzw.
nur die IP-Adresse, die Ports nicht)

Öhm.
Sicher?
Versuchs nochmal, (erst die IP-Adresse auf den Server legen, mit Okay bestätigen, Dialog erneut aufrufen - kann man jetzt die Ports einstellen?)
und wenn’s wirklich nicht geht, dann solltest du dir nochmal meinen vorletzten Beitrag durchlesen, wie man das Ding auf den richtigen Router umflasht. Oder gleich einen anderen holen.

Denn so wie du es oben beschrieben hast, kann es nicht gehen, weil kein Zielrechner eingestellt ist (anstatt der 0.0.0.0 muss da natürlich die IP des Servers stehen). Den Zielrechner dort einzutragen wär aber ausgesprochen dumm, weil dann alles (alle Ports) an diesen weitergeleitet wird.
Mal ganz davon abgesehen, das der Rechner damit nackt im Wind hängt, weil das auch alle Ports, über die Viren, Würmer und Trojaner hereinkommen, umfasst, kann es außerdem sein, das auch Antworten auf die Anfragen anderer Rechner im LAN zum Server kommen - womit der Router gar keine Funktion mehr erfüllen würde . . .

Schau nochmal nach, irgendwas stimmt mit der Router-Einstellung nicht.

Für die grundsätzliche Funktionsfähigkeit:
Online gehen, http://www.meineip.de aufrufen und diese notieren (das ist die IP, mit der das Internet dich wahrnimmt, also die, die dir dein Provider gegeben hat, nicht die deines Rechners!).
Dann gehst du rüber zum Nachbarn, öffnest bei diesem cmd und setzt mal einen Ping auf deine dynDNS-Adresse ab.

Wenn der Ping zurückkommt steht da auch die IP-Adresse des antwortenden Rechners. Die musst genauso sein wie die, die du vorher über meineip.de herausbekommen hast.

lg, mabuse

Soo…
http://svlfg.sv.funpic.de/server.pics/webserver.jpg
da kannst du alle Einstellungen nochmal sehen, ist einfacher als schreiben.

und wenn’s wirklich nicht geht, dann solltest du dir nochmal
meinen vorletzten Beitrag durchlesen, wie man das Ding auf den
richtigen Router umflasht. Oder gleich einen anderen holen.

Ich hab mir das schon angeguckt, da muss ich den aufschrauben und umlöten und sowas, da lass ich die finger von^^ und aufn neuen muss ich dann auch erstmal sparen… aber warum gehts denn nicht mit dem?! :open_mouth:^^

Wenn der Ping zurückkommt steht da auch die IP-Adresse des
antwortenden Rechners. Die musst genauso sein wie die, die du
vorher über meineip.de herausbekommen hast.

wenn ich das bei mir mache funktionierts mit richtiger IP etc. alles funkts.
Wenn ich das aber bei einem Freund mache zeigt der zwar meine IP an, aber es kommt dann Zeitüberschreitung…

Okay hat sich alles erledigt! ES FUNKTIONIIIIERT!!^^ ich hab nochmal nachgegooglet, ich hab voll vergessen die interne routerfirewall auszustellen…^^ soo, also weiter gehts xDD

ftp funkts auch.

ich hab mal zwei fragen…

  1. wie kann ich das machen das wenn ich mich auf meiner homepage hin und herbewege, nicht immer die einzelnen html dateien oben in der URL angezeigt werden, sondern IMMER nur meine homepage url?

  2. Wie kann ich die Auflistung von Verzeichnissen verweigern?
    Soll heißen wenn ich auf einzelne Ordner zugreifen möchte,
    z.b. „http: //[my hp]/images/“ dass der mir dann den Inhalt des Ordners nicht anzeigt?

Morgähn Ernie!

Erstmal herzlichen Glückwunsch zum laufenden Server!

ich hab nochmal nachgegooglet, ich hab voll vergessen die
interne routerfirewall auszustellen…^^ soo, also weiter gehts xDD

Huch?
Was’n das für’n dämlicher Router?
Bei mir funktioniert das Forwarding auch mit aktivierter Firewall . . .

ftp funkts auch.

Das glaub ich nicht.
Es funktioniert bei einem Besucher, der direkt (via DSL-Modem) mit dem Internet verbunden ist. Versuchs mal von einem Freund aus, der auch hinter einem Router sitzt, da wird’s nicht gehen.

  1. wie kann ich das machen das wenn ich mich auf meiner
    homepage hin und herbewege, nicht immer die einzelnen html
    dateien oben in der URL angezeigt werden, sondern IMMER nur
    meine homepage url?

Beispielsweise mit einem Frameset, da wird immer nur die URL des „Mutterframes“ angezeigt. Oder über php oder eine andere Scriptsprache.
Sowas wird heute aber eigentlich als schlechter Stil angesehen, weil dann z.B. Bookmarks auf eine Seite nicht funktionieren etc.

  1. Wie kann ich die Auflistung von Verzeichnissen verweigern?
    Soll heißen wenn ich auf einzelne Ordner zugreifen möchte,
    z.b. „http: //[my hp]/images/“ dass der mir dann den Inhalt
    des Ordners nicht anzeigt?
  1. Du kannst die Ordner sperren. Google mal nach „.htaccess“ (Punkt beachten!) Das ist einfach nur ne kurze Textdatei, in der drinsteht, wer was mit welchen Passwort darf.
  2. Du legt einfach eine index.html darein. Die wird immer aufgerufen, wenn man einen Ordner öffnet (nichts anderes ist die oberste Seite deiner Hompage). Da kann man dann irgendwas machen, oder „verboten“ reinschreiben, oder die klassische 404-Seite (Datei nicht gefunden) oder ganz simpel eine Weiterleitung auf die oberste Seite der Homepage.

So, ich such dir jetzt noch meinen Beitrag über paasives FTP heraus, damit du das auch noch ändern kannst, wenn du merkst, das es doch nicht geht, bzw. nicht immer.

bis später!
mabuse

FTP-Server (richtig) einrichten
Wenn man die gängigen Webseiten befragt, wird man erfahren, das ein FTP-Server die Ports 20 und 21 benutzt. Und das es bei einem Router bzw. einer Firewall genüge, den Port 21 freizugeben und auf den Rechner, auf dem der FTP-Server laufen soll, zu forwarden.

Ich will nicht sagen, das das völliger Schwachsinn ist - aber es ist leider nur ein kleiner Teil der Wahrheit. Denn wie jeder weiß, der dies einmal getestet hat: funktionieren wird’s so eher selten. Früher hat es sehr oft funktioniert, aber seit auch viele „normale“ User hinter einem Router/einer Firewall liegen, ist damit Schluß.

Um das Warum verstehen, und was man dagegen tun kann, benötigt man einen etwas tiefergehenden Einblick in die Abläufe eines FTP-Transfers:

Im ersten Schritt nimmt der Client mit dem Server auf Port 21 (oder welchen Port man auch immer im FTP-Server und im Client eingestellt hat) Kontakt auf. Dazu gehören neben der Anmeldung mit Usernamen/Passwort und der Überprüfung/Bestätigung, das der Server Resume-fähig ist, auch das Auskungeln der eigentlichen Datenverbindung. Der Port 21 ist nämlich ausschließlich für Kommandos da, der eigentliche Datentransfer läuft über einen anderen Port. Und da beginnen die Schwierigkeiten:

Es gibt zwei Möglichkeiten:

Beim aktiven FTP sagt der Client dem Server: Ich möchte die Daten auf dem Port x bekommen. x ist dabei ein ausgewürfelter Port zwischen 1024 und 65535. Daraufhin fängt der Server auf seinem Port 20 an, Daten (zuerst mal das Directory) an den gewünschten Port des Clients zu senden.
Sofern nun der Client hinter einem Router, einer Firewall oder einem Proxy-Server sitzt oder auch nur eine Software-Firewall installiert hat, werden diese Daten davon abprallen, weil es von diesen Geräten/Programmen als unerwünschte/unerwartete Verbindungsaufnahme aus dem Web gewertet werden wird. Sprich: es wird keine Verbindung zustande kommen.

Beim passiven FTP dagegen kündigt der Server dem Client an, auf welchen Port er die Daten zu senden wünscht. Der Client bestätigt die Empfangsbereitschaft durch das Senden einer kurzen Nachricht auf eben diesem vorgeschriebenen Port - womit er seiner Firewall/dem Router oder Proxy gleichzeitig klar macht, das Daten auf diesem Port von dem angesprochenen Server in den kommenden Minuten erwünscht sind und zu ihm weitergeleitet werden sollen.
Normalerweise sind auch dafür die Ports 1024-65535 vorgesehen, aber jede gute FTP-Server-Software lässt hier eine selber zu definierende Port-Range zu. Und das muss man auch unbedingt eingrenzen, denn genau diese Port-Range muss der geneigte Server-Betreiber wiederum in seinem Router forwarden, sonst wird es keine Verbindung geben. Klar, das man diese so klein wie irgendmöglich halten sollte, und möglichst nicht auf bekannte Ports irgendwelcher Trojaner legt!

Ausdrücklich, weil es da jede Menge Missinformation im Internet gibt:
Passives oder Aktives FTP hat nichts mit dem Datentransfer zu tun, es beeinflusst weder die Geschwindigkeit noch die Anmeldung. Es geht ausschließlich darum, welcher der beiden Rechner den Port für die Datenübertragung festlegt!
Dem Client ist das egal, der probiert im Normalfall erst mal aus, ob es mit passivem FTP klappt und benutzt aktives nur, wenn passiv vom Server abgelehnt wird.

Im Klartext: Aktives FTP ist für den Betreiber des Servers zwar sehr einfach einzurichten (Server installieren und Port 21 auf dem Router freigeben), aber für den Client wird dann kompliziert: Er müsste die entsprechenden Ports auf seinem Router freigeben, um zu einer Verbindung zu kommen.
Mal ganz davon abgesehen, das 90% aller User Deppen sind, denen ich das Einrichten eines Port-Forwardings gar nicht zumuten möchte, bleibt die Tatsache, das der Client einen beliebigen Port zwischen 1024 und 65535 auswürfelt. Wenn man die alle forwarden würde (und das müsste man!), könnte man auf seinen Router/seine Firewall auch gleich ganz verzichten - denn damit würden ja auch die ganzen Ports, über die sich Würmer und Trojaner fortpflanzen, wieder mit seinem Rechner verbunden. Alleine aus Sicherheitsgründen (nicht des Serverbetreibers, aber seiner Besucher) verbietet sich aktives FTP damit.

Passives FTP dagegen erfordert erst mal etwas Arbeit des Server-Betreibers: Man braucht zuallererst mal eine Server-Software, die sich auf passives FTP einstellen lässt - das kann bei weitem nicht jede! Definitiv funktionieren tut’s mit BulletProofFTP in der Version 2.3.1 - ältere Versionen können es nicht (alle).
Man muss dort seine Adresse eingeben (was wegen wechselnder IPs wieder nur mit einem DynDNS- oder NoIP-Account möglich ist) und die gewünschte Port-Range vorgeben und dann diese Port-Range im Router auf den Rechner mit dem FTP-Server forwarden.

Uns so geht’s im Einzelnen:

Software installieren (Administrator-Rechte nötig). Im Startmenü unter „Bullet Proof FTP Server“ den Unterordner „Administrative Tools“ und dort „Install Service“ starten. Damit startet der Server automatisch mit Windows. Dann muss man noch auf Laufwerk C: im Ordner Programme den Ordner des Programmes mit rechts anklicken und unter den Sicherheitseinstellungen den Benutzern Vollzugriff einräumen. BulletProof speichert in diesem Ordner seine Einstellungen ab - ohne diese Rechte einzuräumen läuft der Server nicht unter einem normalen Benutzer-Account.

Im BulletProof-Server muss man dann unter Einstellungen/Passive Mode den Passive Mode einschalten. Außerdem muss man dort die IP-Adresse des Servers angeben. Nicht die IP-Adresse im lokalen Netz, sondern die, unter der das gesammte Netz von Internet aus erreichbar ist. Sofern man von seinem Provider eine dynamische IP bekommt, die bei jeder Einwahl wechselt, muss man sich daher bei einem DynDNS-Provider wie no-ip.com oder dnydns.org eine entsprechende Adresse besorgen, also etwas wie: ich.no-ip.com oder ich.dyndns.org.
Nun, das muss man so oder so, da ja auch der Server als solcher unter ständig wechselnden IP-Adressen im Web steht. Erreichbar ist er dann unter

ftp://ich.dyndns.org

.

Diesen Namen muss man in der Dialogbox des Servers unter „Dynamic IP“ eintragen. Außerdem sollte man in dieser Dialogbox auch noch die Port-Range vorgeben. Dabei empfieht es sich, eher sparsam zu sein. Bei einem „normalen“ Home-FTP-Server braucht man nicht mehr Ports als sich User gleichzeitig anmelden dürfen (kann man normalerweise auch irgendwo einstellen). 10 Ports dürften für jeden normalen DSL-Anschluß mehr als genug sein. Also stellt man z.B die Ports 41000-41010 ein. Wer seinen FTP-Server tarnen möchte, sollte unter „General“ auch noch den Kommando-Port umstellen, also von 21 z.B. auf 40000 umstellen, um es Script-Kiddies, die nur nach FTP-Servern suchen, möglichst schwer zu machen.

Bild: http://img523.imageshack.us/img523/6364/ftp1hn9.gif

Nachdem man dies alles auf seinem FTP-Server eingestellt hat, muss man noch die entsprechenden Ports (im Beispiel also 40000 und 41000-41010) in seinem Router auf den FTP-Server forwarden.

Sinnvollerweise stellt man unter Einstellungen/General noch „Activate Server on Startup“ (damit der Server auch immer automatisch online geht) und „Put into Tray on Startup“ (damit er erst gar kein Fenster öffnet) ein. Dort wird auch der Kommdoport eingestellt.

Bild: http://img528.imageshack.us/img528/8070/ftp2zx4.png

Im Prinzip läuft der Server jetzt schon. Fehlen nur noch die Benutzer.
Je nachdem, was ihr so vorhabt, werdet ihr folgende Vorschläge vieleicht ganz nützlich finden:

  • Zuerst mal ein User Administrator, Vollzugriff auf die gesamte Festplatte. Zum aufräumen, verschieben, umkopieren. Auch lokal im eigenen Netzwerk ganz nützlich, weil FTP wesentlich weniger Protokoll-Overhead als die Windows-Freigaben hat. Gibt spürbar besseren Datendurchsatz und man kann sich das Windows-Netzwerk sparen (wodurch der Rechner im Netz unsichtbar wird). Ein kompliziertes Passwort benutzen!

  • Auch ganz nützlich: ein User torrent, Vollzugriff auf den Torrent-Automatic-Ordner. Um von außerhalb mal flugs einen Download anschubsen zu können.

  • Wer seinen Rechner mit VNC fernsteuern will und keine Möglichkeit hat, den Viewer auf irgendeiner Webseite mit einer einfach zu merkenden URL zu lagern, kann einen Ordner auf seinem FTP-Server dafür anlegen (nicht als Unterordner im FTP-Ordner! muss ja niemand sehen) und einen Benutzer „vnc“ mit Lese-Zugriff nur auf diesen Ordner anlegen. Damit kann man auf jedem (PC)-Rechner der Welt mit einem beliebigen Browser mit der URL

    ftp://vnc:stuck_out_tongue:[email protected]:ftp-port/viewer.exe

den Viewer starten.

  • Und dann halt User für Freunde oder Tauschpartner. Im Ordner „FTP-Server“ für die jeweilige Gruppe einen passenden Ordner anlegen und den Zugriff dadrauf freigeben. Oder einfach direkt auf den Ordner „FTP-Server“ Vollzugriff für alle.
    Mal kann sich natürlich mit Benutzern und Gruppen und Freigaben richtig einen abbrechen - aber wir werden ja (noch) keine Hunderte von Benutzern haben.

Bild: http://img251.imageshack.us/img251/5892/ftp3lu6.png

Und das war’s. Ab jetzt ist euer Server weltweit erreichbar, egal, ob der User hinter einer Firewall/einem Router sitzt, oder nicht. Vorraussetzung ist natürlich, das man im Server die entsprechenden User nebst Passwörtern anlegt und die DynDNS-Adresse sowie den Kommando-Port seines Servers den entsprechenden Leuten zukommen lässt.

Um noch ein kleines bischen Performance herauszuholen rate ich dazu, in den Einstellungen unter Logs/File alles abzuschalten. Gibt keinen Grund, alle Verbindungen und Aktionen mitzuschreiben. Unter Screen könnt ihr ein bischen spielen, das verursacht keine nennenswerte Last.


So, ich hoffe, das wird dir helfen, wenn’s mit der derzeitigen Methode nicht klappt :wink:
lg,
mabuse

ftp funkts auch.

Das glaub ich nicht.
Es funktioniert bei einem Besucher, der direkt (via DSL-Modem)
mit dem Internet verbunden ist. Versuchs mal von einem Freund
aus, der auch hinter einem Router sitzt, da wird’s nicht
gehen.

doch, wirklich, das war kein problem :wink:, ich hab via NAT auf port 21 auf meine ip verwiesen, XAMPP benutzt bei FTP das programm „FileZilla Server“
das funktioniert super, man kann ALLES voll easy einstellen, es hat bei zwei freunden funktioniert, und beide sind an nem router angeschlossen!

doch, wirklich, das war kein problem :wink:, ich hab via NAT auf
port 21 auf meine ip verwiesen, XAMPP benutzt bei FTP das
programm „FileZilla Server“

Ja, richtig, der macht auch den Passive Mode.
Ich würd allerdings nicht den Port 21 verwenden, da hast du zuviele Script-Kiddies, die auf der Suche nach ungeschützten FTP-Servern gante IP-Ranges abscannen.

Stell auf einen hohen Port um, das beruhigt die Sache ungemein.

lg, mabuse

Ich würd allerdings nicht den Port 21 verwenden, da hast du
zuviele Script-Kiddies, die auf der Suche nach ungeschützten
FTP-Servern gante IP-Ranges abscannen.

Stell auf einen hohen Port um, das beruhigt die Sache
ungemein.

dann geht ftp nicht mehr über explorer oder? also muss man dann bei dem ftp programm diesen port eintragen? ich verstehe… was sind denn skript-kiddies?

Ich würd allerdings nicht den Port 21 verwenden, da hast du
zuviele Script-Kiddies, die auf der Suche nach ungeschützten
FTP-Servern gante IP-Ranges abscannen.

Stell auf einen hohen Port um, das beruhigt die Sache
ungemein.

dann geht ftp nicht mehr über explorer oder?

Doch, man muss nur den Port explizit (hinter einem Doppepunkt) angeben.
Im IE beispielsweise eintippen:

ftp://server.dydns.org:40000

also muss man dann bei dem ftp programm diesen
port eintragen? ich verstehe…

Korrekt. Als Kommandoport (bei BulletProof heisst das „Listen on Port Number: xxxx“)

was sind denn skript-kiddies?

Allgemein: Menschen (meist Kids), die nur dummes Zeug im Kopf haben, und dabei so wenig Grips, das sie nur auf vorgefertigte Lösungen (Scripte) zurückgreifen können.

Bei unserem FTP-Server: Raubkopierer, die auf der Suche nach ungeschützten oder schwach geschützten FTP-Servern sind, über die sie ihre heisse Ware verteilen können. Weil damit Illegales auf deinem Server liegt, bist du dafür verantwortlich.
Die kloppen einfach nur eine Anfrage an Port 21 raus und warten zwei oder drei Sekunden auf eine Antwort. Wenn keine kommt (bzw. die Error-Meldung, das auf diesem Port kein Dienst angeboten wird), geht’s zur nächsten IP. Eine schnelle Verbindung vorrausgesetzt kann man in der Stunde vollautomtisch einige zigtausend Rechner so abklopfen.
Kommt aber eine Antwort, so gibt es dort offensichtlich einen FTP-Server, und mit dem kann man sich dann mal intensiver beschäftigen.

Benutze einen anderen Port und die finden dich nur durch einen totalen Portscan. Das ist zwar nicht unmöglich, aber angesichts von rund 65.000 Ports pro IP-Adresse so langwierig, das es kaum einer macht. Ich hatte noch nie einen Einbruchsversuch auf meinem Server, und der ist jetzt seit gut 8 Monaten durchgehend online.

Security thru Obscurity mag zwar nicht das beste Sicherheitskonzept sein, aber zusätzlich benutzt (zu starken Passwörtern und keinem anonymous-Account) ist es eine gute Sache.

lg, mabuse

aha… na dann danke ich dir vielmals für deine ganze Hilfe mabuse! ohne dich hätte ich das bestimmt nicht (so schnell) geschafft!

lg cyrill