MQTT2 - Password nicht festgelegt

Begonnen von StephanFHEM, 13 März 2019, 20:12:39

Vorheriges Thema - Nächstes Thema

StephanFHEM

Hallo,

habe bei mir von MQTT auf MQTT2 umgestellt. Macht mehr Sinn, da nur ein Gerät - Sonoff - betrieben wird. Das hat auch alles super geklappt aber ich bekomme bei FHEM-Neustart jetzt immer den Hinweis: "MQTT2 is not password protected".
Alles was ich dazu gefunden habe habe ich leider nicht richtig verstanden:-(
Kann mir jemand sagen wie ich Schritt für Schritt jetzt ein Password für MQTT2 anlegen kann?

Vielen Dank!

Otto123

Hi,

wie in FHEMWEB auch? https://commandref.fhem.de/#MQTT2_SERVER
ZitatNotes:
to set user/password use an allowed instance and its basicAuth feature (set/attr)
https://commandref.fhem.de/#allowed

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

StephanFHEM

Ok... es geht also nicht darum irgendwelche MQTT Protokolle zu verschlüsseln sondern rein um die Absicherung einer WEB-Instanz analog zu zB der normalen FHEM Site unter Port 8083?

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

MQTT2_SERVER bietet (wie FHEMWEB, telnet, usw) eine Moeglichkeit, direkt oder indirekt Befehle in FHEM auszufuehren.
Wenn man diese Zugaenge nicht mit Passwort oder Aehnliches sichert, dann koennen das beliebige Angreifer.
Inwieweit das im konkreten Umfeld wahrscheinlich ist, kann ich nicht beurteilen, die Meldung kommt, weil man heutzutage als Aufgabe der Software ansieht, auf sowas hinzuweisen.
Ist mAn verstaendlich, da sie zunehmend von nicht Fachleuten verwendet wird.

StephanFHEM

Der Hinweis mach absolut Sinn. Hab es jetzt über allowed abgesichert und der Hinweis ist Geschichte, es ist sicherer und es funktioniert alles:-)

Danke!

Wolfi

Kannst du mir das bitte genauer erklären mit dem allowed

rudolfkoenig

#7
Das allowed Modul implementiert die authentication (== Benutzerverifizierung) und authorization (== Berechtigungspruefung) Schnittstellen von FHEM.
Alle Module, die ueber TcpServerUtils.pm einen Netzwerkdienst anbieten (FHEMWEB, telnet,MQTT2_SERVER) nutzen diese Schnittstellen (und damit allowed).

Das geschieht so:
- man erstellt eine allowed Instanz (dafuer gibt es in FHEMWEB ein Link direkt neben der Warnung, siehe Anhang #1).
- man weist die bemaengelte Instanz (MQTT2_SERVER, etc) per "attr allowed validFor XXX" zu. Das wird dem Benutzer per Wizard in der Detailansicht erleichtert, siehe Anhang #2.
- schliesslich aktiviert man per "set allowed basicAuth myUser myPwd" (fuer MQTT2_SERVER oder FHEMWEB) bzw. per "set allowed password myPwd" (fuer telnet) die Benutzerverifizierung.
- Berechtigung kann man zusaetzlich auf bestimmte FHEM Befehle (z.Bsp. attr allowed allowedCommands set,get,attr) oder auf einige Geraete (z.Bsp. attr allowed allowedDevices Lampe,Rollo) beschraenken.
- man kann mehrere allowed Instanzen einem Server zuweisen, dann gilt: einer der Instanzen muss den Benutzer akzeptieren. Die Berechtigungseinstellungen fuer diese allowed Instanz gelten danach fuer diesen Benutzer.

Sascha_F

Hallo zusammen,

es geht zwar auch Ende Januar zu, aber trotzdem erst einmal ein frohes und gesundes neues Jahr!

Ich muss zum diesem (schon recht altem) Thema auch noch einmal nachfragen:

Ich bekomme den Hinweis "Protect this FHEM installation by configuring the allowed device MQTT_Broker_allowed"

Es handelt sich hierbei um die allowed-Instanz für das Device des TYPE MQTT2_SERVER. Im Device "MQTT_Broker_allowed" habe ich beide Attribute gesetzt:

attr validFor MQTT_Broker
attr basicAuth


basicAuth habe ich über beide Wege getestet:

- SET mit User Passwort [SHA256:nnnnn wird ins attr geschrieben]
- ATTR direkt mit dem Beispiel {"$user:$password" eq "fhemuser:secret"}

Trotzdem erhalte ich immer den Hinweis. Habe ich etwas vergessen oder übersehen?

Danke und viele Grüße
Sascha

rudolfkoenig

Vmtl. funktioniert das Zuruecksetzen des "attr global motd" Attributes nicht richtig, versuch das bitte manuell.

Otto123

Und funktioniert denn das auth Device?
Wenn ja, steht doch die Meldung nur noch in attr global motd ?
attr global motd .

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Sascha_F

Hi zusammen und vielen Dank für die schnellen Antworten!

Das Device selbst funktioniert (MQTT-Clients müssen USER/PASS verwenden).

Nach
attr global motd .

und shutdown restart erscheint die Meldungen wieder (Protect this FHEM installation by configuring the allowed device MQTT_Broker_allowed).

Ich weiß nicht, ob es jetzt ggf. nur an meiner Installation liegt oder es anderen egal war oder sie gar kein allowed hierfür verwenden (z.B. mosquitto statt MQTT2_Server) - ich würde es für mich als "Schönheitsfehler" ansehen, da die Funktion selbst ja gegeben ist. Es muss also "keine große Energie hier reingesteckt werden".

Meine Installation ist zumindest so sauber, wie lange schon nicht mehr, da ich im Dezember erst komplett neu auf dem RPI4 aufgesetzt habe  :D

Vor heute hatte ich allerdings noch nie ein allowed-Device im Einsatz  ::)

Viele Grüße
Sascha

rudolfkoenig

Hmmm. Habs gerade mit einem leeren fhem.cfg getestet:

- in FHEMWEB MQTT2_SERVER angelegt
- auf die "Home" Seite gewechselt durch Klick auf das FHEM-Logo
- auf "define allowed allowed" geklickt: allowed wird angelegt, und dessen Detailseite angezeigt.
- den Namen des MQTT2_SERVERS angeklickt, und auf attr geklickt: das validFor Attribut wurde angelegt
- neben "set allowed basicAuth" username password eingetippt, und auf set geklickt: ein basicAuth Attribut mit SHA256:... wurde erzeugt.
- auf der "Home" Seite sieht man jetzt nur noch die Warnung fuer die FHEMWEB/telnet Instanzen....


Otto123

Zitat von: Sascha_F am 19 Januar 2020, 17:02:07
Nach
attr global motd .

und shutdown restart
Und vor shutdown restart auch ein save ?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Sascha_F

Ach so, sorry - hatte ich vergessen zu schreiben, aber habe natürlich auch save verwendet  :)

Habe auch noch attr globalpassword gesetzt, aber die Meldung bleibt weiterhin bestehen - hätte ja klappen können  ;D