Dienste mit sslh auf einen Port legen

Kanalbündelung

Mit dem Applicative Protocol Multiplexer sslh lassen sich unter Linux, Unix und macOS mehrere Dienste am gleichen Port betreiben. Sind auf diese Weise der Webserver und der SSH-Daemon über den Port 443 erreichbar, vereinfacht das ganz nebenbei auch die Konfiguration der Firewall. Wir zeigen, wie Sie das Tool richtig einrichten und flüssig damit arbeiten.
Längst stehen Firmen mit einem Fuß in der Cloud. Um den Übergang in die Wolke möglichst reibungslos zu gestalten, dreht sich der Schwerpunkt im Juni-Heft um ... (mehr)

Sitzt der Admin gerade im Hotelzimmer, während im Unternehmen der Webserver holpert, könnte er eigentlich schnell über eine sichere SSH-Verbindung nachsehen, was auf dem Server klemmt – würde nicht gerade die Firewall des Hotels ausgehende Zugriffe über Port 22 blockieren. Wie in diesem Beispiel finden sich Administratoren recht häufig hinter Firewalls wieder, die ausschließlich Verbindungen über die Ports 80 und 443 zulassen.

Automatische Protokollerkennung

In genau solchen Fällen hilft das Werkzeug sslh [1]. Es nimmt auf dem Server an einem vorgegebenen Port die eintrudelnden Anfragen entgegen und leitet sie an den passenden Dienst weiter. Das Ganze geschieht nach außen transparent: Klopft ein Browser an Port 443 an, bekommt er die Webseite zurückgeliefert, ein Administrator erhält hingegen an Port 443 einen SSH-Zugang. Damit reduziert sich gleichzeitig der Konfigurationsaufwand für die Firewall, die im Beispiel nur noch den Port 443 offenhalten muss. Dank seiner Funktionsweise lässt sich sslh sogar als Frontend einsetzen, das unter einer IP-Adresse die Dienste von mehreren (virtuellen) Servern zugänglich macht.

Intern arbeitet sslh als Protokoll-Demultiplexer: Es nimmt zunächst alle eingehenden IPv4- und IPv6-Verbindungen entgegen, greift sich dabei jeweils das erste Datenpaket und versucht, aus diesem das verwendete Protokoll herauszulesen. Die beim Redaktionsschluss aktuelle Version 1.20 erkennt selbstständig HTTP, HTTPS, OpenVPN, SOCKS5, SSH, Tinc und XMPP. Im Fall von HTTPS unterstützt sslh die Verfahren "Application-Layer Protocol Negotiation" (ALPN) und "Server Name Indication" (SNI). Weitere Protokolle bringen Sie dem Tool über reguläre Ausdrücke bei. Abhängig vom ermittelten Protokoll kontaktiert sslh schließlich den passenden Dienst.

Holperige

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021