[gelöst] Startschwierigkeiten beim Absichern

Begonnen von jathagrimon, 22 Januar 2025, 13:48:55

Vorheriges Thema - Nächstes Thema

jathagrimon

Hallo zusammen

Ich habe jetzt sämtliche Anleitungen gelesen und trotzdem ist es für mich "noch" unlogisch.

Nachdem ich folgendes abgesetzt habe:
define allowedWEB allowed
attr allowedWEB validFor WEB,WEBphone,WEBtablet
attr allowedWEB basicAuth { "$user:$password" eq "admin:MEINPASSWORT" }
attr allowedWEB allowedCommands set,get

sieht meine Startseite so aus:
Messages collected while initializing FHEM:configfile: logfile is readonly, it is set in the FHEM_GLOBALATTR environment

Autosave deactivatedSecurityCheck:
  WEB is not password protected

Protect this FHEM installation by configuring the allowed device allowed
You can disable this message with attr global motd none

Wenn ich im Menü auf Everything gehe sehe ich 2 Einträge bei allowed:

allowedvalidFor:
allowedWEBvalidFor:WEB,WEBphone,WEBtablet

Wenn ich mir die Details von allowedWEB anschaue, sind dort meine Attribute gesetzt:

allowedCommandsset,getdeleteattr
basicAuth{ "$user:$password" eq "admin:MEINPASSWORT" }deleteattr
validForWEB,WEBphone,WEBtabletdeleteattr

Da wundert mich vor allem, dass MEINPASSWORT im Klartext angezeigt wird!

So wie ich das sehe habe ich doch einen User und ein PW gesetzt. Warum sagt das System dann dennoch: WEB is not password protected
Auch die Meldung "Protect this FHEM installation by configuring the allowed device allowed" sehe ich eigentlich als erledigt an.
Den Hinweis "You can disable this message with attr global motd none" würde ich eher so interpretieren: "Wenn es dir egal ist ob abgesichert oder nicht, kannst du die nervige Meldung hier einfach deaktivieren."
Ich möchte aber das System "absichern" und nicht einfach die Meldungen ausblenden.

PS: FHEM läuft als Docker auf einem RaspberryPi2 (Ist nur als Test/Spielwiese gedacht)

Vielen Dank für euren Input.

passibe

#1
Zitat von: jathagrimon am 22 Januar 2025, 13:48:55Da wundert mich vor allem, dass MEINPASSWORT im Klartext angezeigt wird!

Man muss an der Stelle im Wiki leider etwas weiterlesen:
ZitatDie set <allowed>-Befehle basicAuth <username> <password>, password <password> und globalpassword <password> setzen das entsprechende Attribut, indem sie aus den Parameter(n) und Salt ein SHA256 Hashwert berechnen (Achtung: das Perl-Modul Digest::SHA wird benötigt.). Beim direkten Setzen der Attribute, beispielsweise über attr, erfolgt keine Umsetzung von Attributwerten; die Attribute werden so gespeichert, wie angegeben.

Du solltest also erstmal
set allowedWEB basicAuth admin MEINPASSWORTausführen, dann wird dir das auch nicht mehr im Klartext angezeigt.

Ansonsten musst du, wenn das passiert ist, FHEM einmal neustarten (also shutdown restart eingeben –  vorher "Save config" nicht vergessen!), denn:
Zitat von: jathagrimon am 22 Januar 2025, 13:48:55Messages collected while initializing FHEM:configfile
Stichwort ist hier "initializing", d.h. das wird nicht im laufenden Betrieb noch einmal geprüft, sondern nur beim Initialisieren der fhem.cfg, also beim erstmaligen Start.
Nach dem Neustart sollte deshalb die Meldung verschwinden.

jathagrimon

Jaaaaaaa -> NÖ (Trotzdem Danke für den Hinweis wie das Attribut richtig zu setzen ist)

Nachdem ich den "set allowedWEB basicAuth admin MEINPASSWORT" abgesetzt, "Save config" gedrückt, und den Container neu gestartet habe, ist nun unter allowed nur noch ein Eintrag enthalten:
allowed   validFor:

Der Eintrag allowedWEB ist komplett verschwunden?!

Sollten es denn 2 Einträge allowed UND allowedWEB sein, oder ist das grundsätzlich schon einer zu viel?

passibe

Irgendwie hat es dein allowed-Device mit dem Namen "allowedWEB" dann wohl gelöscht.
Wenn dein allowed-Device jetzt "allowed" heißt, musst duset allowed basicAuth admin MEINPASSWORTausführen.

Du brauchst natürlich (erstmal) nur ein allowed-Device. Wie das heißt (allowed oder allowedWEB) ist egal. Nur wenn du irgendwie mehrere FHEMWEB devices hättest, die du z.B. mit unterschiedlichen Passwörtern absichern wolltest, bräuchtest du mehr als ein allowed-Device.

jathagrimon

Hallo passibe

Ja ok jetzt macht es Sinn. DANKE

Ich habe jetzt (so hätte ich es von Beginn an machen sollen) folgende Befehle EINZELN abgesetzt:
set allowed basicAuth admin MEINPASSWORT
attr allowed validFor WEB,WEBphone,WEBtablet
attr allowed allowedCommands set,get

Dann "Save config" anklicken und die Kiste durchbooten.

So funktioniert es und der Startbildschirm bringt keine Meldungen mehr.

Leider muss ich sagen dass die Angaben in der Referenz da eher die Thematik verkomplizieren (Aber das ist vermutlich Ansichtssache).
Auch in den Anleitungen wird der Punkt meiner Meinung nach irgendwie zu kompliziert beschrieben.