Mittels stunnel und SSH auf trash.net zugreifen


Von Roman (romanf auf trash.net)


Wenn eine Firewall oder ein HTTP/HTTPS-Proxy verhindert, dass du direkt per SSH auf trash.net zugreifen kannst (ist oft in Firmen der Fall), dann kann dir unser stunnel-Service vielleicht helfen.

Warnung: Die Verwendung von stunnel kann gegen die Vorschriften deines Arbeitgebers verstossen! Bitte kläre zuerst, was erlaubt ist und was nicht.

stunnel besteht aus einem Client- und einem Server-Teil.
Der Server-Teil läuft auf trash.net, lauscht auf access1.trash.net:443 auf eingehende Verbindungen und reicht die Daten dann lokal an den SSH Dienst weiter.
Den Client-Teil musst du auf deinem lokalen Gerät installieren und richtig konfigurieren (s. unten).

Wie der Name sagt, macht stunnel einen SSL-verschlüsselten Tunnel. Ist alles korrekt eingerichtet, musst du auf deinem Gerät nur noch einen SSH-Client (z.B. PuTTY) starten und auf "localhost" verbinden. Die Verbindung wird dann vom stunnel-Client aufgenommen, durch die Firewall / den Proxy geschleust und an den stunnel-Server übergeben. Dieser verbindet dann auf den SSH-Server. Et voilà, SSH mittels stunnel.

Schritt-für-Schritt Anleitung zur Installation und Konfiguration des stunnel-Clients:

  1. Den passenden stunnel-Client runterladen und installieren: https://www.stunnel.org/downloads.html
  2. Die Konfiguration öffnen und einen neuen Abschnitt am Ende eintragen:
    ; Disguise SSH as HTTPS traffic
    [ssh]
    client = yes
    accept = 127.0.0.1:22
    connect = proxy-host.deine-firma.tld:port
    protocol = connect
    protocolHost = access1.trash.net:443
    protocolAuthentication = basic
    protocolUsername = domain\account
    protocolPassword = xxxx
    (Du musst natürlich "connect" sowie Username und Passwort anpassen.)
  3. Konfiguration speichern und "Reload Configuration" auslösen.

Gemäss stunnel-Dokumentation sollte auch die Authentisierungs-Methode NTLM unterstützt sein. Ich habe das aber mit dem ISA-Proxy in meiner Firma aber nicht hingekriegt...

Hinweise:

  • Das Zertifikat auf access1.trash.net:443 ist von CACert signiert und hat die Fingerprints SHA256: B1:EE:7D:4A:0A:1D:74:FD:7D:5D:C9:E2:FA:1A:E1:7F:F7:91:5F:0C:25:14:24:D6:45:C2:BC:10:CF:73:6F:9E
    SHA1: 5E:16:08:4C:34:7F:D1:12:79:A1:46:4F:54:12:96:73:DB:6F:2C:A3
  • Aktuell ist nur der Service SSH konfiguriert, es können nach Bedarf auch weitere Dienste eingerichtet werden, z.B IMAPS oder sonst ein TCP-Service.
  • 2014-06-06: ab sofort ist die Liste der gültigen Ciphers auf strenge Varianten eingeschränkt. Wer einen Client einsetzen muss, der damit nicht klar kommt, soll sich bitte auf der Support-Liste melden. Liste der Ciphers:
SSL NameName bei openssl
TLS_DHE_RSA_WITH_AES_256_CBC_SHA DHE-RSA-AES256-SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA ECDHE-RSA-AES256-SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 DHE-RSA-AES256-SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 DHE-RSA-AES256-GCM-SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 ECDHE-RSA-AES256-SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 ECDHE-RSA-AES256-GCM-SHA384