Erstmal vorab: Ich bin kein IT-Profi mehr (und auch kein Germanist ), daher wird einiges, das in den folgenden Zeilen zu lesen ist evtl. nicht so ganz korrekt sein. Ich habe vieles gelesen, rumgefragt, ein bisschen gebastelt und mich an die Lösung herangetastet. Ich hoffe, dass ich hier keine Schritte vergesse.
Wir können das Beschriebene ja in der nächsten Zeit hier im Forum diskutieren und ergänzen. Wenn das Ganze rund ist, kann man evtl. einen Wiki-Artikel daraus machen.
Viele haben das Problem, dass sie aus dem gesicherten Firmennetzwerk heraus nicht auf die Netzwerkinfrastruktur Zuhause zugreifen können oder dass sie nicht sicher sind, dass die Verbindung in der Firma irgendwie belauscht wird. Private Internetaktivitäten im Firmennetzwerk sind nie so ganz privat ohne besondere Vorkehrungen.
Ziel dieses Artikels ist es, eine Möglichkeit zu beschreiben, von außen auf das Heimnetzwerk und die DS zuzugreifen, die auch aus einem durch Firewalls und Proxys gesicherten Firmennetzwerk funktioniert und den Firmenadministrator nicht an den Surfsessions der Mittagspause teilhaben zu lassen.
Ist das ganze denn sicher?
Ich denke schon. Aber dass können wir ja hier diskutieren.
Verstoße ich damit nicht gegen die EDV-Richtlinien meiner Firma?
Vermutlich schon, aber was wäre ein Leben ohne Risiko ;-)
Was braucht man
In der Firma
• Einen offenen USB-Port am Rechner
• Einen USB-Stick mit Portable-Apps. Infos hierzu gibt es unter folgender Adresse: www.portableapps.com
Folgende Applikationen müssen mind. Auf dem Stick sein: Putty, Firefox
• Ein beliebiger Port, der einen ins Internet führt. Wenn man die Photostation der DS aus dem Internet heraus benutzen möchte, sollte es nicht Port 80 sein.
ich habe mich für Port 443 entschieden, da alle meine Kontakte über http (nicht https) auf die Photostation zugreifen.
Zuhause:
• Eine DS, die auf dem gerade erwähnten Port aus dem Internet erreichbar ist. Dyndns ect. Sollte also schon funktionieren.
Port 5000, 5001 usw. können geschlossen bleiben
• Eine funktionierende IPKG-Installation auf der Station
• Die Möglichkeit einige Konfigurationsfiles auf der Box zu editieren.
Wie man diese Voraussetzungen schafft, ist in vielen Artikeln hier im Forum und im Wiki nachzulesen.
Jetzt geht es los
1 SSH in der DS aktivieren
Das wird benötigt um einen ssh-Tunnel auf der DS terminieren zu können. In diesem verschlüsselten Tunnel laufen später die ganzen Verbindungen, ohne dass jemand hineinschauen kann.
2 Der kompliziertest Teil: Installation und Konfiguration von squid
Squid ist ein Proxyserver. Über diesen und den ssh-tunnel laufen anschließend die Verbindungen ins Internet.
Hier kommen wir auch zu einem Nachteil der Lösung: Alle Internetverbindungen, die ich über den Tunnel aufbaue laufen 2-mal über meine private Breitband¬anbindung Zuhause. Einmal lädt der Proxy meine Anforderungen im Downstream der Anbindung und einmal schickt er sie mir im Upstream an das andere Ende des Tunnels. Die schmalbandige Upstreamverbindung begrenzt mir also meine Bandbreite ins Internet.
Aber wir wollten den Squid ja erstmal installieren:
Das funktioniert mit:
Jetzt muss der Squid seine Verzeichnisse anlegen. Hierzu folgendes eingeben:
Dann die Konfiguration des Proxys. Hierzu muss die Datei
angepasst werden
Hier kann man ziemlich viel anstellen. Für diese Anleitung beschränke ich mich auf die minimalst nötige Konfiguration
Folgenden Bereich in der Datei suchen und entsprechend anpassen:
und dann noch folgenden:
Hier kann ruhig allow all stehen. Squid lauscht auf Port 3128. Dieser ist nur aus dem lokalen Netzwerk und über den Tunnel erreichbar.
An dieser Stelle habe ich die Box neugestartet. Der Proxy lief anschließend automatisch. Überprüfen kann man das mit
3 Einstellung des ssh-Ports auf der DS und Weiterleitung des Ports im Router zuhause
Hier gibt es mehrere Möglichkeiten.
Die leichteste:
Port 22 ist im Firmennetz freigeschaltet. Dann einfach den Port im Router zuhause auf die private Adresse der DS weiterleiten.
Nachteil: Hacker versuchen es als erstes auf den Standartports. Also immer schön die Logfiles kontrollieren
Die zweitleichteste:
Der Router kann bei einer Portweiterleitung den ankommenden Port auf einen anderen Port modifizieren. Dann den Beispielport 443 auf 22 umsetzen lassen und auf die private Adresse der DS weiterleiten. (so habe ich es gemacht)
Die etwas komplexere
In der
den Port ändern, auf den der sshd lauscht. Hierzu vor dem Eintrag
das # entfernen und die Portnummer editieren. Hiernach muss man sicherlich den sshd oder die DS neu starten. Das musste ich nicht machen. Ich gehe aber davon aus, dass dann ein anderer Port als 443 gewählt werden muss, da auf diesem auch der Webserver lauscht.
Diesen Port muss man dann natürlich auch im Router auf die private Adresse der DS weiterleiten.
Hier kann man auch einstellen, dass ein login mit Passwort nicht mehr möglich ist, sondern ein Schlüsselaustauschverfahren zwingend ist. Das ist vermutlich die sicherste Variante. Das disabling des Passwortlogins funktioniert natürlich auch bei Methode 2.
4 Einstellungen in Putty
Ich gehe hier nur auf die relevanten Einstellungsseiten ein. Wenn ich ein Konfigurationselement nicht erwähne, kann das auf dem default-Wert bleiben
Seite Session:
Hostname: Die Dyndns-Adresse der DS
Port: Der gewählte Port (bei mir 443)
Connectiontype: SSH
Seite Connection/Data:
Auto-login username: root (Hier geht sicher auch ein anderer User)
Seite Connection/ssh/Auth:
Hier sollte der öffentliche Schlüssel für die Verbindung hinterlegt werden, wenn man es ganz sicher haben möchte. Ich lasse das mit den Schlüsseln hier aber erstmal weg, damit es nicht zu kompliziert wird. Ich kann das aber bei Gelegenheit aber mal nachreichen
Seite Connection/ssh/Tunnels:
Hier legt man fest, welche Ports man vom lokalen Rechner auf die andere Seite des Tunnels durchreichen möchte.
Für den Squid brauchen wir den Port 3128
Hierzu im Feld Sourceport 3128 eingeben und im Feld Destination das andere Ende des Tunnels. Dieses besteht aus der Adresse der DS im Heimnetzwerk (die private Adresse, nicht die öffentliche !!! Bei mir zB. 192.168.1.2) und dem Zielport., der auch 3128 lauten muss.
Man gibt also bspw. ein:
192.168.1.2:3128
und klickt auf Add
Jetzt geht es wieder zur Seite Session
Hier unter saved Sessions dem Ganzen einen Namen geben und anschließend mit save abspeichern.
5 Anpassungen im Firefox
Öffnen des Dialoges Extras/Einstellungen/Netzwerk
Verbindung/Einstellungen… wählen
Manuelle Proxykonfiguration wählen
http-proxy localhost Port: 3128
Erläuterung hierzu: Durch den Tunnel wird der Port 3128 auf die DS weitergeleitet. Da auf dieser der Squid läuft, muss hier localhost stehen.
6 Ausprobieren
Am besten von einem anderen Internetanschluss aus, als zuhause. Viele Router lassen das viele rein und Raus nicht zu.
1. Starten von putty und öffnen der gespeicherten Verbindung
2. Starten von Firefox
3. Öffnen des Synomanagers über die Private Adresse (bei mir 192.168.1.3:5000)
7 Fertig
Durch den Proxyeintrag im Firefox surfe ich jetzt so, als wäre ich in meinem Netz zuhause. Ich kann meine Netzwerkinfrastruktur auch über ihre lokalen Adressen ansprechen. Die Verbindung von meinem Heimnetzwerk ins Firmennetz ist im Tunnel verschlüsselt und kann nicht eingesehen werden.
Wir können das Beschriebene ja in der nächsten Zeit hier im Forum diskutieren und ergänzen. Wenn das Ganze rund ist, kann man evtl. einen Wiki-Artikel daraus machen.
Viele haben das Problem, dass sie aus dem gesicherten Firmennetzwerk heraus nicht auf die Netzwerkinfrastruktur Zuhause zugreifen können oder dass sie nicht sicher sind, dass die Verbindung in der Firma irgendwie belauscht wird. Private Internetaktivitäten im Firmennetzwerk sind nie so ganz privat ohne besondere Vorkehrungen.
Ziel dieses Artikels ist es, eine Möglichkeit zu beschreiben, von außen auf das Heimnetzwerk und die DS zuzugreifen, die auch aus einem durch Firewalls und Proxys gesicherten Firmennetzwerk funktioniert und den Firmenadministrator nicht an den Surfsessions der Mittagspause teilhaben zu lassen.
Ist das ganze denn sicher?
Ich denke schon. Aber dass können wir ja hier diskutieren.
Verstoße ich damit nicht gegen die EDV-Richtlinien meiner Firma?
Vermutlich schon, aber was wäre ein Leben ohne Risiko ;-)
Was braucht man
In der Firma
• Einen offenen USB-Port am Rechner
• Einen USB-Stick mit Portable-Apps. Infos hierzu gibt es unter folgender Adresse: www.portableapps.com
Folgende Applikationen müssen mind. Auf dem Stick sein: Putty, Firefox
• Ein beliebiger Port, der einen ins Internet führt. Wenn man die Photostation der DS aus dem Internet heraus benutzen möchte, sollte es nicht Port 80 sein.
ich habe mich für Port 443 entschieden, da alle meine Kontakte über http (nicht https) auf die Photostation zugreifen.
Zuhause:
• Eine DS, die auf dem gerade erwähnten Port aus dem Internet erreichbar ist. Dyndns ect. Sollte also schon funktionieren.
Port 5000, 5001 usw. können geschlossen bleiben
• Eine funktionierende IPKG-Installation auf der Station
• Die Möglichkeit einige Konfigurationsfiles auf der Box zu editieren.
Wie man diese Voraussetzungen schafft, ist in vielen Artikeln hier im Forum und im Wiki nachzulesen.
Jetzt geht es los
1 SSH in der DS aktivieren
Das wird benötigt um einen ssh-Tunnel auf der DS terminieren zu können. In diesem verschlüsselten Tunnel laufen später die ganzen Verbindungen, ohne dass jemand hineinschauen kann.
2 Der kompliziertest Teil: Installation und Konfiguration von squid
Squid ist ein Proxyserver. Über diesen und den ssh-tunnel laufen anschließend die Verbindungen ins Internet.
Hier kommen wir auch zu einem Nachteil der Lösung: Alle Internetverbindungen, die ich über den Tunnel aufbaue laufen 2-mal über meine private Breitband¬anbindung Zuhause. Einmal lädt der Proxy meine Anforderungen im Downstream der Anbindung und einmal schickt er sie mir im Upstream an das andere Ende des Tunnels. Die schmalbandige Upstreamverbindung begrenzt mir also meine Bandbreite ins Internet.
Aber wir wollten den Squid ja erstmal installieren:
Das funktioniert mit:
Rich (BBCode):
ipkg install squid
Rich (BBCode):
squid -z
Dann die Konfiguration des Proxys. Hierzu muss die Datei
Rich (BBCode):
/opt/etc/squid/squid.conf
Hier kann man ziemlich viel anstellen. Für diese Anleitung beschränke ich mich auf die minimalst nötige Konfiguration
Folgenden Bereich in der Datei suchen und entsprechend anpassen:
Rich (BBCode):
# TAG: visible_hostname
# If you want to present a special hostname in error messages, etc,
# will be used. If you have multiple caches in a cluster and
# get errors about IP-forwarding you must set them to have individual
# names with this setting.
#
#Default:
# none
visible_hostname <EureDyndnsAdresse>
und dann noch folgenden:
Rich (BBCode):
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
# für Zugriff über Tunnel
http_access allow all
Hier kann ruhig allow all stehen. Squid lauscht auf Port 3128. Dieser ist nur aus dem lokalen Netzwerk und über den Tunnel erreichbar.
An dieser Stelle habe ich die Box neugestartet. Der Proxy lief anschließend automatisch. Überprüfen kann man das mit
Rich (BBCode):
ps –ef | grep squid
3 Einstellung des ssh-Ports auf der DS und Weiterleitung des Ports im Router zuhause
Hier gibt es mehrere Möglichkeiten.
Die leichteste:
Port 22 ist im Firmennetz freigeschaltet. Dann einfach den Port im Router zuhause auf die private Adresse der DS weiterleiten.
Nachteil: Hacker versuchen es als erstes auf den Standartports. Also immer schön die Logfiles kontrollieren
Die zweitleichteste:
Der Router kann bei einer Portweiterleitung den ankommenden Port auf einen anderen Port modifizieren. Dann den Beispielport 443 auf 22 umsetzen lassen und auf die private Adresse der DS weiterleiten. (so habe ich es gemacht)
Die etwas komplexere
In der
Rich (BBCode):
/etc/ssh/sshd_config
Rich (BBCode):
#Port 22
Diesen Port muss man dann natürlich auch im Router auf die private Adresse der DS weiterleiten.
Hier kann man auch einstellen, dass ein login mit Passwort nicht mehr möglich ist, sondern ein Schlüsselaustauschverfahren zwingend ist. Das ist vermutlich die sicherste Variante. Das disabling des Passwortlogins funktioniert natürlich auch bei Methode 2.
4 Einstellungen in Putty
Ich gehe hier nur auf die relevanten Einstellungsseiten ein. Wenn ich ein Konfigurationselement nicht erwähne, kann das auf dem default-Wert bleiben
Seite Session:
Hostname: Die Dyndns-Adresse der DS
Port: Der gewählte Port (bei mir 443)
Connectiontype: SSH
Seite Connection/Data:
Auto-login username: root (Hier geht sicher auch ein anderer User)
Seite Connection/ssh/Auth:
Hier sollte der öffentliche Schlüssel für die Verbindung hinterlegt werden, wenn man es ganz sicher haben möchte. Ich lasse das mit den Schlüsseln hier aber erstmal weg, damit es nicht zu kompliziert wird. Ich kann das aber bei Gelegenheit aber mal nachreichen
Seite Connection/ssh/Tunnels:
Hier legt man fest, welche Ports man vom lokalen Rechner auf die andere Seite des Tunnels durchreichen möchte.
Für den Squid brauchen wir den Port 3128
Hierzu im Feld Sourceport 3128 eingeben und im Feld Destination das andere Ende des Tunnels. Dieses besteht aus der Adresse der DS im Heimnetzwerk (die private Adresse, nicht die öffentliche !!! Bei mir zB. 192.168.1.2) und dem Zielport., der auch 3128 lauten muss.
Man gibt also bspw. ein:
192.168.1.2:3128
und klickt auf Add
Jetzt geht es wieder zur Seite Session
Hier unter saved Sessions dem Ganzen einen Namen geben und anschließend mit save abspeichern.
5 Anpassungen im Firefox
Öffnen des Dialoges Extras/Einstellungen/Netzwerk
Verbindung/Einstellungen… wählen
Manuelle Proxykonfiguration wählen
http-proxy localhost Port: 3128
Erläuterung hierzu: Durch den Tunnel wird der Port 3128 auf die DS weitergeleitet. Da auf dieser der Squid läuft, muss hier localhost stehen.
6 Ausprobieren
Am besten von einem anderen Internetanschluss aus, als zuhause. Viele Router lassen das viele rein und Raus nicht zu.
1. Starten von putty und öffnen der gespeicherten Verbindung
2. Starten von Firefox
3. Öffnen des Synomanagers über die Private Adresse (bei mir 192.168.1.3:5000)
7 Fertig
Durch den Proxyeintrag im Firefox surfe ich jetzt so, als wäre ich in meinem Netz zuhause. Ich kann meine Netzwerkinfrastruktur auch über ihre lokalen Adressen ansprechen. Die Verbindung von meinem Heimnetzwerk ins Firmennetz ist im Tunnel verschlüsselt und kann nicht eingesehen werden.