csrfToken - Seite bei Fehler neu laden

Begonnen von drhirn, 07 März 2017, 10:55:01

Vorheriges Thema - Nächstes Thema

drhirn

Hi,

ich finde die csrfToken-Geschichte ja eigentlich nett.
Blöd ist halt, dass ich nach jedem Update von FHEM (bzw. shutdown+restart) durch die Wohnung rennen und TabletUI auf jedem Tablet neu laden muss, weil ich ansonsten tausende Fehlermeldungen vom Typ FHEMWEB WEB CSRF error im FHEM-Log habe.

Gäbe es eine Möglichkeit, FTUI automatisch neu zu starten (refresh/-load), wenn da irgendwas mit dem Token nicht passt? Oder gibt's eine andere Abhilfe?

Danke!
Stefan

ArduPino

Tablet UI verursacht keinen Fehler in der neuen Version.

Gesendet von meinem Wileyfox Swift mit Tapatalk


drhirn

Sondern? Ich mein, wie bekommt FTUI mit, dass es einen neuen Token verwenden muss?

ArduPino

Keine Ahnung. Ich habe gestern aber noch um die 100 Geräte aus der fhem config entfernt und einen Neustart gemacht, hatte keine csrf Fehlermeldung. Aber damit kennen sich andere besser aus. Das Attribut "csrftoken none" hatte ich nur zur Übergangszeit gesetzt und dann wieder entfernt.

Gesendet von meinem Wileyfox Swift mit Tapatalk


ArduPino

Na toll. Jetzt habe ich es auch !
Ich habe schon mehrere Neustarts gemacht, ohne diese Meldung zu bekommen.
Am Tablet habe ich Wlan aber deaktiviert, wenn es im Ruhemodus ist.
Erst wenn ich es "aufwecke" wird Wlan aktiviert. Der Fully kiosk Browser wartet dann solange und lädt die Seite dann neu.
Eben war ich kurz dran, Wlan war also vermutlich noch an.
Die letzten Tage war ich aber auch hin und wieder am Tablet und ahbe diese Meldung nicht bekommen.

Das hört gerade gar nicht mehr auf, auch nicht nach einem Reload am Tablet. Setze das attribut jetzt mal, damit ruhe ist.
Kann man das Tablet UI nicht auf ein anderes FHEMWEB ...dings...was auch immer...leiten ?
Ich benutze WEBtablet auf Port 8086 ohne Passwort und mit attib csrfToken none  da ich HTTP Abfragen von einer IP Kamera mache.
Portfreigaben fürs Internet habe ich aber keine. Auch benutze ich dieses WEBtablet nicht für Konfigurationen.
Kann man das Tablet UI nicht auch darüber laufen lassen ?

setstate

Irgendwo hatte ich auch gelesen, dass man auf fixen csrf Token stellen kann anstatt Random.

ArduPino

Ich dachte das Tablet UI wäre an einen Port gebunden, ist es ja gar nicht.
Ich habe nun einfach WEBtablet mit Port 8086 verwendet für den Aufruf von meinem Tablet, dort habe ich das attrib csrfToken none gesetzt.
In der normalen Umgebung habe ich es an. Gerade getestet, geht so (aber das dachte ich ja vorher auch:-)
Denke mal das es wegen der Sicherheit nicht besonders tragisch ist, da es nur Netzintern vom Tablet verwendet wird.

drhirn

Zitat von: setstate am 08 März 2017, 20:47:37
Irgendwo hatte ich auch gelesen, dass man auf fixen csrf Token stellen kann anstatt Random.

Ja, eh. Aber dann kann ich ihn eigentlich gleich auf "none" auch setzen. Da ist dann nicht mehr viel Unterschied ;)

ArduPino

Ich weiß gar nicht was das soll. Ok es gibt da eine Lücke, aber müsste dann nicht auch eine böse Seite in einem Tab offen sein, und die müsste dann auch noch gezielt auf diese Sicherheitslücke zugreifen. Ich hab zu 50% Foren offen, eBay, Amazon...fast alles was bekannt ist. Stellenweise habe ich 20 Tabs auf, ob da aber eine böswillige Seite dabei ist, bezweifel ich fast. Wenn das so wie ich es jetzt habe läuft, bleibt es so.

Gesendet von meinem Wileyfox Swift mit Tapatalk


Thyraz

Zitat von: ArduPino am 08 März 2017, 21:05:22
Denke mal das es wegen der Sicherheit nicht besonders tragisch ist, da es nur Netzintern vom Tablet verwendet wird.

Kommt drauf an ob FTUI auf dem Tablet auch in deinem Browser läuft mit dem du auch sonst surfst.
Sprich: Ist der Browser auf deinem Tablet bei dieser Webinstanz (welche nun ohne Token läuft) angemeldet, so dass böse Links ohne Passwortabfrage ausgeführt werden würden?
Wenn das so ist, dann bist du jetzt genauso angreifbar, wie wenn du bei deiner Hauptinstanz den Token auf None gesetzt hättest.

Zitat von: drhirn am 09 März 2017, 09:18:31
Ja, eh. Aber dann kann ich ihn eigentlich gleich auf "none" auch setzen. Da ist dann nicht mehr viel Unterschied ;)
Wieso, woher hat der Angreifer deinen festen Token?
Da muss davor ja schon was sicherheitstechnisch schief gegangen sein und ein CSRF Angriff sollte dein kleinstes Problem sein.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

ArduPino

Mein Tablet wird nur für  das Tablet UI verwendet, das Passwort hab ich auf dem Port (der Webinstanz) entfernt.

Also kann eine böswillige Seite rausfinden was ich gerade mache, in den Tap neben dran rein schauen, dort dann Passwörter und Login angreifen und die kleine Buchstabenkette (Token) die ich eventuell mit in einem http Aufruf sende bleibt versteckt ?
Also ich finde das ganze etwas merkwürdig.

Man könnte sich auch angewöhnen nur ein Tab offen zu lassen. Problem gelöst (?)

Gesendet von meinem Wileyfox Swift mit Tapatalk


ChrisK

Zitat von: ArduPino am 09 März 2017, 12:20:30
Also kann eine böswillige Seite rausfinden was ich gerade mache, in den Tap neben dran rein schauen, dort dann Passwörter und Login angreifen und die kleine Buchstabenkette (Token) die ich eventuell mit in einem http Aufruf sende bleibt versteckt ?
Wenn ich es richtig verstanden habe, dann ist es so:

  • Du hast in einem anderen Tab FTUI geöffnet (oder fhem) und hast Dich in diesem Tab angemeldet
  • der Browser hat sich gemerkt, dass Du dort angemeldet bist
  • wenn Du FTUI in der gleichen Browser-Sitzung in einem neuen Tab öffnest, dann musst Du Dich nicht neu anmelden weil Dein Browser weiß, dass Du angemeldet bist
  • wenn Du in der gleichen Browser-Sitzung in einem neuen Tab eine böse Seite (oder ein unsicheres Forum mit einem bösen User; oder einen unsicheren Blog mit einem bösen Kommentierer) öffnest und auf dieser Seite per JavaScript ein fhem-Kommando an Deine fhem-IP sendet, dann wird es direkt ausgeführt da die Anmeldung nicht mehr erforderlich ist

Der böse Code müsste also auch die IP Deines FHEM-Servers kennen oder localhost verwendest. localhost wird aber auf Deinem Tablet nix bringen.
Korrigiert mich, wenn ich das falsch verstanden habe.

ArduPino

Ich habe heute noch einige Dinge verändert und paar Perl Fehler im Log. Dann war alles ok, Neustart und das Log hat sich rasend mit diesen csrf Fehlern gefüllt. Ich hab nichts großartiges gemacht, das Tablet UI mal im Browser geöffnet, nachgesehen ob irgend was anderes war,  bisschen rum geklickt und dann hat es aufgehört. Genau so seltsam wie das autocreate, das auf einmal Geräte anlegt, obwohl diese blockiert sind. Und jetzt wo ich disable 1 entfernt und die ignore Liste wieder gelöscht habe, ist wieder Ruhe. Also irgend was ist seltsam...Vollmond oder was?

Gesendet von meinem Wileyfox Swift mit Tapatalk