BennyK hat geschrieben: ↑Fr Okt 23, 2020 8:27 pm
Meine Absicht ist es nicht, dass Ihr Euch streitet
Ich suche nur irgendeine Lösung wie ich 3 Geräte sinnvoll zum kommunizieren kriege....
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.
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.
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").
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?