Hauptmenü

Passwortabfrage

Begonnen von fstefan1960, 28 Januar 2017, 22:22:12

Vorheriges Thema - Nächstes Thema

fstefan1960

Guten Abend,

bisher habe ich keine Lösung für eine besondere Herausforderung gefunden:

Ich möchte gerne die in der Familie gut akzeptierte Steuerung via TabletUI passwortfrei zugänglich machen, aber das "Backend", sprich FHEMWEB durch Passwort schützen, damit da nicht von anderen herum administriert wird.
Geht das? Geht das mit FHEM-Mitteln oder muss ich da was mit .htaccess basteln, womit ich mich nicht auskenne?

Danke für hilfreiche Tips.

Liebe Grüße
Frank
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

pataya


fstefan1960

Vielen Dank,

darüber habe ich das System ja auch gesichert. Leider fragt es die Username/Passwort-Kombi dann auch ab, wenn ich via Tablet UI zugreife. Das aber soll ja ohne Passwort möglich sein ...

Und genau da hänge ich jetzt ...

FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

Thorsten Pferdekaemper

Hi,
ich habe auch schonmal über so etwas nachgedacht, aber ganz so einfach dürfte das nicht sein. Bei mir läuft FTUI sogar über einen ReverseProxy per Apache2, aber auch das nützt nichts. Man kann die verwendete FHEMWEB-Instanz für direkte Zugriffe von außen blockieren, aber dann kann man immer noch über die Adresse zugreifen, über die auch FTUI zugreift. Der Server weiß ja nicht, ob da gerade FTUI zugreift, oder ob ein Benutzer die entsprechende Adresse in den Browser eingetippt hat. Ok, er könnte es wissen, vielleicht lässt sich irgendwo eine Art Browser-Weiche einbauen.
Was ich mir auch vorstellen könnte: Es könnte möglich sein, dem ReverseProxy-Mechanismus eine Authentifizierung mitzugeben, mit dem sich das ganze bei FHEM anmeldet.
Das sind momentan meine Ideen dazu, aber eine echte Lösung habe ich nicht. Bei mir wohnt aber auch niemand, vor dem ich das gesondert schützen müsste.
Gruß,
   Thorsten
 
FUIP

fstefan1960

Hi,

greift FTUI denn über eine andere Adresse zu als <MeineIP>:8083 ? Dann wäre das ja schon mal ein Schritt in die Richtung ...
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

Tutti_Bomovski

Ich habe Tablet Ui auf dem Full Kiosk Browser laufen. Über die Einstellungen dort kannst du User und Passwort vorgeben. Dann kommt keine Abfrage und man ist sofort auf der Oberfläche. Habe das Tablet dann mit einer Pin bzw Muster gesperrt. Funktioniert tadellos.

pataya

Alternativ ein neues FHEMWEB definieren und den Zugriff per IP einschränken:
define FTUIweb FHEMWEB 8084
attr FTUIweb allowfrom <IPvomTablet>


dann für FTUI:
<meta name="fhemweb_url" content="http://<IPvonFHEM>:8084/fhem/">

Thorsten Pferdekaemper

Zitat von: fstefan1960 am 29 Januar 2017, 11:58:08greift FTUI denn über eine andere Adresse zu als <MeineIP>:8083 ? Dann wäre das ja schon mal ein Schritt in die Richtung ...
Hi,
das kannst Du einstellen über fhemweb_url wie hier beschrieben:
https://wiki.fhem.de/wiki/FHEM_Tablet_UI#Konfiguration
Bei mir erledigt das allerdings der Apache2:

<Location /fhem>
ProxyPass http://localhost:9046/fhem
ProxyPassReverse http://localhost:9046/fhem
</Location>

...oder Du machst nichts am FTUI und lässt es auf 8083. Dann halt das "echte" FHEMWEB auf einen anderen Port legen.
Gruß,
   Thorsten
FUIP

fstefan1960

Vielen Dank schon mal für die Tips. Habe das ausprobiert. Wenn ich so einen neuen Port für FTUI schaffe, läuft das auch. Aber wenn ich dann in der URL hinten die letzten Teile lösche, komme ich via <MeineIP>:8087 dann doch wieder beim normalen FHEM an und das dann ohne PW-Abfrage.
Ist ja auch irgendwie logisch, aber leider nicht das, was ich gerne hätte ...

Einen Proxy zusätzlich auf dem Raspi laufen zu lassen, würde ich gerne vermeiden ...

FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

Tutti_Bomovski

Zitat von: fstefan1960 am 29 Januar 2017, 12:51:30
Vielen Dank schon mal für die Tips. Habe das ausprobiert. Wenn ich so einen neuen Port für FTUI schaffe, läuft das auch. Aber wenn ich dann in der URL hinten die letzten Teile lösche, komme ich via <MeineIP>:8087 dann doch wieder beim normalen FHEM an und das dann ohne PW-Abfrage.
Ist ja auch irgendwie logisch, aber leider nicht das, was ich gerne hätte ...

Einen Proxy zusätzlich auf dem Raspi laufen zu lassen, würde ich gerne vermeiden ...
Also ich verstehe es so, dass du deinen normalen Zugang in die Administration http://192.xxx.xxx.xxx:8083/fhem mit Passwort gesichert haben willst, aber die Tablet Ui Oberfläche ohne Passwortabfrage erreichen willst. Das genau habe ich mit meiner Einstellung über den Full Kiosk Browser auf dem Tablet zur Familiensteuerung erreicht.
Wenn du natürlich etwas anderes möchtest, dann liege ich mit meinem Rat falsch. Ansonsten versuchs mal... viel Spaß

Thorsten Pferdekaemper

Zitat von: fstefan1960 am 29 Januar 2017, 12:51:30Aber wenn ich dann in der URL hinten die letzten Teile lösche, komme ich via <MeineIP>:8087 dann doch wieder beim normalen FHEM an und das dann ohne PW-Abfrage.
Das ist klar, da das FTUI ja selbst auf dem Browser läuft. Das Backend kann also erstmal nicht wissen, ob der Request vom FTUI oder von einem User kommt. Das, was ich vorher mit "Browserweiche" gesagt habe, ist also eher Blödsinn.

Zitat
Einen Proxy zusätzlich auf dem Raspi laufen zu lassen, würde ich gerne vermeiden ...
Ich glaube auch nicht mehr so recht, dass das helfen würde.

Zitat von: Tutti_Bomovski am 29 Januar 2017, 13:15:32
Das genau habe ich mit meiner Einstellung über den Full Kiosk Browser auf dem Tablet zur Familiensteuerung erreicht.
Vielleicht will er ja nicht mit Android... Außerdem: Kann man damit wirklich wirkungsvoll verhindern, dass nicht jemand doch auf die eigentliche FHEM-URL zugreift? Also wenn man nirgends eine URL eingeben kann, dann wäre das gegeben, aber dann könnte man den Fully auch nicht konfigurieren. Hmmm...

Für mich ist das zwar momentan nur ein theoretisches Problem, aber dennoch interessant: Wie kann man auf der Server-Seite erkennen, dass ein Request vom TabletUI kommt und nicht über einen sonstigen Kanal?
Tja...

Gruß,
   Thorsten

 

FUIP

Tutti_Bomovski

Zitat von: Thorsten Pferdekaemper am 29 Januar 2017, 14:43:28
Das ist klar, da das FTUI ja selbst auf dem Browser läuft. Das Backend kann also erstmal nicht wissen, ob der Request vom FTUI oder von einem User kommt. Das, was ich vorher mit "Browserweiche" gesagt habe, ist also eher Blödsinn.
Ich glaube auch nicht mehr so recht, dass das helfen würde.
Vielleicht will er ja nicht mit Android... Außerdem: Kann man damit wirklich wirkungsvoll verhindern, dass nicht jemand doch auf die eigentliche FHEM-URL zugreift? Also wenn man nirgends eine URL eingeben kann, dann wäre das gegeben, aber dann könnte man den Fully auch nicht konfigurieren. Hmmm...

Für mich ist das zwar momentan nur ein theoretisches Problem, aber dennoch interessant: Wie kann man auf der Server-Seite erkennen, dass ein Request vom TabletUI kommt und nicht über einen sonstigen Kanal?
Tja...

Gruß,
   Thorsten


Natürlich kann man eine URL angeben. Man muss ja irgendwie die Seite laden. Von da aus aber dann in den eigentlichen ADMIN Bereich zu kommen ist so nicht ganz easy.
Das Tablet kann man natürlich dann auch sichern. Muster, Pin oder was sonst im Angebot ist.
Meine Familienist auch nicht so bewandert und bisher klappt es ganz gut. ToiToiToi... ;-)
Ob er das natürlich mit Android realisieren will?

Thorsten Pferdekaemper

Zitat von: Tutti_Bomovski am 29 Januar 2017, 14:48:16
Natürlich kann man eine URL angeben. Man muss ja irgendwie die Seite laden. Von da aus aber dann in den eigentlichen ADMIN Bereich zu kommen ist so nicht ganz easy.
Ich meinte damit: Du richtest sozusagen jemandem das Teil ein. Derjenige geht aber dann in die Einstellungen des Fully Browsers und ändert die Adresse auf die "echte" FHEM Adresse, also nicht die vom TabletUI.

ZitatDas Tablet kann man natürlich dann auch sichern. Muster, Pin oder was sonst im Angebot ist.
Klar, aber darum geht's ja nicht. Es geht darum, dass jemand, der über TabletUI zugreifen kann (d.h. der prinzipiell sich schon mal auf seinem Telefon/Tablet/Rechner anmelden kann), nicht auch auf FHEM selbst zugreifen kann.

Ich denke, dass die Aufgabenstellung etwas theoretisch ist. Normalerweise sind ja Familienmitglieder nicht so destruktiv veranlagt, dass sie sich absichtlich auf eine Konfigurationsoberfläche hacken. Man gibt seiner Familie halt die URL zum TabletUI und sagt gar nicht, dass man damit theoretisch auch auf die "richtige" Oberfläche kommen kann.

Gruß,
   Thorsten
FUIP

fstefan1960

#13
Schön, dass sich hier eine solche Diskussion ergibt.

Hauptziel ist schon, es mit Android zu machen, aber da dann gerne mit dem "Own-Device" der Leute. Für die anderen gerne auch iOS.
Dass man die URL immer auch manuell eingeben kann, ist klar. Aber dann soll ja die PW-Abfrage kommen.
Wenn ich aber nur in FTUI unterwegs bin, dann gerne ohne oder mit einer anderen.

Ideal wäre eben, quasi eine Ebene "Admin" zu haben und eine andere "Benutzer". Der Admin kann neue Geräte einhängen und web-Befehle definieren, dazu auch notifies usw.. Der Benutzer kann über das TabletUI Licht an und aus schalten usw.

Meine Eltern wohnen eben z.B. 400 km weit weg. Wenn ich da immer wieder hin soll, weil jemand (gar nicht böse) irgend wo "drangekommen" ist, ist das nicht so fein. :)
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.

Thorsten Pferdekaemper

Hi,
dann braucht das ganze aber gar nicht wirklich super sicher zu sein, sondern nur gegen Schusseligkeit gesichert:
Hast Du schon mal versucht, die URL in fhemweb_url mit der URL-Basic-Auth-Syntax zu versehen? Also in etwa http://user:password@192.168.2.167:8083/fhem.
Das ist zwar nicht wirklich sicher, aber für jemand nicht so technik-affines wird es schwierig.
Dann vielleicht noch einen schwierigen Port verwenden, also nicht 8083 sondern 53467 oder so.
...und dann die von TabletUI verwendete FHEMWEB-Instanz "dicht" machen, also alle Räume hidden etc. und nur noch die Kommandos erlauben, die TabletUI braucht. Siehe Commandref "allowed" oder so.
Gruß,
    Thorsten
FUIP