TobStro
Anmeldungsdatum: 27. Oktober 2007
Beiträge: 53
|
Ich habe zu Hause einen Ubuntu Server laufen. Ich bin noch nicht sicher, was ich damit alles anfange, aber für den Anfang sollte erstmal SSH und Sockso darauf laufen. Da ich gerne von überall darauf zugreifen würde, sollte jeder Service über Port 80 oder alternativ verschlüsselt über Port 443 erreichbar sein, da diese Ports im Normalfall nicht blockiert werden. Was ich mir vorstelle, ist folgendes Szenario: Ich lasse einen Apache Server laufen und gebe jeder Anwendung eine andere URL, z.B.:
Der Apache sollte die Daten dann über jeweils unterschiedliche Ports an die Anwendung weiterleiten. Ist das möglich? Ich habe mich schon versucht, etwas schlau zu machen, mod_proxy, mod_alias, mod_redirect, fühle mich da etwas verloren. Kann mich hier jemand in die richtige Richtung leiten? Die nächste Frage wäre, ob und wie ich dann jede Anwendung auch über SSL laufen lassen kann. Auf dem Client bräuchte ich dann eventuell etwas wie stunnel, aber kann Apache die Daten dann entschlüsseln und unververschlüsselt an die Anwendung weiterleiten und umgekehrt? Ich bin durchaus bereit, mich erstmal in das Thema einzulesen, weiß aber im Moment nicht genau, wo ich anfangen soll. Vielen Dank schon mal im voraus.
|
xabbuh
Anmeldungsdatum: 25. Mai 2006
Beiträge: 6411
|
Du kannst den Diensten doch auch direkt sagen, dass sie an Port 80 bzw. 443 lauschen sollen. Ansonsten gibt es zumindest für SSH auch Dinge wie Ajaxterm, die den Zugriff auf SSH über HTTP(S) bereitstellen. Gruß
|
TobStro
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2007
Beiträge: 53
|
Ich kann aber nicht mehrere Anwendungen auf Port 80 lauschen lassen und es werden sicherlich noch einige hinzukommen. Des Weiteren gibt es manchmal auch Content Filter, die ich gerne mittels eines SSL Tunnels umgehen möchte, auch wenn die Anwendung eventuell kein SSL unterstützt. Auch dies sollte für mehrere Anwendungen funktionieren. Vielleicht gibt es dafür auch einfachere Lösungen als gleich einen Apache aufzusetzen?
|
TobStro
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2007
Beiträge: 53
|
Das ganze ließe sich auch super für Instant Messenger nutzen in unsicheren Netzwerken (z.B. öffentlichen Hotspots). Instant Messenger mittels SSL nach name.dyndns.org/icq tunneln und der Heimserver leitet es an den ICQ Server weiter. Ich würde also gerne sämtliche Anwendungen über einen einzigen Port 443 tunneln. Der Apache würde den Datenverkehr dann an die richtigen Server weiterleiten. Damit könnte ich sämtliche Anwendungen von überall auf sicherem Weg erreichen und müsste mir keine Gedanken mehr über geschlossene Ports, Content Filter usw. machen, solange https nicht blockiert wird. Kann mich hier niemand in die richtige Richtung leiten. Ist das ganze so überhaupt möglich?
|
Mike1
Anmeldungsdatum: 2. Januar 2008
Beiträge: 2092
Wohnort: Niederösterreich
|
Warum nicht einfach einen SSH-Tunnel?
ssh -D LOKALERPORT USER@HOST -p HOSTPORT -D [bind_address:]port
Specifies a local “dynamic” application-level port forwarding. This works by allocating a
socket to listen to port on the local side, optionally bound to the specified bind_address.
Whenever a connection is made to this port, the connection is forwarded over the secure
channel, and the application protocol is then used to determine where to connect to from
the remote machine. Currently the SOCKS4 and SOCKS5 protocols are supported, and ssh will
act as a SOCKS server. Only root can forward privileged ports. Dynamic port forwardings
can also be specified in the configuration file.
IPv6 addresses can be specified with an alternative syntax: [bind_address/]port or by
enclosing the address in square brackets. Only the superuser can forward privileged ports.
By default, the local port is bound in accordance with the GatewayPorts setting. However,
an explicit bind_address may be used to bind the connection to a specific address. The
bind_address of “localhost” indicates that the listening port be bound for local use only,
while an empty address or ‘*’ indicates that the port should be available from all inter‐
faces.
Für Anwendungen die keine Proxies unterstützen kann man tsocks verwenden. Ist in der Schule ganz praktisch weil da alles außer Port 80 und 443 geschlossen ist und ich über den Tunnel auf den Router zuhause (ein Linksys WRT54GL ♥ ) trotzdem IRC&Co verwenden kann.
|
TobStro
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2007
Beiträge: 53
|
Mike1 schrieb: Warum nicht einfach einen SSH-Tunnel?
Weil häufig ausschließlich SSL Verbindungen auf Port 443 gestattet werden. Ich benötige also definitiv einen SSL Tunnel, damit das ganze auch wirklich überall funktioniert.
|
Nefarius
Anmeldungsdatum: 11. Dezember 2008
Beiträge: 1275
|
Hi! TobStro schrieb: Weil häufig ausschließlich SSL Verbindungen auf Port 443 gestattet werden. Ich benötige also definitiv einen SSL Tunnel, damit das ganze auch wirklich überall funktioniert.
Ähm da hast du was falsch verstanden... HTTPS und SSH Traffic ist nicht zu unterscheiden, da beide verschlüsselt sind (auf Basis von SSL) das macht es auch so schwierig, Tunnel zu unterbinden (glaub mir ich habe reichlich Erfahrung damit 😉) Brauchst du Apache unbedingt? Oder geht es nur ums Tunneln? Dann wäre folgendes einfach: SSH-Server an Port 443 binden, am Client einen dynamischen Port auf den Server weiterleiten und das wars! Der ganze Spaß funktioniert allerdings nur über Port 443, da der essentielle Befehl CONNECT auf Port 80 nicht erlaubt/implementiert ist. MfG nefarius
|
TobStro
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2007
Beiträge: 53
|
Der Thread ist schon etwas älter, aber ich hatte keine Zeit mich damit zu beschäftigen. @nefarius2k8
Also ich bin mir ziemlich sicher, dass SSH von SSL unterschieden werden kann. SSH verwendet auch kein SSL, sondern ein anderes Protokoll (nämlich SSH ☺ ) und kann deshalb auch gefiltert werden. SSH über Port 443 habe ich bereits probiert und es funktioniert nicht immer, selbst wenn SSL funktioniert. Die einzige Möglichkeit, die ich derzeit sehe, ist, einen SSL Tunnel aufzubauen und darin einen SSH Tunnel. Diese doppelte Verschlüsselung verlangsamt die Verbindung jedoch sehr.
|
ig
Anmeldungsdatum: 4. Dezember 2008
Beiträge: 199
|
Hallo Ist nur so eine Idee aber wiso kein OpenVPN Tunnel auf Port 80/443 Die anderen Dienste könntest du auf den gewohnten Ports lassen, bis auf den Apache den könntest du auf 8080 oder so verschieben. Und hier ist sonst noch DIE Lösung aus dem Linux-Magazin 01/10. Du installierst Sslh. dies ist ein SSl-SSh-Multiplexer. Er lauscht auf Port 443 und findet heraus ob eine Https oder eine SSH Verbindung angefordert wird und vermittelt entsprechend an den SSH/Https Dienst.
http://www.rutschle.net/tech/sslh.shtml Gruss Sebi
|
Nefarius
Anmeldungsdatum: 11. Dezember 2008
Beiträge: 1275
|
Hoi, nur so am Rande: SSL ist kein Protokoll, es ist eine Technologie 😉 Du kannst es ja mal mit OpenVPN probieren, so mach ich es zumindest (und es exisitieren bereits over9000 Threads zu diesem Thema). Wie so oft kann ich dir dazu nur mein Tutorial ans Herz legen, ahja FROHES FEST EUCH ALLEN ☺ MfG nefarius
|
Nefarius
Anmeldungsdatum: 11. Dezember 2008
Beiträge: 1275
|
ig schrieb: Und hier ist sonst noch DIE Lösung aus dem Linux-Magazin 01/10. Du installierst Sslh. dies ist ein SSl-SSh-Multiplexer. Er lauscht auf Port 403 und findet heraus ob eine Https oder eine SSH Verbindung angefordert wird und vermittelt entsprechend an den SSH/Https Dienst.
http://www.rutschle.net/tech/sslh.shtml
Das kann OpenVPN schon von Haus aus, Port-Sharing mit 443 (was bitte ist Port 403?), man lese die zahlreichen Threads, auf die ich diesbezüglich schon geantwortet habe. MfG nefarius
|
ig
Anmeldungsdatum: 4. Dezember 2008
Beiträge: 199
|
nefarius2k8 sorry mit Port 403 da habe ich mich vertippt, sollte natürlich 443 heissen. Werde das gleich mal Editieren Auch ja euch auch allen ein schönes Fest 😀
|
Nefarius
Anmeldungsdatum: 11. Dezember 2008
Beiträge: 1275
|
Kein Problem, ja wie gesagt, OpenVPN unterstützt alles was man braucht, vor allem das Port-Sharing ist sehr nützlich, ist alles in meinem HowTo beschrieben 😉
|
TobStro
(Themenstarter)
Anmeldungsdatum: 27. Oktober 2007
Beiträge: 53
|
nefarius2k8 schrieb: Kein Problem, ja wie gesagt, OpenVPN unterstützt alles was man braucht, vor allem das Port-Sharing ist sehr nützlich, ist alles in meinem HowTo beschrieben 😉
Wie gesagt, ich kann ausschließlich SSL über Port 443 nutzen. Alles andere wird geblockt, nichts mit SSH, nichts mit VPN, nur SSL. Das habe ich schon auf verscheidenen Servern getestet. Es werden häufig Content-Filter eingesetzt, die SSH oder VPN Verbindungen erkennen und schon beim Aufbau blockieren. Also stellt sich hier weiterhin die Frage, wie ich mehrere Anwendungen mit verschiedenen Ports über SSL tunneln kann?
|
prometheus0815
Anmeldungsdatum: 12. Juni 2006
Beiträge: 7478
|
TobStro schrieb: Wie gesagt, ich kann ausschließlich SSL über Port 443 nutzen.
Wie gesagt: SSL ist kein Netzwerkprotokoll.
Alles andere wird geblockt, nichts mit SSH, nichts mit VPN, nur SSL.
OpenVPN verwendet SSL für Verschlüsselung und Schlüsselaustausch. Genau deshalb könnte es die Lösung für Dein Problem sein.
|