Wenn Sie auf entfernten Servern arbeiten ist es immer sinnvoll, möglichst wenig Ports nach außen freizugeben. Anfang des Jahres wurden mittels Portscanner beispielsweise sehr viele ungeschützte MongoDB Datenbanken gefunden, welche in der Standardinstallation ungeschützt sind und von außen ohne Passwort mit vollen Administrationsrechten erreichbar. Diese leichtsinnige Sicherheitslücke damals kann es aber auch bei vielen anderen Services auf Ihren Server geben. Zum Beispiel ein offener SMTP-Port ihres Mail-Servers. Am sichersten ist es natürlich, die Ports alle zu schließen und nur über einen SSH-Tunnel zu nutzen, wenn Bedarf besteht.

SSH Tunnel aufbauen

Unter Linux Betriebssystemen können Sie im Normalfall zu Ihrem Server wie folgt einen Tunnel mit einem entsprechenden gerouteten Port aufbauen:

root$ ssh -L 27018:localhost:27017 root@server

In diesem Beispiel wird eine SSH-Verbindung zu Ihrem server mit dem User root aufgebaut. Mit dem Parameter -L wird der Tunnel aktiviert, welcher die Parameter Arbeitsplatzport:RemoteHost:RemotePort hat. Im Detail:

  • 27018: Port auf ihrem lokalen PC
  • localhost: Hostname, welcher auf dem Remoterechner server angesprochen werden soll (hier der server)
  • 27017: Port von server, auf welchem der Dienst läuft

Ergebnis: Wenn Sie auf dem server eine MongoDB als Service auf dem Port 27017 laufen lassen und den oben genannten Tunnel aufbauen, können Sie von Ihrem lokalen Rechner aus eine Datenbankverbindung auf localhost:27018 mit Ihrer MongoDB-Verwaltungssoftware arbeiten. Der Port 27018 wird von Lokal auf den Port 27017 auf den server weitergeleitet.

Parameter

Wenn Sie keine Remote-SSH-Session öffnen möchten, können Sie den Parameter -nNT ergänzen. Dann wird nur der Tunnel aufgebaut, aber keine Remotekonsole gestartet:

root$ ssh -nNT -L 27018:localhost:27017 root@server
Port-Forwarding via SSH-Tunnel unter Linux
Markiert in:                    

Ein Gedanke über “Port-Forwarding via SSH-Tunnel unter Linux

  • 18. April 2016 bei 07:36
    Permalink

    Hey toller Artikel! Hatte selber eine Zeit lang meine Verbindungen über einen SSH Tunnels eines befreundeten Servers laufen lassen – das hat wunderbar funktioniert! Die Vorgangsweise war die selbe wie hier geschildert :)

    Liebe Grüße

Kommentare sind deaktiviert.