Manche Umgebungen und ISPs haben sehr strenge Firewall-Richtlinien, die einem das Leben schwer machen können. In einigen Fällen sind diese Regeln absolut notwendig, in anderen vielleicht nicht so sehr. Wenn man in einer Umgebung arbeitet, die die Nutzung von SSH verbietet und die Verwendung eines http-Proxys erzwingt, kann man OpenSSH beibringen, mittels Corkskrew einen solchen Tunnel herzustellen.
In dem Artikel geht es keineswegs darum, das Umgehen einer Firewall zu propagieren. Richtlinien die das Aushebeln von Sicherheitsmaßnahmen verbieten oder ausgehenden SSH-Traffic explizit verhindern, müssen eingehalten werden. Allerdings gibt es oft drakonische Firewall-Richtlinien, die mehr Kummer als nötig verursachen. In diesen Fällen hilft eine Ausnamegenehmigung von den Verantwortlichen.
Wer sich seiner Fürsorge bewusst ist und eine Erlaubnis hat, kann Corkscrew anwenden, um SSH-Traffic durch einen HTTP-Proxyserver zu tunneln. Wer Corkscrew nicht in seiner Linux-Distribution findet, lädt sich die Quelldateien von der Corkscrew-Homepage herunter. Corkscrew ist ein HTTP-Tunnel-Programm, das keinerlei serverseitiger Modifikationen bedarf, um zu funktionieren. Es ist außerdem plattformunabhängig und funktioniert auf den meisten Client-Systemen.
Corkscrew lässt sich nach dem Auspacken mit den folgenden Befehlen kompilieren:
./configure make
Danach kopiert man die resultierende Anwendung Corkscrew irgendwo möglichst in das eigene PATH-Verzeichnis, beispielsweise /usr/local/bin. Als Nächstes ist die SSH-Konfigurationsdatei (~/.ssh/config) zu bearbeiten und Folgendes hinzuzufügen:
Host somehost Hostname somehost.example.com ProxyCommand /usr/local/bin/corkscrew proxy.example.com 8080 %h %p
Den Hostnamen ersetzt man durch den Host, zu dem per SSH eine Verbindung hergestellt werden soll und „proxy.example.com“ durch den bestehenden http-Proxy. Eventuell muss auch der Port (8080) geändert werden, wenn der Proxy auf einen anderen Port hört (zum Beispiel Port 3128 bei Squid). OpenSSH wandelt transparent das %h in den Hostnamen (somehost.example.com) um, mit dem eine Verbindung hergestellt werden soll, sowie den entsprechenden Port (standardmäßig 22).
Die Zeile ProxyCommand fordert OpenSSH dazu auf, das Programm Corkscrew zu starten, um die eigentliche Verbindung zum SSH-Zielserver herzustellen. Es lassen sich Einträge für alle Hosts erstellen, mit denen eine Verbindung hergestellt werden soll. Zudem ist es möglich einen einfachen regulären Ausdruck oder den globalen Stern (*) in der Zeile Host zu verwenden (* fordert OpenSSH dazu auf, diese Host-Zeile für alle Verbindungen zu nutzen).
Wenn dies erledigt ist, sollte man ssh somehost ausführen und die Verbindung herstellen können, gerade so, als würde man die Verbindung direkt herstellen. Dabei ist zu bedenken, dass dies nicht unbedingt mit allen Proxys funktioniert. Der Proxy muss den Connect-Befehl unterstützen, der eine beliebige TCP-Verbindung mit einem anderen Host herstellt. Bei den meisten öffentlichen Proxies ist diese Funktion deaktiviert, damit Spammer ihn nicht für ihre eigenen Zwecke missbrauchen können.
Wer keinen geeigneten Proxy findet und seinen eigenen aufsetzen möchte, sollte nach Möglichkeit nur Connect-Befehle zum SSH-Port 22 erlauben. Auf jeden Fall sollten Verbindungen zum SMTP-Port 25 verboten werden, sonst kann man sich sicher sein, dass der Proxy bald durch Fremde für den Versand von Spam genutzt wird.
Ist die SSH-Verbindung einmal hergestellt, ist es möglich, mit den SSH-Portforwarding und Tunnelfunktionen weitere Verbindungen zu schaffen. Dass solche Verbindungen auch von Cyberkriminellen genutzt werden, um mithilfe von illoyalen Mitarbeitern unbemerkt von außen in Unternehmensnetze einzudringen, zeigt der Artikel Gefahr durch SSH: Portforwarding außer Kontrolle.
Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.
Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…