CSRF Token

Begonnen von michael.winkler, 20 Februar 2017, 11:37:48

Vorheriges Thema - Nächstes Thema

michael.winkler

Hallo,

ich habe leider keine Schreibrechte im Entwicklungszweig. Daher schreibe ich hier und hoffe dass die entsprechenden Personen es lesen und mir antworten.

So ganz habe ich noch nicht verstanden warum man einen CSRF Token einführen muss, ok aber es soll wohl so sein. Meine Module bzw. GUI´s können aktuell alle damit umgehen.

Wäre es den möglich das LOG noch um die IP-Adresse zu erweitern? Bei dem Log Eintrag, ist nicht wirklich ersichtlich wer hier versucht einen Set Befehl abzusetzen.

2017.02.20 11:17:29 3: FHEMWEB WEB.Browser CSRF error:  ne fhem_295793352430997. For detals see the csrfToken FHEMWEB attribute


Gruß
Michael

betateilchen

Zitat von: michael.winkler am 20 Februar 2017, 11:37:48
So ganz habe ich noch nicht verstanden warum man einen CSRF Token einführen muss,

Sicherheitsaspekte.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

michael.winkler

Zitat von: betateilchen am 20 Februar 2017, 12:05:59
Sicherheitsaspekte.
In wie fern ist das ein Sicherheitsaspekt? Wenn ich die URL aufrufen liefert mir die Webseite doch direkt den Token! Was habe ich dann an Sicherheit gewonnen?

Versteht das nicht als Kritik! Ich versuche nur zu verstehen was daran sicherer sein soll als vorher.

betateilchen

Zitat von: michael.winkler am 20 Februar 2017, 12:52:31
Wenn ich die URL aufrufen liefert mir die Webseite doch direkt den Token! Was habe ich dann an Sicherheit gewonnen?

FHEM liefert die aufgerufene Seite nur aus, wenn das im body enthaltene token gültig ist.

https://de.wikipedia.org/wiki/Cross-Site-Request-Forgery
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

hartenthaler

Ich bin zwar kein Modul-Entwickler, aber habe shell-scripte am laufen. Diese enthalten z.B. so etwas

perl "$fhemdir"/fhem.pl 7072 $myTelnetPW "set FHEM.Backup off"
perl "$fhemdir"/fhem.pl 7072 $myTelnetPW "setreading FHEM.Backup info backup finished"


Sehe ich es richtig, dass ich da nun ein Problem bekommen werde? Muss ich diese Aufrufe nun mit einem CSRF-token versehen?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

Wuppi68

#5
Zitat von: hartenthaler am 21 Februar 2017, 18:23:49
Ich bin zwar kein Modul-Entwickler, aber habe shell-scripte am laufen. Diese enthalten z.B. so etwas

perl "$fhemdir"/fhem.pl 7072 $myTelnetPW "set FHEM.Backup off"
perl "$fhemdir"/fhem.pl 7072 $myTelnetPW "setreading FHEM.Backup info backup finished"


Sehe ich es richtig, dass ich da nun ein Problem bekommen werde? Muss ich diese Aufrufe nun mit einem CSRF-token versehen?

edit:

ZitatJa

nehme anstelle von perl doch einfach einen pipe auf den Telnetport

ist eine Falschaussage von mir - Sorry

CoolTux hat es richtig erkannt
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

CoolTux

Zitat von: hartenthaler am 21 Februar 2017, 18:23:49
Ich bin zwar kein Modul-Entwickler, aber habe shell-scripte am laufen. Diese enthalten z.B. so etwas

perl "$fhemdir"/fhem.pl 7072 $myTelnetPW "set FHEM.Backup off"
perl "$fhemdir"/fhem.pl 7072 $myTelnetPW "setreading FHEM.Backup info backup finished"


Sehe ich es richtig, dass ich da nun ein Problem bekommen werde? Muss ich diese Aufrufe nun mit einem CSRF-token versehen?

Ich würde NEIN sagen. Denn Du rufst nicht FHEMWEB auf sondern gehst über telnet. Keine Gefahr also.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ManuZz

Hallo zusammen,

ich bin hier sicher der moorigste unter allen, aber ich habe keine Anleitung gefunden wie ich das csrfToken einbaue. Das auf none setzen hat einmal funktioniert. Nun bekomme ich ein neuen csrfToken Fehler im log angezeigt. sieht nach einem neu generierten Token aus.
Ich würde ja auch warten (auch wenn ich nicht weiß auf was, denn ich habe nirgends etwas gefunden wie ich das schöne Sicherheitsfeature einbaue), aber es sind alle meine Lichtschalter in der Wohnung lahmgelegt.

Ich habe in der config dies stehen:

attr WEB csrfToken none
attr WEBphone csrfToken none
attr WEBtablet csrfToken none

Aber bekomme immer noch den Fehler: FHEMWEB WEB CSRF error:  ne fhem_50100039103845.3. For detals see the csrfToken FHEMWEB attribute

Leider bin ich auch nicht der ultimative crack, darum habe ich keine Ahnung wie ich nun weiter komme. Ich habe hier im Forum auch nur gelesen das man es hätte einbauen sollen, aber nicht wie.
Für Hilfe wäre ich sehr dankbar... 

CoolTux

Bitte sei so nett und schreibe Dein Anliegen in einen neuen Thread im korrekten Forum.
Vorerst würde ich da FHEMWEB unter Frontends. Das hier ist eine Wunschliste und kein Problemforum.


Danke Dir
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

Hi,
in einem anderen Thread...
https://forum.fhem.de/index.php/topic,68314.msg598070.html#msg598070
Da wird's recht gut erklärt.
Gruß,
   Thorsten
FUIP