Nach Hause telefonieren

.
Bekanntes
.
Manchmal will man sich auf seinen Heimrechner verbinden, wenn man unterwegs ist. Das ist ja eigentlich ein gelöstes Problem. Mittels Port-Forwarding kommt man auch von über den Router hinweg von außerhalb des eigenen Netzwerkes auf einen Rechner im eigenen Netzwerk. Forwarded man bspw. den Port 80 an einen Rechner im Netzwerk, so kann man dort einen Webserver betreiben, der auch von außen erreichbar ist.
.
So weit so gut. Nun ist es aber so, dass die meisten Privatinternetanschlüsse wechselnde IP-Adressen haben, d.h. man weiß nicht ob das heimische Netzwerk in einer Stunde noch immer unter der gleichen IP-Adresse von außen zu erreichen ist. Auch das ist eigentlich ein gelöstes Problem. Dafür gibt es DynDNS, wo man eine Domain registrieren kann, die dann über einen Client auf dem heimischen Rechner stets auf die aktuelle IP-Adresse geupdatet wird. So kann man sich meinhost.ath.cx registrieren und wird stets unter dieser Adresse im Internet erreichbar sein. Für jeden.
.
Probleme
.
Genau dieses „für jeden“ ist aber nicht immer gewünscht. Ich möchte nicht, dass jeder jederzeit weiß unter welcher IP-Adresse mein Heimrechner zu erreichen ist. Neben der Möglichkeit der gezielten Angriffe auf den Rechner einer bestimmten Person, bietet man nun auch die volle Verfolgbarkeit. Wenn ich weiß, dass jemand unter der und der IP-Adresse erreichbar ist, so kann ich mir zugängliche Logfiles danach durchsuchen.
.
Man bietet quasi die Vorratsdatenspeicherung für IP-Adressen selbst an. Dabei soll doch eigtl nur ein begrenzter Kreis an Personen überhaupt auf den Rechner zugreifen können.
.
Lösung
.
Vor diesem Problem stand ich und habe mir nun eine kleine Lösung zusammengehackt. In meinem Setup gibt es drei Rechner :
  • Meinen Heimrechner (genannt HR)
  • Meinen Unterwegsrechner (genannt UR), das können im konkreten Fall auch mehrere Rechner sein
  • Ein (Mein) Server, der über eine Domain verfügt (genannt SRV)
Auf SRV habe ich nun ein Skript installiert, welches eine Zuordnung von Hostname zu IP-Adresse verschlüsselt abspeichert. Die Verschlüsselung geschieht dabei mit meinem öffentlichen Schlüssel (s.a Asymmetrische Verschlüsselung).
.
HR sendet nun regelmäßig (per Cronjob) HTTP-Requests an SRV mit dem Namen unter dem er für bestimmte Leute bekannt sein möchte. SRV hat zu diesem Namen einen Schlüssel zugeordnet und kennt durch den HTTP-Request auch HRs IP-Adresse. Er hat nun alles was er braucht und kann Name und verschlüsselte IP-Adresse abspeichern.
.
Soweit das Setup zum Ablegen der IP-Adressen. Nun brauche ich auf UR Zugriff auf HR. Also kann ich mir als UR von SRV die verschlüsselte IP-Adresse unter Angabe des Namens unter dem sie von HR gespeichert wurde abholen. Besitze ich nun den privaten Schlüssel, kann ich die verschlüsselte IP-Adresse entschlüsseln und habe eine Zuordnung von Host zu IP.
Soweit so gut. Der Clou kommt aber erst noch. Das Skript auf UR, welches die Adresse von HR auf SRV abholt läuft ebenfalls regelmäßig per Cron-Job. Auf Unix-Systemen (wie mein Mac OS X Rechner einer ist), gibt es eine Datei in der Zuordnungen von Hostname zu IP abgespeichert werden können und dann in allen Programmen genutzt werden können (/etc/hosts). Mein Skript schreibt nun regelmäßig die Zuordnung von Hostname zu IP-Adresse für HR in meine /etc/hosts-Datei.
.
So habe ich ein Setup, wo ich unter einem Namen stets auf meinen Heimrechner zugreifen kann. Ich kann das weil ich den privaten Schlüssel, zur Entschlüsselung der IP-Adresse besitze. Damit ist die Zuordnung von Name zu IP-Adresse nicht öffentlich und ich bin somit nicht tracebar.
.
Ich bin damit sehr zufrieden. Wenn jemand die Skripte haben möchte, kann er sich bei mir in den Kommentare melden.
Advertisements

Über kenny1987

Hallo Leute, ich bin kenny. Ich studiere momentan Informatik und werde über alles interessante was mir so über den Weg läuft bloggen. Seien es irgendwelche News oder aktuelle Entwicklungen von meinen Anwendungen. Viel Spaß :)
Dieser Beitrag wurde unter Programmieren abgelegt und mit , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Eine Antwort zu Nach Hause telefonieren

  1. Pingback: Der Mac-Mini als Homeserver « Kennys blog

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s