- Registriert
- 05.11.05
- Beiträge
- 4.894
Ich habs in einem anderem Thread schon beschrieben, aber ich denke das Thema ist recht komplex, das verdient einen eigenen.
Unsere Ausgangsposition
Unser Lösungsweg
Wir schicken unseren Datenverkehr durch einen sicheren Tunnel über einen SSH Server und können wohin surfen wo wir wollen, können nicht so leicht vom Tischnachbarn mit der dunklen Sonnenbrille abgehört werden, sehen endlich wieder Bilder ohne raten zu müssen was wir eigentlich sehen.
ABER: Wir wollen nur die lokalen Sachen umgehen, bis zur unsererem SSH Server wird alles verschüsselt laufen, aber ab dort, werden alle Anfragen wieder unverschlüsselt (ausser die verschlüsselten natürlich
) durchs Web gejagt.
Voraussetzung
Voraussetzung ist das ihr auf irgend einen Server SSH Zugriff habt ein VServer mit Shellzugriff oder ein eigener dedizierter Server.
Es gibt im Internet auch ein paar Anbieter bei denen ihr so etwas umsonst kriegt.*
ABER: Nicht einfach losziehen und sich denken, das isses das mag ich haben ich hol mir jetzt nen VServer, die kosten ja nichts mehr. Das solltet ihr ohne euch vorher in Linux/UNIX eingearbeitet zu haben nicht machen, so ein VServer will auch mit Updates versorgt werden - nicht das er euch nach ner Zeit als Spamschleuder interessante Viagraangebote unterbreiten wird.
Und los gehts
Erstmal ab ins Terminal und folgenden Befehl eingeben:
Das öffnen einen SSH Tunnel zu deinem Server. Wenn dein SSH Server auf nem anderem Port liegt, dann noch -p12345 anhängen, oder wie auch immer die Portnummer ist.
Wenn der Befehl abgesetzt ist fragt ssh wie gewohnt nach eurem Passwort und verschwindet dann in den Hintergrund.
Dann noch kurz zu dem ganzen Befehl:
Da das jetzt das erste mal ist wo wir das ausprobieren schauen wir mal schnell ob alles geklappt hat.
Als Resultat sollten wir folgendes in der Art kriegen:
Okay, wir sehen ssh läuft im Hintergrund und lauscht auf unsere Anfragen.
Wenn wider erwarten etwas schief gegangen ist, also nichts angezeigt worden ist oder wir nicht mal nach dem Passwort gefragt wurden nehmen wir den -q Parameter raus und versuchen es noch einmal. Spätestens jetzt sollten wir Informationen kriegen die uns sagen warum etwas nicht geklappt hat.
Mir reicht der Tunnel im Firefox
Jetzt kommt der spannende Teil, wir starten mal den Firefox und gehen zu den Einstellungen -> Erweitert -> Netzwerk -> Einstellungen.
Da tragen wir jetzt bei SOCKS-Host localhost ein und bei Port 7070, dann bestätigen wir das mit OK und gehen raus aus den Einstellugen.
Das sollte dann so aussehen:
Um zu verhindern das Firefox DNS Abfragen über die "normale" Verbindung macht tippen wir in die Adresszeile about:config ein. Dann geben wir bei Filter network.proxy ein und machen dann einen Doppeklick auf network.proxy.socks_remote_dns. Sollte dann folgendermaßen aussehen:
Jetzt versuchen wir mal eine gesperrte Seite anzusurfen und hoffen das alles geklappt hat.
Ich will das volle Programm
Firefox zum sicheren surfen ist ja ganz nett, aber was ist mit unseren ICQ Gesprächen oder wir mögen Firefox einfach nicht und benutzten lieber Safari? Okay, dann gehen wir mal in die Systemeinstellungen in die Sparte Netzwerk.
Da kann man auch bei Proxies einen Socks Proxy einrichten, das sollte dann so aussehen:
Gegenfalls kann/muss man bei jedem Programm nachsehen ob eine eigene Konfiguration für Proxies anbietet oder auf die vom System zurückgreift.
Abkürzung für die leichte Wiederverwendung
Damit wir nicht jedesmal den ganzen Befehl mit ssh -N etc etc eingeben müssen, da sich ja eh nichts ändert und wir auch ein wenig bequem sind machen wir jetzt folgendes:
Damit haben wir uns einen Alias für den Befehl angelegt, beim nächsten Terminalstart reicht uns ein ssht{tab} und Enter und wir werden nach unserem Passwort gefragt und die Sache läuft.
Wenn du die default Shell von Bash auf irgend eine andere geändert hast muss der Spaß evtl. in die .profile oder wie auch immer gepumpt werden, aber das wirst du ja dann selbst wissen.
Probleme die auf uns zukommen könnten
Programmhinweis
Und in der nächsten Folge bauen wir uns noch eine Public Key Authentication und sparen uns das Passwort. Bis dahin.. macht was schönes.. pflanzt Blümchen, verbietet auf euren SSH Servern den root Login, oder ähnliches
* http://www.red-pill.eu/freeunix.shtml - Hier ist eine Liste mit kostenlosen Shell Account Anbietern. Oder einfach nach free shell account suchen.
Unsere Ausgangsposition
- Wir surfen auf einem offenem Hotspot und wollen nicht das HinzundKunz unsere Daten abhören.
- Wir gehen in einem Land online was unseren Internetzugang zensiert
- Wir haben eine UMTS Flatrate, aber unser Provider rechnet alle Bilder in ein gruseliges Format runter.
Unser Lösungsweg
Wir schicken unseren Datenverkehr durch einen sicheren Tunnel über einen SSH Server und können wohin surfen wo wir wollen, können nicht so leicht vom Tischnachbarn mit der dunklen Sonnenbrille abgehört werden, sehen endlich wieder Bilder ohne raten zu müssen was wir eigentlich sehen.
ABER: Wir wollen nur die lokalen Sachen umgehen, bis zur unsererem SSH Server wird alles verschüsselt laufen, aber ab dort, werden alle Anfragen wieder unverschlüsselt (ausser die verschlüsselten natürlich

Voraussetzung
Voraussetzung ist das ihr auf irgend einen Server SSH Zugriff habt ein VServer mit Shellzugriff oder ein eigener dedizierter Server.
Es gibt im Internet auch ein paar Anbieter bei denen ihr so etwas umsonst kriegt.*
ABER: Nicht einfach losziehen und sich denken, das isses das mag ich haben ich hol mir jetzt nen VServer, die kosten ja nichts mehr. Das solltet ihr ohne euch vorher in Linux/UNIX eingearbeitet zu haben nicht machen, so ein VServer will auch mit Updates versorgt werden - nicht das er euch nach ner Zeit als Spamschleuder interessante Viagraangebote unterbreiten wird.
Und los gehts
Erstmal ab ins Terminal und folgenden Befehl eingeben:
Code:
ssh -N -q -T -f -D 7070 [email protected]
Das öffnen einen SSH Tunnel zu deinem Server. Wenn dein SSH Server auf nem anderem Port liegt, dann noch -p12345 anhängen, oder wie auch immer die Portnummer ist.
Wenn der Befehl abgesetzt ist fragt ssh wie gewohnt nach eurem Passwort und verschwindet dann in den Hintergrund.
Dann noch kurz zu dem ganzen Befehl:
- -N sagt ssh das wir keinen Remote Befehl ausführen wollen, wir wollen ja nur ein paar Pakete weiterleiten
- -q sagt ssh das es ruhig sein soll und uns nicht mit irgendwelchen Informationen volltexten soll
- -T pseudo tty brauchen wir auch nicht
- -f schickt ssh in den Hintergrund, wir brauchens ja nicht mehr zur direkten Eingabe
- -D 7070 sorgt dafür das wir nen Port bei uns auf dem Rechner öffnen den wir ansprechen können.
Da das jetzt das erste mal ist wo wir das ausprobieren schauen wir mal schnell ob alles geklappt hat.
Code:
zeno $ ps x | grep ssh
Als Resultat sollten wir folgendes in der Art kriegen:
Code:
1865 ?? Ss 0:00.00 ssh -N -q -T -f -D 7070
1875 p2 S+ 0:00.01 grep ssh
Okay, wir sehen ssh läuft im Hintergrund und lauscht auf unsere Anfragen.
Wenn wider erwarten etwas schief gegangen ist, also nichts angezeigt worden ist oder wir nicht mal nach dem Passwort gefragt wurden nehmen wir den -q Parameter raus und versuchen es noch einmal. Spätestens jetzt sollten wir Informationen kriegen die uns sagen warum etwas nicht geklappt hat.
Mir reicht der Tunnel im Firefox
Jetzt kommt der spannende Teil, wir starten mal den Firefox und gehen zu den Einstellungen -> Erweitert -> Netzwerk -> Einstellungen.
Da tragen wir jetzt bei SOCKS-Host localhost ein und bei Port 7070, dann bestätigen wir das mit OK und gehen raus aus den Einstellugen.
Das sollte dann so aussehen:

Um zu verhindern das Firefox DNS Abfragen über die "normale" Verbindung macht tippen wir in die Adresszeile about:config ein. Dann geben wir bei Filter network.proxy ein und machen dann einen Doppeklick auf network.proxy.socks_remote_dns. Sollte dann folgendermaßen aussehen:

Jetzt versuchen wir mal eine gesperrte Seite anzusurfen und hoffen das alles geklappt hat.

Ich will das volle Programm
Firefox zum sicheren surfen ist ja ganz nett, aber was ist mit unseren ICQ Gesprächen oder wir mögen Firefox einfach nicht und benutzten lieber Safari? Okay, dann gehen wir mal in die Systemeinstellungen in die Sparte Netzwerk.
Da kann man auch bei Proxies einen Socks Proxy einrichten, das sollte dann so aussehen:

Gegenfalls kann/muss man bei jedem Programm nachsehen ob eine eigene Konfiguration für Proxies anbietet oder auf die vom System zurückgreift.
Abkürzung für die leichte Wiederverwendung
Damit wir nicht jedesmal den ganzen Befehl mit ssh -N etc etc eingeben müssen, da sich ja eh nichts ändert und wir auch ein wenig bequem sind machen wir jetzt folgendes:
Code:
echo "alias sshtunnel='ssh -N -q -T -f -D 7070 [email protected]'" >> ~/.bash_profile
Damit haben wir uns einen Alias für den Befehl angelegt, beim nächsten Terminalstart reicht uns ein ssht{tab} und Enter und wir werden nach unserem Passwort gefragt und die Sache läuft.
Wenn du die default Shell von Bash auf irgend eine andere geändert hast muss der Spaß evtl. in die .profile oder wie auch immer gepumpt werden, aber das wirst du ja dann selbst wissen.

Probleme die auf uns zukommen könnten
- Unser Server ist vom Zugangsanbieter geblockt
- Der Zugangsanbieter verbietet den Zugriff auf den SSH Port (Das können wir auf einem eigenem VServer/Server noch leicht lösen durch das umlegen des Ports, aber das ist halt schwer wenn man keinen Zugriff auf den Server hat
)
- Unsere Shell ist tausende Kilometer weit weg - Man muss bedenken das alle Verbindungen erstmal zu der Shell laufen und von da aus erfolgt die eigentliche Verbindung, auch wenn der Server von dem wir was wollen vielleicht in der gleichen Stadt steht. Das kostet Zeit und ist evtl. unangenehm spürbar.
- Unsere kostenlose Shell ist nicht nur weit weg, sondern auch noch total überlastet und zieht unsere Verbindung noch weiter runter.
- Unser Chef kriegt raus das wir den Firmenproxy umgehen und mahnt uns ab - Immer abwägen ob es nötig ist
Programmhinweis
Und in der nächsten Folge bauen wir uns noch eine Public Key Authentication und sparen uns das Passwort. Bis dahin.. macht was schönes.. pflanzt Blümchen, verbietet auf euren SSH Servern den root Login, oder ähnliches

* http://www.red-pill.eu/freeunix.shtml - Hier ist eine Liste mit kostenlosen Shell Account Anbietern. Oder einfach nach free shell account suchen.
Zuletzt bearbeitet: