Die gute Nachricht vorab: Wer ein HomeMatic System betreibt, hat schon einmal eine gute Ausgangsbasis, denn als HomeMatic User muss man Komfort nicht mit Auslieferung der Privatsphäre an die üblichen Datenkraken erkaufen.
Ich habe den SCS entwickelt, weil ich eine einfach in Betrieb zu nehmende Lösung schaffen wollte, die wirklich sicher ist und mein Zuhause und meine Daten nicht an Unbekannte ausliefert.
Ist ein Smart Home sicher, wenn die CCU nur aus dem LAN/WLAN erreichbar ist?
Leider nicht wirklich, denn im Normalfall kann Jeder der physischen Zugang zum LAN hat oder den WLAN-Key kennt, einfach über den Web-Browser ohne Passwort jedes beliebige CCU-Programm ausführen, Systemvariablen abfragen und ändern. Und Ihren WLAN-Key kennt nicht nur Ihre Familie, sondern auch Ihre Freunde, die Freunde Ihrer Kinder, die Fa. Google … http://www.com-magazin.de/news/sicherhe ... 08940.html (die Firewall CCU Protect verbessert zwar einiges, bietet aber auch keinen 100%igen Schutz dagegen)
Wer denkt: Ich brauche nicht aus der Ferne auf meine HomeMatic Anlage zugreifen?
Auch nicht, um nachzusehen, ob alle Türen und Fenster geschlossen sind, wenn man weggefahren ist, um rechtzeitig die Heizung wieder einzuschalten, wenn man früher vom Urlaub zurückkommt, oder – ganz wichtig - wenn man eine Alarmanlage oder Rauchmelder installiert hat - auf den Bildern der IP-Kamera nachzusehen, ob es wirklich brennt bzw. was wirklich die Alarmanlage ausgelöst hat?
Früher oder später will man einfach die „Tür" aufmachen, aber wie verhindert man zuverlässig, dass Fremde durch diese "Tür" hereinkommen?
Die könnten ja die Heizung ausschalten, Lichtspiele veranstalten, nachsehen wer heute über Nacht zu Besuch ist, ein lustiges Konzert mit der Alarmsirene veranstalten oder auskundschaften, wann die beste Zeit für einen Einbruch ist. Da hört sich dann der Spaß auf. In einem früheren Beitrag hier http://homematic-forum.de/forum/viewtop ... 31&t=33768 habe ich die Sicherheitsthematik eingehend beleuchtet und auch schon die Idee des SCS skizziert.
Keine der mir bisher bekannten Lösungen erfüllt alle nachfolgenden Anforderungen:
- Wasserdichter Zugangsschutz: Nur der Besitzer und von ihm autorisierte Personen können auf die Haus-Steuerung zugreifen (abgestuft nach nur-lesen, bedienen und verändern/verwalten):
- CCU
- Visualisierungs- und Bedienungsoberflächen
- beliebig viele IP-Kameras
- Vom Internet und lokal: egal ob aus dem WLAN im Wohnzimmer, unterwegs über UMTS/LTE oder aus dem Hotel in New York,
- Universell: mit allen gängigen Endgeräten (Tablet, Handy, Laptop ..., keine Apps notwendig)
- Datenkraken ade: es wandern absolut keine Daten auf irgendwelche Server Dritter, die ich nicht kontrollieren kann
- Abhörsicher: es kann kein "Man in the Middle" mithören, weil Daten ausschließlich verschlüsselt übertragen werden
- Universell: funktioniert bei allen Arten von Internet-Anschlüssen (auch Kabel oder Mobilfunk)
- es gibt keine monatlichen Kosten
- schützt auch gegen die KRACK Sicherheitslücke im WLAN Protokoll
- absolut einfach in Betrieb zu nehmen ist,
Software-Komponenten des SCS
In der CCU muss keinerlei Zusatz-Software installiert werden. Alle CCU Programme laufen ohne Änderung weiter. Folgende Software-Komponenten sind im SCS installiert:
- HTTPS Schnittstelle für den sicheren Zugriff auf die CCU WebUI ("reverse proxy" SSL/TLS verschlüsselt und Passwort-geschützt; aus dem Internet wie auch aus dem LAN/WLAN)
- HTTPS Schnittstelle für den sicheren Zugriff auf die CCU XML/API Schnittstelle. (wie oben, SSL/TLS verschlüsselt und Passwort-geschützt)
- HTTPS Schnittstelle für die sichere Nutzung der CCU Remote HomeMatic Script Schnittstelle. (wie oben SSL/TLS verschlüsselt und Passwort-geschützt)
- HTTPS Infrastruktur die auch für andere Web-Server basierte HM-Visualisierungssysteme wie z.B. HomeHub WebUI http://homematic-forum.de/forum/viewtop ... UI#p248217 verwendet werden kann
- Hardware-Konzept stellt sicher, dass nicht mehr unverschlüsselt mit HTTP und ohne Passwort auf die CCU zugegriffen werden kann, die CCU aber aufs Internet zugreifen kann (z.B. für den Versand von Mails durch CCU Programme)
- Beliebig erweiterbares Beispiel für Web-basierte Bediener-Oberfläche für die CCU (HTTPS, SSL/TLS verschlüsselt und Passwort-geschützt)
- Beliebig erweiterbares Beispiel für Web-basierte read-only-Oberfläche auf CCU Daten (HTTPS, SSL/TLS verschlüsselt und Passwort-geschützt)
- Sichere Anzeige von Bildern lokaler IP-Kameras – so vorhanden - auch wenn die Kamera selbst kein HTTPS unterstützt, in der Beispiel- Oberfläche (HTTPS, SSL/TLS verschlüsselt und Passwort-geschützt
- Web-basierte Verwaltungs-Oberfläche für den SCS (HTTPS, SSL/TLS verschlüsselt und Passwort-geschützt)
- Command-Line Interface zum SCS (SSH verschlüsselt und Passwort geschützt)
- Command-Line Interface zur CCU (SSH verschlüsselt und Passwort geschützt)
- Hardware-Konzept erlaubt es im Bereich Ihres WLAN die CCU kabellos, unabhängig vom Router dort aufzustellen, wo alle HomeMatic Geräte den besten Funk-Empfang haben. Empfangsqualität von WLAN und HomeMatic Geräten wird in der SCS Wartungsoberfläche angezeigt.
- Lösung für die Erreichbarkeit des SCS und der CCU aus dem Internet über eine fixe URL, der Form HTTPS://name.domain die Sie auf Ihrem Endgerät (Laptop, Handy …) abspeichern können (wie gesagt für alle Arten von Internet Anschlüssen).
- Falls die externe IP-Adresse des Routers, wie bei Kabel- und Mobilnetz-Internetanschlüssen üblich, nicht öffentlich erreichbar ist, wird ein VPN eingerichtet, sodass bis zu vier Endgeräte (Windows, IOS, Android) dennoch vom Internet kostenlos (Stand: 2/2017) auf den SCS zugreifen können. Trotz VPN werden dabei die Datenströme zwischen Endgerät und SCS und CCU zusätzlich verschlüsselt, sodass auch der VPN Betreiber nicht „mitlesen“ kann.
- Eigene private „Certification Authority“ (CA) auf dem SCS, die alle HTTPS Schnittstellen mit Ihrem eigenen, kostenlosen persönlichen SSL/TLS Zertifikat absichert (openssl, natürlich die Version ohne den heartbleed bug)
- Starke HTTPS Verschlüsselung. (TLS 1.2, z.B. mit Chrome Version 55: key exchange ECDHE_RSA with P-256, cipher: AES_256_GCM mit Firefox 40: TLS 1.2 ECDHE_RSA, SHA256, AES_128_GCM).
- Unterschiedliche Passworte für Administrator mit CCU Zugriff, Bediener und read-only/Viewer
- Zuverlässige Aktualisierung der Uhrzeit nach längerem Stromausfall (ntpdate statt ntp)
- Schutz gegen Brute-Force Attacken auf die Passworte der HTTPS und SSH Schnittstellen (fail2ban).
- System-Log-Auswertung zur Erkennung von Angriffen, Speichermangel etc (logwatch)
- Web Funktionen um die CCU oder den SCS via HTTPS-Oberfläche remote neu zu starten und den SCS herunterzufahren
- Web Oberfläche zur einfachen Aktualisierung der HTTPS-Passworte und des WLAN Keys
- Leistungsfähiger Webserver (lighttpd, mittlere Antwortzeit 1,5 sec bei 10 concurrent usern)
- Linux Betriebssystem
Hardware-Komponenten des SCS
Als Hardware kommt zum Einsatz:
• ARMv8 1,2 GHz Quad Core Prozessor
• 1 GB RAM
• 8 GB SD
• 10/100 BaseT Ethernet
• 2,4 GHz WLAN 802.11b g und n
• 4xUSB etc. (also, Kenner werden es erraten haben: ein Raspberry Pi 3 Modell B)
Lösungsarchitektur des SCS
Das folgende Bild zeigt die Lösungsarchitektur.
Der SCS bildet also das Kommunikations-Portal und eine Hardware-Firewall für den sicheren Zugriff auf die CCU. Da die CCU nicht mehr direkt mit dem Router verbunden ist, laufen ausnahmslos alle Zugriffe auf die CCU über den SCS und der erlaubt nur eine sichere, Passwort-geschützte Kommunikation mit HTTPS und SSH. Nebeneffekt: Die CCU muss nicht mehr neben dem Router stehen, SCS und CCU können dort aufgestellt werden, wo es für Ihre HM-Funk-Komponenten am besten ist und Sie brauchen keine LAN-Kabel dorthin verlegen.
Die CCU mit sicherem HTTPS Interface. Stark verschlüsselt und daher weltweit sicher erreichbar.
Das mitgelieferte Beispiel für eine Bedienerseite.
Ich habe dabei weniger auf Schönheit geachtet, sondern dass die Ladezeiten möglichst kurz sind und der Quellcode der Beispiele einfach zu verstehen und zu erweitern ist. Natürlich ebenfalls HTTPS-verschlüsselt. Der Quellcode ist in sehr einfachem PHP geschrieben und kann leicht angepasst werden. Die Namen der CCU Systemvariablen sind bei Konfiguration natürlich austauschbar.
Wer möchte, kann in dem betreffenden Verzeichnis natürlich auch andere web-basierte Visualisierungs-Lösungen installieren und kann dann via HTTPS drauf zugreifen.
Das mitgelieferte Beispiel für eine read-only Viewer-Seite. Der Quellcode ist ebenfalls in sehr einfachem PHP geschrieben und kann leicht angepasst werden. Die Namen der Systemvariablen sind natürlich bei Konfiguration austauschbar (Das Bild ist nicht von meiner Kamera sondern ein freies Pixabay-Sample).
Ein Ausdruck der Verwaltungsoberfläche befindet sich im beiliegenden PDF (wäre für einen Screenshot zu groß).
Es würde hier viel zu weit führen, die Installation der einzelnen Komponenten hier im Detail so zu erklären, dass jeder den SCS nachbauen kann. Das Thema ist sehr umfangreich und komplex.
Es hat auch keinen Sinn hier ein Standard-Download anzubieten, denn das würde bei anderen Usern nicht „out of the box“ funktionieren. Es ist notwendig, die Installation an die jeweilige Netzwerkumgebung anzupassen, Zertifikate zu generieren, Accounts anzulegen, individuelle Passworte zu vergeben….
Ich möchte aber einen Beitrag dazu leisten, dass HomeMatic Systeme sicherer werden.
Daher habe ich vor, den SCS allen jenen, die einen wollen, „custom-made“ bzw. „schlüsselfertig“ anzubieten. Die Software ist gratis, die Hardware gebe ich zum Selbstkostenpreis ab, aber für die Einstellung der individuellen Konfiguration aufs jeweilige Netz und die CCU und den Test muss ich einen (moderaten) Unkostenbeitrag verrechnen.
Aber noch ist es nicht ganz so weit. Vorerst suche ich noch 3 Interessenten für einen realistischen Feldtest. Mein Angebot:
- Ich mache für die ersten 3 User hier die komplette Konfigurationsarbeit gratis
- Sie bekommen den SCS fertig konfiguriert. Lediglich Ihr WLAN und Ihre Passworte müssen Sie eintragen, weil ich die gar nicht wissen will
- Sie bekommen kostenlosen telefonischer Support (nach Vereinbarung) in der Testphase (4 Wochen) von mir
- die Hardware (Raspberry Pi 3 im Gehäuse, Netzteil, SD Karte, Herstellergarantie) überlasse ich Ihnen zum Selbstkostenpreis (insgesamt max. 70€ inkl. Porto)
- Kein Risiko: Wenn was nicht funktioniert, bekommen Sie entweder ein Update von mir, oder ich nehme die Hardware gegen Kostenersatz zurück
Was ich mir von Ihnen erwarte: Ich hätte gerne einen ausführlichen Bericht von Ihnen hier im Forum über Ihre Erfahrungen bei Inbetriebnahme und im Betrieb, ggf. auch sinnvolle Verbesserungsvorschläge.
Interessiert mitzumachen?
Senden Sie mir eine Forum-Mail (Button ganz rechts oben am Beginn dieses Beitrags). Dann melde ich mich.
Oder habt Ihr bessere Ideen, um Eure Security Anforderungen zu erfüllen?
Ich freue mich auf Eure Kommentare!
gzi