Autor Thema: Webfront verriegeln / Passwort  (Gelesen 9293 mal)

KA2013

  • Gast
Webfront verriegeln / Passwort
« am: 04 Februar 2013, 17:32:20 »
Hallo zusammen,
ich möchte mein Webfront ins Netz weiterleiten via Portforwarding. Nur, gibts eine Möglichkeit das Webfront mit Passwort zu versehen damit mir nicht jeder das Licht aus und anmachen kann?
Gruß
Kai

Offline Dirk

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2093
Aw: Webfront verriegeln / Passwort
« Antwort #1 am: 04 Februar 2013, 17:44:38 »
Hi KA2013,

zum Beispiel so:
attr WEB basicAuth { "$user:$password" eq "admin:secret" }
Siehe: http://fhem.de/commandref.html#FHEMWEB

Gruß
Dirk

KA2013

  • Gast
Aw: Webfront verriegeln / Passwort
« Antwort #2 am: 04 Februar 2013, 17:49:50 »
Trag ich das in die cfg ein???

Ich bin hier noch recht neu und hab da noch nicht so den wahnsinns durchblick was ich wo reinpacken muss, mit IPS wüsste ich es blind!
Daher sorry für die doofe Frage!

Offline Puschel74

  • Hero Member
  • *****
  • Beiträge: 9804
Aw: Webfront verriegeln / Passwort
« Antwort #3 am: 04 Februar 2013, 18:01:37 »
Hallo,

ja, in die fhem.cfg als attr unter das define WEB ....

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Offline Zrrronggg!

  • Hero Member
  • *****
  • Beiträge: 2248
    • www.fresse.de
Aw: Webfront verriegeln / Passwort
« Antwort #4 am: 04 Februar 2013, 19:18:24 »
Hm.


Ich muss zugeben, ICH verstehe die Commandref da nicht.

Was bei mir aber geht ist der erste Teil, der da lautet:

Zitat
request a username/password authentication for access. You have to set the basicAuth attribute to the Base64 encoded value of <user>:<password>, e.g.:
# Calculate first the encoded string with the commandline program
$ echo -n fhemuser:secret | base64
ZmhlbXVzZXI6c2VjcmV0
fhem.cfg:
attr WEB basicAuth ZmhlbXVzZXI6c2VjcmV0


Das habe ich konkret so gemacht:

MeinNutzer:Meinpasswort (nach belieben festlegen) als kompletten String inc Doppelpunkt hier eingeben:

http://www.patshaping.de/projekte/kleinkram/base64.php
Codieren drücken.

Das Resultat sieht dann z.b. so aus:

TnV0emVyOlBhc3N3b3J0
(natürlich kann jede andere Methode zum Base64 coding verwendet werden, war für mich das einfachste)


Das dann unter die Definition der WEBgui (heisst bei mir auch "WEBgui") als Attr eintragen:

attr WEBgui basicAuth TnV0emVyOlBhc3N3b3J0

Fertich.




Diesen Teil der command.ref:

Zitat
If the argument of basicAuth is enclosed in {}, then it will be evaluated, and the $user and $password variable
will be set to the values entered. If the return value is true, then the password will be accepted. Example:
attr WEB basicAuth { "$user:$password" eq "admin:secret" }


Hingegen verstehe ich nicht (was meint "evaluated" hier genau?) und kriege ich auch nicht zum fliegen.
FHEM auf Linkstation Mini, CUL 868 SlowRF, CUL 868 RFR, CUL 433 für IT, HMLAN-Configurator, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Offline Dirk

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2093
Aw: Webfront verriegeln / Passwort
« Antwort #5 am: 04 Februar 2013, 19:37:27 »
Zitat
Hingegen verstehe ich nicht (was meint "evaluated" hier genau?) und kriege ich auch nicht zum fliegen.

Das Bedeuted, daß der Inhalt zwischen {} Perl Code ist, und von Perl interpretiert wird. Das Ergebniss was dort steht muss "Wahr" zurück geben damit man "reingelassen" wird.

Trage einfach das aus dem Beispiel ein.attr WEB basicAuth { "$user:$password" eq "admin:secret" }admin:secret ersetzt du durch deinen_usernamen:dein_passwort

Gruß
Dirk

Offline Zrrronggg!

  • Hero Member
  • *****
  • Beiträge: 2248
    • www.fresse.de
Aw: Webfront verriegeln / Passwort
« Antwort #6 am: 06 Februar 2013, 16:25:23 »
Zitat
Trage einfach das aus dem Beispiel ein.
attr WEB basicAuth { "$user:$password" eq "admin:secret" }
admin:secret ersetzt du durch deinen_usernamen:dein_passwort


Ja, das hab ich ja gemacht und es funktionierte nicht.
Ich habe mehrere Kominationen getestet, am Ende beides "123"... geht einfach nicht, es kommt immer die Meldung im Browser, Username oder PW sei falsch.
Die Methode mit Base64 hingegen klappte sofort.

Also für mich ist das gelöst, mich interessiert höchstens Akademisch, warum das nicht ging. Vielleicht haben andere das selbe Problem.

FHEM auf Linkstation Mini, CUL 868 SlowRF, CUL 868 RFR, CUL 433 für IT, HMLAN-Configurator, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19335
Aw: Webfront verriegeln / Passwort
« Antwort #7 am: 06 Februar 2013, 19:05:07 »
Bei mir tut:

define WEB FHEMWEB 8083 global
attr WEB basicAuth { "$user:$password" eq "Hallo:Leute" }


Bitte Fehlermeldungen immer konkret mit Definitionen belegen, sonst glaubt es keiner (oder anders: es kann keiner nachvollziehen).

Offline Rohan

  • Hero Member
  • *****
  • Beiträge: 1059
  • Bin kein Hero, bin Anwender
    • http://keine
Aw: Webfront verriegeln / Passwort
« Antwort #8 am: 06 Februar 2013, 21:15:09 »
Hmmm...

gerade das hier mal zum Anlass genommen mein FHEM abzusichern und in die fhem.cfg direkt unterhalb von

define WEB FHEMWEB 8083 global

folgendes (1:1, also Real-Text ähm Test ;) ist also in 1 Minute auf andere Werte gesetzt) eingetragen:

attr WEB basicAuth { "$user:$password" eq "12345678:12345678" }

Dann die "fhem.cfg gesavet", anschließend "shutdown restart" + <Enter> gemacht und ...

... er fragt mich nach Username und Passwort, ich gebe für beides 12345678 ein und ... Bingo ... ;)

Grüßle
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

Offline Zrrronggg!

  • Hero Member
  • *****
  • Beiträge: 2248
    • www.fresse.de
Aw: Webfront verriegeln / Passwort
« Antwort #9 am: 06 Februar 2013, 22:41:34 »
Konkret war das Problem folgendes:

define WebGUI FHEMWEB 9097 global
attr WebGUI basicAuth TnV0emVyOlBhc3N3b3J0


restart
geht.


define WebGUI FHEMWEB 9097 global
attr WebGUI basicAuth { "$user:$password" eq "123:123" }


restart
geht nicht.

"Geht nicht" heisst, dass Safari beim Aufrufen der Webseite und nach Abfrage von User und PW als Meldung zurück gibt, User oder PW sei falsch.

Ich verwende sonst ne Menge perl in der cfg und das geht auch immer.

Da es bei Anderen prinzipiell zu gehen... ah...
... moment.

Seit wann sollte das gehen?  Ich verwende noch 5.2...
FHEM auf Linkstation Mini, CUL 868 SlowRF, CUL 868 RFR, CUL 433 für IT, HMLAN-Configurator, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Offline sasquuatch

  • Full Member
  • ***
  • Beiträge: 334
Aw: Webfront verriegeln / Passwort
« Antwort #10 am: 19 September 2013, 10:00:49 »
habe da auch mal ne frage zu, geht das nur mit der standard adresse für fhem?
define WEB FHEMWEB 8083 global
attr WEB basicAuth { "$user:$password" eq "123:123" }


ich würde das gerne für den tablet und smartphone port nutzen. trage ich den attr befehl unterhalb vom tablet bzw. smartphone define in der fhem.cfg ein, ist alles nach einem "Save Config" weg :(
define WEBphone FHEMWEB 8084 global
attr WEB basicAuth { "$user:$password" eq "123:123" }

define WEBtablet FHEMWEB 8085 global
attr WEB basicAuth { "$user:$password" eq "123:123" }

der global wert ist an meiner fritzbox gar nicht freigeschaltet. ich habe das nur fürs smartphone und tablet gemacht, weil ich nur mit dem smartphone, eventuell tablet von unterwegs auf FHEM zugreife.

NACHTRAG:

für jeden der so doof ist wie ich, die formatierung für tablet und phone sollte so aussehen:
Zitat
define WEBphone FHEMWEB 8084 global
attr WEBphone basicAuth { "$user:$password" eq "123:123" }

define WEBtablet FHEMWEB 8085 global
attr WEBtablet basicAuth { "$user:$password" eq "123:123" }

Offline UliM

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 2709
Aw: Webfront verriegeln / Passwort
« Antwort #11 am: 19 September 2013, 10:36:35 »
hi,
wenn Du das für die anderen ports einstellen willst, musst beim setzen des Attributs auch den anderen port benennen. Du hast das nu 3x für WEB gemacht, aber noch gar nicht für WEBtablet und WEBphone:
attr WEBphone  basicAuth { "$user:$password" eq "123:123" }
attr WEBtablet basicAuth { "$user:$password" eq "123:123" }

Wenn Du aus dem internet drauf zugreifst - per VPN?!

Gruß, Uli
RPi2/Raspbian, CUL V3 (FS20, CUL_WS), HM-CFG-USB (ca. 30 HomeMatic-devices), LAN (HueBridge, iTunes, HarmonyHub etc.). Slave-Installation auf OSX.
Aktives Mitglied des FHEM e.V. (Marketing)

Offline sasquuatch

  • Full Member
  • ***
  • Beiträge: 334
Aw: Webfront verriegeln / Passwort
« Antwort #12 am: 01 Oktober 2013, 10:14:41 »
danke für die schnelle antwort UliM.

eine frage habe ich noch, ist es möglich das ganze komplett ohne benutzname zu machen und nur mit passwort?

ich habe folgende formatierung probiert:
Zitat
attr WEBphone basicAuth { "$password" eq "123" }

damit erreiche ich aber nur, dass der benutzername auf standard "admin" steht, nicht aber das nur das passwort einzugeben ist.
auf dem smartphone mag er für die dyndns seite die zugangsdaten nicht speichern und dann ist das etwas nervig immer gleich beides einzugeben.

Online Mitch

  • Hero Member
  • *****
  • Beiträge: 2098
  • Give more - Expect less
Aw: Webfront verriegeln / Passwort
« Antwort #13 am: 11 Oktober 2013, 13:49:12 »
Hab da mal eine andere Frage dazu:

kann man die passwortabfrage so einstellen, dass ich nur von extern das Passwort eingeben muss, sprich wenn ich in meinem eigenen Netz bin, wird das Passwort nicht abgefragt.

Danke!
FHEM auf Intel NUC mit Ubuntu Server, CUNOv2 - FHZ1300 - FritzDECT - 2x HM-LAN - Z-Wave - SIGNALduino@433 - SIGNALduino@868 - SignalESP@868 - miniCUL - DuofernStick - ESP Bridge - MQTT - HUE - MiLight - Sonos - Homebridge - Alexa - Nest Protect

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19335
Aw: Webfront verriegeln / Passwort
« Antwort #14 am: 11 Oktober 2013, 15:22:03 »
Indem man zwei FHEMWEB Instanzen definiert, mit unterschidlichen Attributen.

Online Mitch

  • Hero Member
  • *****
  • Beiträge: 2098
  • Give more - Expect less
Aw: Webfront verriegeln / Passwort
« Antwort #15 am: 11 Oktober 2013, 16:28:54 »
Danke Rudi, hat geklappt
FHEM auf Intel NUC mit Ubuntu Server, CUNOv2 - FHZ1300 - FritzDECT - 2x HM-LAN - Z-Wave - SIGNALduino@433 - SIGNALduino@868 - SignalESP@868 - miniCUL - DuofernStick - ESP Bridge - MQTT - HUE - MiLight - Sonos - Homebridge - Alexa - Nest Protect

Offline sasquuatch

  • Full Member
  • ***
  • Beiträge: 334
Aw: Webfront verriegeln / Passwort
« Antwort #16 am: 11 Oktober 2013, 22:17:49 »
die lösung mit den zwei Instanzen ist wesentlich besser als mein wunsch ohne benutzername.
danke für die Idee und den Vorschlag :D

Offline satprofi

  • Hero Member
  • *****
  • Beiträge: 1288
Antw:Webfront verriegeln / Passwort
« Antwort #17 am: 04 Februar 2014, 16:34:59 »
hallo.
leider kann man keine sonderzeichen verwenden. oder übersehe ich etwas?
@ z.b.
gruss
-----------------------------------------------------------------------
Raspberry - Fhem 5.7 CUL 868, FS20, NetIO230 CUL 433, REV, Unitec, FLS u. ELRO Funksteckdosen
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Online riker1

  • Full Member
  • ***
  • Beiträge: 300
Antw:Webfront verriegeln / Passwort
« Antwort #18 am: 18 Oktober 2018, 15:22:05 »
Hallo
das ist ein alter Thread, aber habe das alte problem:


2018.10.18 15:17:21.772 4 : Connection accepted from WEB8084PW_127.0.0.1_54890
2018.10.18 15:17:28.911 3 : Login denied by allowed_WEB8084 for admin via WEB8084PW_127.0.0.1_54890

2018.10.18 15:17:07.472 5: Loading ./FHEM/96_allowed.pm
2018.10.18 15:17:07.474 5: Cmd: >attr allowed_WEB8084 basicAuth attr WEB basicAuth { "$user:$password" eq "admin:admin" }<
2018.10.18 15:17:07.475 5: Cmd: >attr allowed_WEB8084 room 00_00test99,Fhem<
2018.10.18 15:17:07.475 5: Cmd: >attr allowed_WEB8084 validFor WEB8084PW<
2018.10.18 15:17:07.475 5: Cmd: >attr allowed_WEB8084 verbose 5<

Password abfrage kommt, aber es wird abgelehnt.

Was könnte ich falsch machen?

Danke

Thomas

Habe nun nochmal nur mit dem token gemacht, da geht es. ok das mit user und passwort so nicht  denke ich
« Letzte Änderung: 18 Oktober 2018, 15:30:41 von riker1 »
FHEM 5.8 Ubuntu, FHEM 5.8 RPI 3 , Actoren: IT ,
MAX CUBE, MAX HT, MAX WT, Selbstbau nanoCULs, FS 20, Homematic, FTK, SW. DIM, Smoke,KODI,Squeezebox