Fremdprotokolle durch ssh tunnel

Aufgabe

Viele Protokolle kennen auch heute noch nativ wederAuthentifikation noch Verschlüsselung.

 

Portweiterleitung

Damit diese Dienste denoch abgesichert betrieben werden können, bietet sich an, diese durch einen abgesicherten Tunnel kommunizieren zu lassen. VPNs über IPsec sind ein guter und allgemein verwendbarer Ansatz. Für den kleinen Hunger zwischendurch bietet sich ein ssh-Tunnel an. Der Vorteil der zweiten Lösung liegt in der einfachen Konfiguration. Nachteilig ist, dass für jedes Protokoll ein eigener Tunnel erstellt werden muss sowie ein gewisser Protokolloverhead im Vergleich mit IPsec. Zwei Beispiele mögen das Vorgegen verdeutlichen:

TUN/TAP Tunnel

Unter Linux ist neu mit OpenSSH ab Version 4.3 ist neben der oben beschriebenen Portweiterleitung auch möglich, über die virtuellen Netzwerktreiber TUN/TAP einen eigentlichen Tunnel auf Layer 2/3 aufzubauen. Dazu muss als erstes auf den Ausgangs- wie dem Zielrechner das entprechende Kernel-Module geladen werden: modprobe tun.

Danach wird vom Ausgangsrechner auf den Zielrechner der Tunnel aufgebaut:

 

ssh -l <user> -p <sshd-port> -w0:0 <Ziel.Rechner>.

 

Voraussetzung ist, dass in der Konfiguration für sshd PermitTunnel yes gesetzt und aktiviert ist.

Zum Schluss sind die nun zur Verfügung stehenden Netzwerkschnittstellen zu konfigurieren. Beispielhaft kann dies so aussehen:

 

# IP Adresse auf dem Ausgansrechner

ifconfig tun0 10.0.2.1 netmask 255.255.255.252

 

# IP Adresse auf dem Zielrechner

ifconfig tun0 10.0.2.2 netmask 255.255.255.252

 

route add -host <Ziel.Rechner> dev eth0

Nach Oben