openwb MQTT ohne SSL
-
- Site Admin
- Beiträge: 8682
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 11 times
- Been thanked: 52 times
Re: openwb MQTT ohne SSL
Der Sinn ist das es nicht möglich ist an einen öffentlichen unverschlüsselten Broker seine Daten senden zu können.
Zertifikat hinterlegbar machen kann ich gern mit auf die Agenda nehmen.
Zertifikat hinterlegbar machen kann ich gern mit auf die Agenda nehmen.
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
-
- Beiträge: 7
- Registriert: Fr Okt 23, 2020 5:13 pm
Re: openwb MQTT ohne SSL
Es hat nicht jeder seinen MQTT Broker im Internet stehen, sondern lokal im LAN. Und die meisten IoT-Geräte können nicht mal TLS via MQTT, weswegen dann gar kein Bedarf eines zusätzlichen TLS-Listeners besteht.
Ich finde das schon ein wenig eine Bevormundung.
Mir ist's jetzt egal, jetzt wissen wir ja, warum's nicht geht.
Ich finde das schon ein wenig eine Bevormundung.
Mir ist's jetzt egal, jetzt wissen wir ja, warum's nicht geht.
-
- Site Admin
- Beiträge: 8682
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 11 times
- Been thanked: 52 times
Re: openwb MQTT ohne SSL
Moment, der Lokale Broker ist unverschlüsselt.Und die meisten IoT-Geräte können nicht mal TLS via MQTT,
Es geht nur darum Brücken nach extern zu konfigurierender UI.
Davon ab kann lokal die Brücke auch von dem gegenbroker initiiert werden
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Re: openwb MQTT ohne SSL
Wie openWBSupport schon geschrieben hat: Es ist, zum Schutz von unbedarften UI-Nutzern absichtlich nicht möglich die Brücke im UI ohne TLS zu konfigurieren.christiantf hat geschrieben: ↑Fr Okt 23, 2020 5:21 pm Ist die MQTT-Schnittstelle immer noch so?
Man könnte das so bauen, dass man es verwenden kann: Entweder TLS abschaltbar, oder TLS fertig konfigurierbar.
Ich versteh nicht, warum da einerseits unverschlüsselt verhindert wird, anderseits aber TLS nicht fertig konfigurierbar ist.
Die Funktion ist zur Anbindung im öffentlichen Internet befindlicher MQTT-Server entstanden. Und diese haben, spätestens seit LetsEncrypt, in aller Regel ein offizielles gültiges Zertifikat das vom Raspbian der openWB ohne Weiteres akzeptiert wird.
Zum Beispiel indem Du direkt am MQTT-Server der openWB subscribst und published.
Alternativ: Die Brücke in Deinem lokalen MQTT-Gateway (ich nehme an das ist auch ein normaler MQTT-Server) konfigurieren. Wenn keine Firewalls im Spiel sind ist es doch völlig gleichgültig "wie herum" die Brücke konfiguriert wird.
Zwei Tage Support um herauszufinden, daß es im MQTT-Bridge-Nutzer-Interface der openWB weder eine Möglichkeit gibt TLS abzuschalten noch ein Zertifikat zu hinterlegen?christiantf hat geschrieben: ↑Fr Okt 23, 2020 6:01 pm Und was ist die Absicht?
Ich weiß nur, dass ich (als Entwickler einer anderen Software) zwei Tage Support geleistet habe, weil das OpenWB-MQTT-Interface nicht so konfigurierbar ist, dass es funktioniert (ohne TLS nicht, mit TLS nicht).
Du hast also selbst keine openWB (oder auch nur einem RASPI ohne echte Ladehardware) wo Du das auf einen Blick gesehen oder vorab mal getestet hättest? Bietest aber dafür Support für Kunden Deiner Software an? Das muß ich jetzt nicht verstehen, oder?
Die bisherigen Use-Cases für die Funktion sind oben beschrieben. Mag sein daß Du einen neuen hast. Ich sehe daher folgende Möglichkeiten wie Du weiter kommst:christiantf hat geschrieben: ↑Fr Okt 23, 2020 6:01 pm Bei meiner webkonfigurierbaren Software achte ich darauf, dass ich die Funktionen, die ich anbieten will, übers UI auch konfigurieren kann. Bei der openWB-Einrichtung geht aber weder das eine (unverschlüsselt) noch das andere (TLS-Zertifikat hinterlegbar).
- Du erweiterst das MQTT-UI der openWB um die nötige Funktionalität. Du schreibst, Du bist selbst SW-Entwickler und die openWB ist Open Source. Meine Erfahrung ist, daß Pull-Requests jederzeit willkommen sind.
- Du schreibst auf Seite Deiner Software ein User-Interface oder sonstige Funktion um die Brücke in die "andere Richtung" zu konfigurieren.
- Du subscribst und published aus Deiner Software direkt am MQTT-Server der openWB.
- Du findest einen Entwickler der die Erweiterung zum Hochladen eines Client- und/oder CA-Zertifikates für Dich ins openWB-UI einbaut. Natürlich ist damit zu rechnen, daß dafür ein entsprechender Obolus fällig wird.
Was aber eher kontraproduktiv sein dürfte ist, wenn Du nur hier im Forum nur über die bisher implementierte Funktion (die gar nicht für Deinen Use-Case gedacht war) herumlamentierst.
-
- Beiträge: 7
- Registriert: Fr Okt 23, 2020 5:13 pm
Re: openwb MQTT ohne SSL
Wie ich geschrieben habe, ich hab kein openWB. Aber ich helfe nunmal dabei, dass User Ihre Devices und Software per MQTT an mein Gateway mit Broker anbinden kann (so macht ihr das bestimmt auch, wenn jemand openWB mit irgendwas verbinden will).
Gut, dann wäre jedenfalls ein neuer Use-Case, dass das MQTT-Bridging von openWB unverschlüsselt zu einem anderen lokalen MQTT-Broker verbinden kann. Da der openWB-Broker selbst nicht TLS verwendet, wäre es ja legitim, dass openWB auch kein TLS zu einem anderen Broker erzwingt.truckl hat geschrieben: ↑Fr Okt 23, 2020 7:40 pm Die bisherigen Use-Cases für die Funktion sind oben beschrieben. Mag sein daß Du einen neuen hast. Ich sehe daher folgende Möglichkeiten wie Du weiter kommst:
- Du erweiterst das MQTT-UI der openWB um die nötige Funktionalität. Du schreibst, Du bist selbst SW-Entwickler und die openWB ist Open Source. Meine Erfahrung ist, daß Pull-Requests jederzeit willkommen sind.
- Du schreibst auf Seite Deiner Software ein User-Interface oder sonstige Funktion um die Brücke in die "andere Richtung" zu konfigurieren.
- Du subscribst und published aus Deiner Software direkt am MQTT-Server der openWB.
- Du findest einen Entwickler der die Erweiterung zum Hochladen eines Client- und/oder CA-Zertifikates für Dich ins openWB-UI einbaut. Natürlich ist damit zu rechnen, daß dafür ein entsprechender Obolus fällig wird.
Man kann große rote Texte platzieren, dass eine unverschlüsselte Verbindung zu einem Internet-Broker gefährlich ist.
Erweitern der openWB-Funktionalität: Ich dränge mich in der Regel nicht in eine Software hinein, die ich nicht mal installiert habe, und programmiere irgendwas um. Es wären - wie ich gesehen habe - ca. fünf Zeilen Code, um "Unverschlüsselt" ins UI einzubauen und die Config entsprechend zu schreiben.
Bridge zu openWB: Hab ich, aber ausschließlich TLS-PSK Meins kann man aber auf beiden Seiten im UI einrichten
Du subscribst und published aus Deiner Software direkt am MQTT-Server der openWB: Das kann ich bereits, aber ich wusste nicht, dass openWB einen eigenen Broker hat (ist im Screenshot des MQTT-GUIs, den ich kenne, nicht ersichtlich). Da mein Gateway normalerweise den eigenen Mosquitto mitliefert, und das UI von openWB nach einer Client-Verbindung zu einem Broker aussah, war dem Benutzer und mir diese Möglichkeit nicht bewusst.
Du findest einen Entwickler der die Erweiterung zum Hochladen eines Client- und/oder CA-Zertifikates für Dich ins openWB-UI einbaut: Ich bin ein Entwickler, nicht der betroffene Benutzer.
Ich denke, jemand der weiß, was MQTT ist, versteht auch den Unterschied zwischen verschlüsselt und unverschlüsselt. Der vorauseilende Schutz des Benutzers ist aus meiner Sicht überflüssig, und da ja euer eigener Broker überhaupt kein TLS macht, sogar ein bisschen paradox.
Sei's drum, wenn ihr wollt, mach ich euch einen Pull-Request mit der dritten Option "Unverschlüsselt".
lg, Christian
Re: openwb MQTT ohne SSL
Meine Absicht ist es nicht, dass Ihr Euch streitet Ich suche nur irgendeine Lösung wie ich 3 Geräte sinnvoll zum kommunizieren kriege....truckl hat geschrieben: ↑Fr Okt 23, 2020 7:40 pm Zum Beispiel indem Du direkt am MQTT-Server der openWB subscribst und published.
Alternativ: Die Brücke in Deinem lokalen MQTT-Gateway (ich nehme an das ist auch ein normaler MQTT-Server) konfigurieren. Wenn keine Firewalls im Spiel sind ist es doch völlig gleichgültig "wie herum" die Brücke konfiguriert wird.
Da ich keine Einstelloptionen in der openWB sehe für das MQTT intern ohne TLS anzusprechen, muss ich das dann über das Gateway triggern? Christian Du hast ja die Screenshots gesehen, mir ist noch nicht klar, was ich anders machen muss damit es klappt....
Huawei PV in Planung - openWB in Planung
-
- Beiträge: 7
- Registriert: Fr Okt 23, 2020 5:13 pm
Re: openwb MQTT ohne SSL
@BennyK
Du kannst im LoxBerry MQTT Gateway "Use local broker" deaktivieren und dann die Verbindungsdaten des openWB Brokers angeben (wo du die findest, gibt's sicher ne Dokuseite bei openWB dafür). Andere LoxBerry-Plugins mit MQTT übernehmen diese in der Regel von selbst, wenn du sonst noch irgendwo (z.B. Shelly's) die Daten vom LoxBerry drin hast, musst du diese auch auf jene vom openWB-Broker ändern.
Probier bitte vorher, was ich dir "drüben" geschrieben hab
lg, Christian
Du kannst im LoxBerry MQTT Gateway "Use local broker" deaktivieren und dann die Verbindungsdaten des openWB Brokers angeben (wo du die findest, gibt's sicher ne Dokuseite bei openWB dafür). Andere LoxBerry-Plugins mit MQTT übernehmen diese in der Regel von selbst, wenn du sonst noch irgendwo (z.B. Shelly's) die Daten vom LoxBerry drin hast, musst du diese auch auf jene vom openWB-Broker ändern.
Probier bitte vorher, was ich dir "drüben" geschrieben hab
lg, Christian
Re: openwb MQTT ohne SSL
Streiten möchte ich ja auch nicht. Nur von der allgemeinen Aussage "nicht komplett" fühlte ich mich schon ein wenig angegriffen. Für den Zweck für den ich die Funktion eingebaut habe war sie nunmal "komplett genug" und über die Sicherheits-Implikationen wurde hier im Forum offen diskutiert und die jetzige Lösung erarbeitet.
Das Ergebnis ist aber natürlich ein Kompromiss zwischen Einfachheit, Möglichkeiten und Sicherheit. Der Ansatz war dabei: Alles was im lokalen LAN liegt wird als "sicher" angenommen. Alles außerhalb als "unsicher". Und zweitens, daß die openWB mindestens hinter einer Firewall betrieben wird.
Die "Zugangsdaten" zum MQTT-Broker der openWB sind entsprechend einfach: Port 1883, IP sollte bekannt sein, keine Authentifizierung.
Der ursprüngliche Auslöser für die Funktion waren tatäschlich Rückfragen wie man denn im Internet-Router das Port-Forwarding für externen Zugriff auf die openWB konfigurieren müsse. Als dann auch noch Shodan.io erste openWBs zu Tage förderte konnte ich nicht länger "zusehen" (oder besser gesagt "untätig mitlesen").christiantf hat geschrieben: ↑Fr Okt 23, 2020 8:17 pm Ich denke, jemand der weiß, was MQTT ist, versteht auch den Unterschied zwischen verschlüsselt und unverschlüsselt. Der vorauseilende Schutz des Benutzers ist aus meiner Sicht überflüssig, und da ja euer eigener Broker überhaupt kein TLS macht, sogar ein bisschen paradox.
Habt bitte deshalb Verständnis dafür, daß ein komplettes Abschalten von TLS über das UI deshalb nicht erwünscht ist.
Ich verstehe aber die Anforderungen hier. Deshalb folgender Kompromissvorschlag:
Wie wäre es, wenn wir TLS deaktivierbar machen wenn die IP-Adresse des "entfernten MQTT-Servers" im Bereich der privaten IPs laut RFC 1918 liegt (Netzwerke 10/8, 172.16/12, 192.168/16, für IPv6 noch link-local fe80:: dazu)? Das impliziert aber, daß das Abschalten von TLS wirklich nur bei Angabe der IP, nicht aber bei Hostnamen (die IP dahinter könnte sich ändern), freigegeben würde.
Da diese Adressen von den BGP-Router im Internet (und hoffentlich auch von Internet-Modems beim Enduser) definitiv nicht weitergeleitet werden wäre ausgeschlossen, daß unverschlüsselte Zugangsdaten weiter als bis zum ersten Router kommen.
@openWBSupport: Wäre diese Erweiterung auch von eurer Seite aus akzeptabel?
@christianf: Ich bin leider absolut kein Web-Entwickler.
Wenn Du die entsprechende Funktionalität im Web-UI (Validierung der IP und entsprechende Freigabe eines "Kein TLS"-Option-Buttons) zuliefern könntest (Pfad "web\settings\mqtt.php" sowie "web\tools\savemqtt.php" relativ zum Repoistory-Root) würde ich die restlichen Anpassungen an "web\tools\savemqtt.php" machen um die Mosquitto-Konfiguration entsprechend zu schreiben.
Dabei würde ich ggf. auch die Template für die mittlerweile deutlich "gewachsenen" MQTT-Topics anpassen.
Dazu ist aber evtl. auch nochmal ein Dialog mit @openWBSupport nötig. Denn ich habe mittlerweile den Überblick verloren welche Topics ggf. für bestimmte Module auch schreibend interessant sind. Oder sollen wir jetzt doch nur noch auf das Root-Topic gehen?
-
- Site Admin
- Beiträge: 8682
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 11 times
- Been thanked: 52 times
Re: openwb MQTT ohne SSL
Finde ich eine sehr gute Lösung!@openWBSupport: Wäre diese Erweiterung auch von eurer Seite aus akzeptabel?
Leider ist das nicht immer der Fall.Ich denke, jemand der weiß, was MQTT ist, versteht auch den Unterschied zwischen verschlüsselt und unverschlüsselt.
Siehe Truckls Idee, wenn du das so umsetzt wird das direkt gemergt.Sei's drum, wenn ihr wollt, mach ich euch einen Pull-Request mit der dritten Option "Unverschlüsselt".
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Re: openwb MQTT ohne SSL
Es gibt keinen Shell Zugriff, da ein Fertigprodukt.... finde ich einerseits auch richtig, da einige sich nicht so gut mit Linux auskennen.... aber ich habe es über den Weg geschafft.christiantf hat geschrieben: ↑Fr Okt 23, 2020 8:35 pm @BennyK
Du kannst im LoxBerry MQTT Gateway "Use local broker" deaktivieren und dann die Verbindungsdaten des openWB Brokers angeben (wo du die findest, gibt's sicher ne Dokuseite bei openWB dafür). Andere LoxBerry-Plugins mit MQTT übernehmen diese in der Regel von selbst, wenn du sonst noch irgendwo (z.B. Shelly's) die Daten vom LoxBerry drin hast, musst du diese auch auf jene vom openWB-Broker ändern.
Probier bitte vorher, was ich dir "drüben" geschrieben hab
Für die Nachwelt: Hab die openWB eingetragen mit Port 1883 und ohne Benutzername und Passwort und schwups war im MQTT Gateway von Dir Christian alles angezeigt.... sogar mehr als ich gedacht habe ....
Hab jetzt den Solaredge WR und Energiezähler direkt an der openWB dran und hole per MQTT Gateway die Werte in die Visualisierung und Haussteuerung....
Vielen Dank an alle für die angeregte Diskussion und die hilfreichen Infos.
Huawei PV in Planung - openWB in Planung