FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: wy3 am 04 März 2018, 23:33:08

Titel: https in FBAHAHTTP
Beitrag von: wy3 am 04 März 2018, 23:33:08
Hallo zusammen

ich würde gerne einen Vorschlag zum Modul 00_FBAHAHTTP.pm machen:

Ich habe eben meinen AVM Fritz!Powerline 546E neu eingebunden, weil nach dem Firmware-Update vor einiger Zeit keine Verbindung mehr zustanden kam und habe entsprechend auf FBAHAHTTP gewechselt. Allerdings hat es mich gestört, dass die Verbindung unverschlüsselt über http erfolgt ist. Ob vor der Passwortübermittlung ein Digest durchgeführt wird, habe ich mir nicht angesehen.
Aus dem Code von 00_FBAHAHTTP.pm und der Dokumentation von HttpUtils ging aber hervor, dass auch https-Verbindungen kein Problem darstellen sollten. In 00_FBAHAHTTP.pm wird an zwei Stellen die URL mit "http://" angegeben. Im Versuch habe ich http jeweils mit https ersetzt und nach einem Neustart die Verbindung mit tcpdump untersucht. Es funktioniert ohne Probleme und ohne weitere Konfiguration. Das Ziel, dass insbesondere Passwörter nicht im Klartext übertragen werden, war damit schon erfüllt.

Nun gibt es wahrscheinlich nicht für jedes Gerät eine https-Verbindung. Mein Vorschlag ist, an beiden Stellen, an denen "http://" auftaucht, genau diesen String durch eine Variable zu ersetzen. Diese Variable sollte abhängig von einem Attribut (oder Internal), was zum jeweiligen Gerät definiert wird, entweder mit "http://" oder "https://" belegt werden. Welcher Wert von beiden als default angenommen wird, sei dahingestellt.
Diese Unterscheidung wäre in der Pflege einfacher als ein Fork, nennen wir ihn einfach mal FBAHAHTTPS.

In einer zweiten Ausbaustufe könnte man noch über Zertifikatsprüfungen nachdenken. Ohne mir das näher angesehen zu haben, vermute ich aber, dass das noch bei den HttpUtils zuerst implementiert werden müsste.

Viele Grüße
Titel: Antw:https in FBAHAHTTP
Beitrag von: rudolfkoenig am 06 März 2018, 22:13:03
ZitatAllerdings hat es mich gestört, dass die Verbindung unverschlüsselt über http erfolgt ist.
Warum? Bist du paranoid, oder gibt es nicht vertrauenswuerdige Teilnehmer im (hoffentlich abgesicherten) lokalen Netz?

ZitatDas Ziel, dass insbesondere Passwörter nicht im Klartext übertragen werden, war damit schon erfüllt.
Nicht wirklich, weil das SID in FritzBoxUtils.pm besorgt wird, und da habe ich auch nur http verwendet.

Ich habe jetzt beide Dateien angepasst, damit man optional https spezifizieren kann. Dafuer muss die Definition so ausschauen:
  define fbahahttp FBAHAHTTP https://fritz.box

Titel: Antw:https in FBAHAHTTP
Beitrag von: wy3 am 08 März 2018, 21:09:07
ZitatWarum? Bist du paranoid, oder gibt es nicht vertrauenswuerdige Teilnehmer im (hoffentlich abgesicherten) lokalen Netz?
Vielleicht fallen dir noch ein paar andere Optionen ein, ich lasse dir einfach mal den Rätselspaß ;)

Die Modulbeziehungen untereinander habe ich mir gar nicht angesehen, guter Hinweis. Am besten überblickt man halt immer noch den eigenen Code.

Danke jedenfalls für die schnelle Umsetzung! Ich habe mir das Update eben installiert. Die Lösung über die Definition finde ich auch gut. Damit kann ich https verwenden, du kannst https benutzen und alle anderen wählen ihren Favoriten.

Viele Grüße
wy3