Synology - Applikationen in SSH-Tunnel einfangen
Durch einen SSH-Tunnel lassen sich Applikationen und Dienste aufrufen, ohne das in der Firewall ein eigener Port geöffnet sein muss.
Sinnvoll ist das bei z.B. für Applikationen die
- über keine Zwei-Faktor-Authentifizierung verfügen,
- die in einem besonders geschützten Bereich stehen,
- man die Firewall nicht extra dafür öffnen möchte,
- aus Bequemlichkeit, weil SSH gut und zuverlässig funktioniert,
- man den Dienst "verstecken" möchte,
- etc.
Da SSH meist schon für die Administration verwendet wird, ruft man einfach die entsprechenden Dienste über einen SSH-Tunnel auf. Einschränkungen gibt es dabei meist nicht.
Bei einer Synology, ist wie bei jedem anderen Linux-System, eine kleinere Anpassung der sshd_config
-Datei notwendig.
In dem nachfolgenden Beispiel soll die Applikation Portainer ausschließlich über einen SSH-Tunnel erreichbar gemacht werden. Der Aufruf über die IP-Adresse der Synology und den Port 9000 soll nicht mehr möglich sein.
1. Schritt: SSH aktivieren
In DSM ist der SSH-Dienst zu aktivieren. Welchen Port man für SSH verwendet ist dabei Geschmackssache. Im Beispiel wird der Port 22 belassen.
Terminal & SNMP --> Terminal --> SSH-Dienst aktivieren.
2. Schritt: sshd_config anpassen
Nachdem der SSH-Dienst aktiviert wurde, kann man sich über die Konsole auf der Synology anmelden.
ssh benutzername@<ip-adresse-synology>
Nach der Anmeldung hangelt man sich durch zum Ordner /etc/ssh/
und editiert mit dem Editor vi
die Datei sshd_config
cd /etc/ssh/
sudo vi sshd_config
In der Datei sucht man den Eintrag AllowTcpForwarding
und ersetzt das no
durch ein yes
.
Nach einem Speichern der Datei ist der sshd-Dienst der Synology neu zu starten.
sudo /usr/syno/bin/synosystemctl restart sshd.service
3. Schritt: SSH-Tunnel auf dem eigenen Client einrichten
Auf dem eigenen Client 💻 richtet man die SSH-Verbindung zur Synology so ein, dass automatisch der Tunnel geöffnet wird und die Applikation darüber erreichbar gemacht wird.
nano ~/.ssh/config
Einfach am Ende der Datei einfügen:
Host synology-portainer
HostName <ip-addresse-der-synology>
User benutzername
Port 22
ConnectTimeout 10
Compression yes
LocalForward 9000 localhost:9000
Der SSH-Tunnel lässt sich mit dem einfachen Aufruf ssh synology-portainer
starten. Anschließen kann Portainer im Webbrowser aufgerufen werden. Aber anstatt die Ip-Adresse der Synology zu verwenden, wird localhost
verwendet.
http://127.0.0.1:9000
4. Schritt: Synology Firewall anpassen
In DSM ist die Firewall anzupassen
Sicherheit --> Firewall --> Regeln bearbeiten
Die fertige Regel soll wie folgt aussehen.
Die Regel lässt sich wie folgt anlegen
Aus einer Liste integrierter Anwendungen auswählen und Portainer anklicken
Die Änderungen sind zu speichern. Ab diesem Zeitpunkt ist Portainer nur noch bei einem bestehenden SSH-Tunnel zur Synology aufrufbar.
Wird versucht Portainer normale über die IP-Adresse der Synology und Port 9000 aufzurufen, ist das nicht mehr möglich.
Gib mir gerne einen Kaffee ☕ aus 😀
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me
Source
Foto von Wil Stewart auf Unsplash