Traffic-Hiding via SSH ganz legal
Immer wieder wird mir die Frage gestellt, wie man denn verhindern kann, dass der Provider sieht welche Internetseiten man besucht usw., da ja auch Gevatter Staat mit Gerichtsbeschluss solche Daten einfordern kann. Glücklicherweise muss man dafür aber keine illegalen Mittel einsetzen. Ein einfacher VServer oder Rootserver (bitte nur zulegen, wenn ihr Ahnung davon habt, siehe http://root-und-kein-plan.ath.cx/ ) und ein SSH-Client mit Tunneling-Möglichkeiten reicht dafür völlig aus.
Zuerstmal richte man sich auf dem Server einen anonymisierenden Proxy ein. Wichtig ist, dass es sich um einen privaten Server handelt, der seine Dienste nur nach Authentifizierung zur Verfügung stellt. In dem Fall seid ihr nämlich nicht dazu verpflichtet Verbindungsdaten zu loggen. Ihr stellt ja keine öffentlich erreichbaren Dienste zur Verfügung. Ich liebe die schwammige deutsche Gesetzeslage in dieser Hinsicht.
Steht der Proxy, legt ihr mittels ‘ssh’ einen Tunnel zwischen dem Proxy-Port und einem beliebigen freien Port auf dem Server. Selbst ein LKM-Trojaner um diesen Traffic unverschlüsselt abzufangen ist nicht gerade einfach zu basteln. Damit das Ganze aber auch für euren Provider unleserlich wird, legt ihr einen weiteren Tunnel zwischen eurem Desktop-Rechner und dem Tunnel-Port auf dem Server. Den auf eurem Desktop-Rechner verwendeten Port tragt ihr nun als Proxy in eure Browser-Konfiguration ein. Nun gibt es eigentlich nur noch die Möglichkeit eure Verbindung anhand von client-seitigen Skripten zu ermitteln. Diese müssen aber vom entsprechenden Server kommen, den ihr ansurft. Dass jemand was entsprechendes auf Provider-Seite in eure Verbindung schmuggelt (Stichwort: MITM), ist eher unwahrscheinlich. Er müsste dazu erstmal den SSH-Tunnel knacken. Wer besonders paranoid ist, kann natürlich auch Flash, Javascript und Java deaktivieren um clientseitige Scripte zu verhindern oder gleich einen Browser verwenden, der sowas nicht unterstützt. Wichtig ist ausserdem, dass der Server natürlich gut gesichert ist. Nur weil wir keine illegalen Mittel benutzen dürfen, heisst das ja leider nicht, dass Gevatter Staat das auch nicht darf. Daher…
- Passwort-Authentifizierung im SSH-Server ausschalten und Keyfiles verwenden
- sämtlichen Traffic, der nicht über den SSH-Tunnel und den Proxy geht z.B. mittels IDS unterbinden
- Kernel ohne Modul-Unterstützung verwenden um LKM-Trojaner zu verhindern
- alles noexec mounten, was keine Executables enthält
- root-Account umbenennen, im Idealfall Rollensystem z.B. mit SELinux verwenden
- Stack-Smashing-Guard einsetzen
- Tools wie fail2ban einsetzen um nach mehrfach fehlgeschlagener Authentifizierung die entsprechenden IPs automatisch auszusperren
- Dateisystem mittels File Alteration Monitoring überwachen
…
Hach wie gut dass Herr Schäuble nicht weiss, dass sein Überwachungswahn bei den Leuten, die sich auskennen, eh in’s Leere läuft. B) :> Im übrigen kann man auf diese Weise auch die Zwangsproxy der Provider zumeist umgehen. Gerade Firmen wie Arcor und T-Online “sperren” ja gern bestimmte Seiten, die sie für gefährlich halten. Auf diese Weise habt ihr die Möglichkeit wieder selbst zu entscheiden was gefährlich ist und was nicht. Das erspart das Warten in der Warteschlange der Hotline und Diskussionen mit inkompetenten Callcenter-Agents. Eine rechtliche Grundlage haben sie für diese Sperrungen eh nicht, außer den Jugendschutz. Wer aber einen Server mietet, muss mindestens 18 Jahre sein und theoretisch kann man ja die Freigabe beim Provider auch einfordern, was aber nervig ist. Da man auch keine Sicherheitslücke nutzt, ist die Sache völlig legal. Die Benutzung von SSH-Verbindungen ist ja nicht verboten.
Und bevor jetzt wieder die Frage kommt, was die Leute tun sollen, die sich keinen Server leisten können oder die nicht ausreichend Wissen für eine solche Kiste haben… Spart, bis ihr es euch leisten könnt (Vserver gibt es ab 10 Euro im Monat) und lernt, bis ihr damit sicher umgehen könnt.
Dezember 16, 2008 um 5:00 pm
hallo,
ausser vielleicht, was die rechtliche lage und im speziellen die logging-pflicht des hosters angeht, welcher den v-/root-server stellt. dieser ist doch – meiner nicht fundierten kenntnissen nach – verpflichtet den traffic zu loggen, was das vorhaben, traffic-hiding zu betreiben, demnach ja “ziemlich erschweren” sollte (mal die möglichkeit ausser acht gelassen, den server in einem eu-fremden land zu betreiben).
netter artikel – auch wenn er auf keinen der angesprochenen punkte (ssh-tunneling, rechtliche situation, “vorratsdatenspeicherung”, …) wirklich ‘tief’ eingeht, aber, das ist ja auch nicht nötig (nein, keine ironie)…
liege ich richtig mit dieser vermutung?
im gesamten, sehr kreative gedanken – wenn vielleicht auch nicht ganz zu ende gedacht, falls ich mit eben genannter vermutung recht gehabt haben sollte. …weiter so bitmuncher, ich freue mich darauf, bald wieder von dir zu lesen!!
gruß,
mido
Dezember 16, 2008 um 5:32 pm
Ein Server-Hoster stellt im Normalfall nur eine Leitung und die Hardware zur Verfügung (technisch gesehen zumindest) und ist somit nicht für den Traffic auf den Servern verantwortlich. Er muss allerdings bei vorliegendem Gerichtsbeschluss die Server an Staatsorgane ausliefern, wenn diese beschlagnahmt werden sollen. Damit liegt die Verantwortlichkeit für die Daten auf dem Server beim Betreiber/Mieter des Servers. Ist dieser eine Privatperson und schützt Dienste wie Proxy usw. durch Authentifizierung vor öffentlichem Zugriff, ist er nicht zum Loggen der Daten verpflichtet. Genausowenig wie eine Privatperson ihre eigenen Internetdaten loggen muss.
Dezember 16, 2008 um 6:10 pm
hallo,
das ging ja schnell.
dass der mieter des servers die verantwortung hat, für das was er mit diesem anstellt, ist klar. aber dies muss ja nicht zwingend bedeuten, dass der hoster nicht verpflichtet ist, verbindungsdaten zu loggen. leider finde ich hierzu keine wirklich fundierten, klaren aussagen (geschweige denn ‘offizielle’ quellen), ausser der “aussage”, dass eben verbindungsdaten geloggt werden (müssen), jedoch (selbstverständlich) nicht die inhalte der kommunikation.
hast jemand (oder du, bitmuncher) hierzu nähere informationen (am liebsten offizielle dokumente
)?
gruß,
mido
Dezember 16, 2008 um 7:21 pm
Nunja… genaue Infos könnte man sicher vom Anwalt einholen. Ich gehe aber mal von den AGBs der Hoster aus. Dort ist (wenn überhaupt) nur die Rede von der Speicherung von Verbindungsdaten zu Verrechnungszwecken und zur Behebung technischer Mängel. Ich werde aber bei Gelegenheit mal ein paar der größeren Hoster in Deutschland dazu befragen und die Ergebnisse hier bekannt geben.
Dezember 16, 2008 um 10:34 pm
das wäre super, ich werde auch mal einige agb’s befragen und versuchen, weitere informationen einzuholen.
danke, für das nette “gespräch” und auf bald.
gruß,
mido