sslh auf Synology Diskstation

by Domi
1 comment

Sollen verschiedene Dienste gleichzeitig auf Port 443 betrieben werden, führt kein Weg an dem kleinen Tool „sslh“ vorbei.
Dieses ermöglicht es, gleichzeitig OpenVPN, SSL und SSH auf Port 443 erreichbar zu machen.

Wie bereits im Artikel VPN-Verbindung in Gastnetzwerken beschrieben, ist es durchaus sinnvoll, OpenVPN auch per Port 443 von außerhalb zu erreichen.

sslh lässt sich leider nicht direkt über das DSM-Paketzentrum installieren bzw. mit einem Klick betreiben. Hierfür sind noch einige, wenige Anpassungen nötig.

Repository SynoCommunity hinzufügen

Von Haus aus sind im Paketzentrum nur die von Synology direkt bereitgestellten Pakete verfügbar. Darüber hinaus gibt es unzählige Pakete aus der Community, welche durch das hinzufügen weiterer Paketquellen, sogenannter Repositories, installiert werden können.
sslh ist im Repository SynoCommunity verfügbar, welches wie folgt hinzugefügt werden kann:

Paket-Zentrum > Einstellungen
Dort dann einmal unter der Registerkarte „Allgemein“ bei Vertrauensebene > Jeder Herausgeber auswählen und unter der Registerkarte „Paketquellen“ auf „Hinzufügen“ klicken.
Im sich nun öffnenden Dialogfeld folgende Werte eintragen:

Name: packages.synocommunity.com
Ort: http://packages.synocommunity.com/

SynoCommunity-Repository hinzufügen
SynoCommunity-Repository hinzufügen

sslh installieren

Nach dem Hinzufügen des SynoCommunity-Repositorys lässt sich sslh nun entweder über die Suche finden oder aber in der Kategorie „Community“ auf der rechten Seite des Paketzentrums.

sslh im Paketzentrum
sslh im Paketzentrum

sslh konfigurieren

Um sslh nun zu vermitteln, welche Dienste wo lauschen, muss die Konfiguration noch angepasst werden.
Dies erfolgt per SSH (Hierfür muss SSH aktiviert sein!) auf der Diskstation:
sudo vim /usr/local/sslh/var/sslh.cfg

In der einfachsten Konfigurationsvariante bietet es sich an, sslh auf einen eigenen Port, wie z.B. 4443 in meinem Beispiel, hören zu lassen. Somit müssen nur noch zu erreichbar gemacht werdenden Dienste in der Konfiguration hinterlegt werden:

verbose: true;
foreground: false;
inetd: false;
numeric: false;
transparent: false;
timeout: "5";
user: "nobody";
pidfile: "/usr/local/sslh/var/sslh.pid";

# Change hostname with your external address name.
listen:

(
{ host: "192.168.178.20"; port: "4443"; }
);

protocols:
(
{ name: "ssh"; service: "ssh"; host: "127.0.0.1"; port: "1337"; probe: "builtin"; },
{ name: "ssl"; host: "127.0.0.1"; port: "443"; probe: "builtin"; },
{ name: "openvpn"; host: "127.0.0.1"; port: "1194"; probe: "builtin"; },
{ name: "tinc"; host: "127.0.0.1"; port: "655"; probe: "builtin"; },
{ name: "xmpp"; host: "127.0.0.1"; port: "5223"; probe: "builtin"; }
);

Nach Abschluss der Konfiguration muss sslh neugestartet werden, um die Änderungen zu aktivieren:
sudo synoservice –restart pkgctl-sslh

Alle hinterlegte Dienste sind nun über den für sslh konfigurierten Port (4443 im Beispiel erreichbar).
Um die Erreichbarkeit von extern zu ermöglichen, muss nun auf dem Router bzw. der Firewall eine neue Regel angelegt werden, die den TCP-Port 443 (extern) auf die eigene Diskstation, Port 4443 weiterleitet.

Related Posts

1 comment

VPN auch in Gastnetzwerken nutzen – Dominique Dewitt 1. September 2019 - 20:40

[…] Ich betreibe meinen OpenVPN-Server auf einer Synology-Diskstation. Deshalb bietet es sich an, auch direkt dort sslh zu betreiben. Wie sslh auf einer Diskstation betrieben werden kann, beschreibe ich hier. […]

Comments are closed.

Dominique Dewitt

%d Bloggern gefällt das: