Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Achtung: HTTPS/SSL ist kein 100% Schutz vor Attacken auf den Miniserver

Der Miniserver ist auch mit der folgenden HTTPS/SSL Lösung weiterhin von außen erreichbar. Wer also Benutzername/Passwort errät, bzw. mittels brute-force herausbekommt, ist im Miniserver drinnen. Wer den Miniserver mit vielen Requests lahmlegen möchte (denial-of-service Attacke), kann das auch via HTTPS/SSL. Um den Miniserver auch gegen diese Bedrohungsszenarion zu schützen, benötigt man andere/weitergehende Lösungen (z.B. VPN oder HTTPS/SSL mit Client-Zertifikat)


Die nachfolgende Anleitung beschreibt einfach (sollte also auch für Anfänger geeignet sein), wie man mit Hilfe eines Reverse-Proxys auf einer Synology NAS eine per SSL gesicherte (verschlüsselte) Verbindung auf den Miniserver machen kann. Prinzipiell kann das auch über jeden anderen Server, der reverse-proxy beherrscht gemacht werden.

Vor-Nachteile gegenüber anderen Lösungen


HTTPS/SSLVPNkeine Verschlüsselung
Einrichtung am ServerMiniserver kann das nicht. Man benötigt dafür einen Reverse-Proxy (auf einer eigenen Hardware im selben Netz wie der Miniserver)Miniserver kann das nicht. Man benötigt dafür einen VPN-Provider (im Internet)nur ports freigeben und eventuell Cloud-DNS einrichten - siehe https://www.loxone.com/dede/kb/online-freigabe/
Einrichtung am Web-Clientnichts zu tunVPN-Lösung (Software) am Client einrichtennichts zu tun
Einrichtung am Handyfunktioniert nicht → VPN Lösung für Handy oder mit Handy weiterhin ohne Verschlüsselung lebenVPN-Lösung (Software) am Handy einrichtennichts zu tun
Schutz vor Attacken

schützt vor man-in-the-middle Attacken → in unsicheren Netzen verwendbar

schützt nicht vor brute-force Attacken → starkes Passwort für Loxone-User vergeben

schützt nicht vor DNS Attacken → Miniserver geht in die Knie (es sei denn man verwendet zusätzlich ein Client Zertifikat - wird hier nicht beschrieben)

schützt vor man-in-the-middle Attacken → in unsicheren Netzen verwendbar

schützt teilweise vor brute-force Attacken → starkes Passwort für VPN und Loxone-User vergeben

schützt vor DNS Attacken, DNS-Provider schickt Anfragen nicht weiter

schützt nicht vor man-in-the-middle Attacken → nicht in unsicheren Netzen verwenden

schützt nicht vor brute-force Attacken → starkes Passwort für Loxone-User vergeben

schützt nicht vor DNS Attacken → Miniserver geht in die Knie

Weiteres

HTTP Verbindungen werden im Browser als unsicher dargestellt, ihre Verwendung wird sukzessive "erschwert"

Bricht die VPN-Verbindung ab, so wechseln die meisten Geräte meist von selbst auf unsichere Verbindung ohne den Benutzer zu warnen.

HTTP Verbindungen werden im Browser als unsicher dargestellt, ihre Verwendung wird sukzessive "erschwert"

Voraussetzungen:

  1. Ein Synology NAS im selben Netzwerk wie der Loxone Miniserver
  2. Der Loxone Miniserver hat eine feste IP-Adresse im lokalen LAN
  3. Besitz einer Web-Domain (für HTTPS Voraussetzung) - Webserver/Website ist keine Voraussetzung
  4. Etwas Erfahrung bei der Konfiguration der Web-Domain beim Domain Provider (für die Nameserver-Einstellungen)
  5. Erfahrung bei der Einrichtung von Port-Forwarding am Router

Die folgende Anleitung funktioniert für die Web-Oberfläche (classic oder aktuell).

HTTPS/SSL funkt nicht mit der Android/iPhone App

Die Apps können (derzeit) nicht via HTTPS kommunizieren - macht für Loxone ja auch keinen Sinn, da der Miniserver zu schwach für HTTPS ist. Früher oder später wird sich das ändern müssen, weil Google und Apple gegen unsichere Apps vorgehen.

Loxone meint dazu (siehe https://www.loxone.com/dede/kb/online-freigabe/) "Apps verschlüsseln bei Authentifizierung und Kommunikation und bieten somit eine sichere Kommunikation. Für Anwendungen mit erhöhtem Sicherheitsbedarf wird eine VPN-Verbindung zum Miniserver empfohlen." Wie verschlüsselt wird (HTTPS, VPN ist ja auch "nur" Verschlüsselung) verrät Loxone aber nicht.

Diese Lösung unterstützt keine automatische Änderung der URL von http://loxone.deinedomain.com auf https://loxone.deinedomain.com - man muss also im browser explizit das https:// eingeben. Um auch das zu schaffen muss auf der Synology ein Apache Server eingerichtet werden (hier nicht beschrieben).

Einrichten:

1. Beim Domain Provider C-NAME → Synology

Zunächst einmal muss beim Domain Provider eine C-NAME Einstellung für die Loxone (z.B. loxone.deinedomain.com) auf die Synology zeigen bzw. auf deren DNS-Name (z.B. mynas.synology.me). Achtung: Ein DNS-Name der Loxone (z.B. serial.dns.loxonecloud.com) wird nicht benötigt.

2. Port 80 und 443 am Router auf Synology weiterleiten

Damit ein Zertifikat via Let's Encrypt angelegt werden kann und damit dann später die HTTPS-Requests an die Synology (und von dort weiter an den Miniserver) gehen, muss die Synology in Internet erreichbar sein. Dazu muss am Router Port 80 und 443 an die Synology weitergeleitet werden. Das findet man bei den Routern meistens unter "Port Forwarding". Dort für die IP-Adresse der Synology den Port 80 und 443 weiterleiten.

3. Auf der Synology NAS einen Reverse-Proxy einrichten

Auf der Synology einen Reverse-Proxy einrichten: Unter Systemsteuerung / Anwendungsportal / Reverse Proxy:

Das wars, unter Custom Header oder Advanced Settings muss nichts verändert werden. Die Einrichtung eines Apache HTTP-Servers ist ebenfalls nicht notwendig.

3. Auf der Synology NAS ein Zertifikat für die Loxone einrichten

Auf der Synology unter "Systemsteuerung", Sicherheit", "Zertifikat" ein Zertifikat für loxone.deinedomain.com von Let's Encrypt erstellen lassen. Hat man bereits ein Zertifikat für die Loxone anderswo her, dann muss dieses ebendort eingespielt werden.

Wichtig:

  • Alternative Name vergeben (gleich wie der Domain-Name) - Chrome verweigert sonst das Zertifikat
  • Danach unter Konfigurieren den Dienst "loxone.deinedomain.com" dem neuen Zertifikat zuordnen.

4. Port 80 am Router wieder entfernen

Damit die Synology nur mehr HTTPS Requests erhält muss am Router die Weiterleitung des Ports 80 auf die Synology wieder entfernt werden.

Wenn die Loxone zu diesem Zeitpunkt noch via Loxone Cloud-DNS erreichbar ist, kann jetzt auch die Port-Weiterleitung des dafür verwendeten Ports entfernt werden - es sei denn man will weiterhin die Handy-App verwenden und ist sich im Klaren, dass diese nicht gut abgesichert ist.

Fertig

Jetzt geht jeder https Request auf loxone.deinedomain.com zunächst (wegen des C-NAME Eintrags) auf mynas.synology.me und (wegen der Port-Weiterleitung) an die Synology. Dort wird der Request dann (wegen des Reverse-Proxys) von HTTPS auf HTTP umgewandelt und an die Loxone weitergeleitet. Antworten werden wiederum wegen des Reverse-Proxys analog dazu verschlüsselt zurückgegeben.

  • Keine Stichwörter