NEWS
Adapter für einen sicheren Remote-Zugriff auf ioBroker
-
@iwg
bist du eigentlich der Entwickler?
(Fast) gleicher Name, auch hier gerade erst im Forum angemeldet... -
@homoran yup, mein erster
-
Warum benötigt man dafür einen Adapter ?
-
@wendy2702 weil es evtl. nicht für alle einfach WireGuard zu verstehen und einzurichten. Außerdem, man braucht ja einen Relay-Server.
-
@iwg sagte: sollte man eine manuelle Installation wagen:
Das funktioniert ohne die main.js? Die finde ich nämlich nicht.
-
@iwg sagte in Adapter für einen sicheren Remote-Zugriff auf ioBroker:
@wendy2702 weil es evtl. nicht für alle einfach WireGuard zu verstehen und einzurichten. Außerdem, man braucht ja einen Relay-Server.
Ich hatte Deinen Post wie eine frage verstanden und nicht das du einen Adapter entwickelst.
Wieso braucht man einen Relay-Server?
-
@wendy2702 einen Relay-Server braucht man als gateway zwischen dem ioBroker host und remote Geräten. Der ioBroker ist normalerweise nicht aus dem Internet erreichbar, genau so wie die remotes. Wenn man von seinem iPhone aus auf den ioBroker zugreifen möchte, dann bräuchte man einen gateway, der sowohl für den ioBroker als auch für den iPhone erreichbar ist.
-
@paul53 die ist im npm-Packet mit dabei
-
@iwg sagte in Adapter für einen sicheren Remote-Zugriff auf ioBroker:
einen Relay-Server braucht man als gateway zwischen dem ioBroker host und remote Geräten.
Bei DualStack lite. Bei reinen ipv6 oder reinen ipv4 Verbindungen braucht man das nicht.
-
@thomas-braun Na irgendwie schon. Jemand muss ja die in IPv6 eingebetete private IPv4 Adressen in die öffentlichen NATen. Der NAT Server steht dann beim Provider. Es sei denn ich stehe auf dem Schlauch
-
@iwg sagte in Adapter für einen sicheren Remote-Zugriff auf ioBroker:
@paul53 die ist im npm-Packet mit dabei
und warum nicht im GitHub Repo?
-
@iwg sagte in Adapter für einen sicheren Remote-Zugriff auf ioBroker:
Jemand muss ja die in IPv6 eingebetete private IPv4 Adressen in die öffentlichen NATen.
Bei reinen IPv6 wird nix eingebettet.
-
@iwg sagte in Adapter für einen sicheren Remote-Zugriff auf ioBroker:
@wendy2702 einen Relay-Server braucht man als gateway zwischen dem ioBroker host und remote Geräten. Der ioBroker ist normalerweise nicht aus dem Internet erreichbar, genau so wie die remotes. Wenn man von seinem iPhone aus auf den ioBroker zugreifen möchte, dann bräuchte man einen gateway, der sowohl für den ioBroker als auch für den iPhone erreichbar ist.
Was sind denn die „remote Geräte“ in deinem Beispiel?
Und wieso benötige ich den zusätzlich zu WireGuard?
Oder soll WireGuard bzw. dein Adapter in deinen Ausführungen der Relay Server sein?
Wird in deinem Adapter wenn er installiert ist auch erklärt was man in seinem Router etc. machen muss damit der VPN aufgebaut werden kann?
-
@iwg Willkommen in der Runde der Adapter-Entwickler und glückwunsch zum ersten Adapter.
Da hast Du dir gleich Thema ausgesucht welches sehr Sicherheitskritisch ist - und das als Closed Source Adapter dessen JavaScript Obfruscated ist. Den zu benutzen setzt bei den Usern einiges an Vertrauen voraus (ist für diese aber nicht ersichtlich).
Es gibt mit dem Cloud Adapter für Fernzugriff und dem Link-Adapter (inkl. Link Server-Seite für Installatoren) an sich etablierte Wege einen sicheren Fernzugriff zu gewährleisten.
Ebenso ist die Admin-Konfig Seite in deinem npm Paket "bogus" weil Sie dem Template entspricht für admin <5 ... die seite für admin5+ da ist was drin weil jsonConfigAlso alles in allem muss ich sagen das das für mich nicht sonderlich vertrauenserweckend ist!
Für eine künftige Aufnahme in das Repo musst Du in jedem Fall mir (oder einem der anderen Core-Devs Zugriff geben für einen Review ... ggf schon jetzt machen?).
Bitte gib mal mehr Infos zu dem was der Adapter genau tut ...
Bitte verstehe mich nicht falsch. Ich möchte deinen Adapter keineswegs schlecht machen. Allerdings mit den Informationen in so einem sicherheitskritischen Thema hat das einen komischen Beigeschmack wie es jetzt gerade ist. Mal so interessehalber: was ist eigentlich der Grund für Closed source?
-
@wendy2702 sagte in Adapter für einen sicheren Remote-Zugriff auf ioBroker:
Wird in deinem Adapter wenn er installiert ist auch erklärt
im Repo ist ein HowTo als HTML
-
@wendy2702 Die "remote Geräte" sind Geräte, die man außerhalb des lokalen Netzwerks verwendet, um auf ioBroker zuzugreifen. Z.B. ein Smartphone, oder ein PC in einem anderen lokalen Netztwerk.
WireGuard ist die Technologie, die drunter liegt. Die vom Adapter verwendet wird.
Im Router muss man nichts machen. Die Beschreibung wie man alles einrichtet ist aus den Einstellungen des Adapters aufrufbar und liegt hier:
https://htmlpreview.github.io/?https://github.com/iwg-vpn/iobroker.iwg-vpn/blob/main/howto/read-me.html -
@homoran Richtig. Einfach dem Link folgen:
https://htmlpreview.github.io/?https://github.com/iwg-vpn/iobroker.iwg-vpn/blob/main/howto/read-me.html -
@apollon77 Erstmal Vielen Dank fürs Willkommenheissen. Und ich verstehe das nicht falsch. Alles sind berechtigte Einwände.
Mit dem Satz kann ich leider nichts anfangen, vielleicht könntest Du ihn für dummies umformulieren: "...die Admin-Konfig Seite in deinem npm Paket "bogus" weil Sie dem Template entspricht für admin <5 ... die seite für admin5+ da ist was drin weil jsonConfig."
Ich habe mir die etablierten Wege eines sicheren Fernzugriffs angeschaut. Die sind auch gut, aber nicht perfekt. Cloud Adapter geht über HTTP, was einen erheblichen Performance drawback und eingeschränkte Funktionalität bedeutet. Link-Adapter kann HTTP und sogar UDP, braucht aber für UDP einen Client, das NodeJs basiert ist, also nicht optimal für mobile Geräte. Außerdem auch er hat erhebliche Nachteile, wie: kein Support für HTTPs oder Login-Maske im ioBroker Web-UI.
Dieser Adapter ist auch bei Weitem nicht perfekt. Aber bietet beste Performance, alle Protokolle ab UDP und es sollen noch weiter Features kommen, wie z.B. NAT ins lokale Netzwerk.
Mit dem Vertrauen ja, ist so eine Sache. Ich wüsste allerdings nicht warum unbedingt Open Source mehr Vertrauen bedeuten soll. Was der Adapter macht, ist, glaube ich, aus der Beschreibung relativ klar. Wenn nicht, bin ich bereit es noch detaillierter zu machen. Würde ich persönlich was im Schilde führen, so würde ich es nicht im Adapter-Code packen, sondern in einer Dependency. Da schaut ja keiner hin
Und, generell, glaube ich, dass jeder mit dem ioBroker und unzähligen WiFi "smart" Geräten so viel Code und Funk permanent bei sich laufen lässt, da blickt keiner mehr durch
Ich will damit nicht sagen, dass Sicherheit unwichtig ist oder ich daran nicht gedacht haben. Es ist vor allem in meinem Interesse die ganze Sache sicher zu gestalten. Ich habe mir auch Gedanken gemacht wie ich das erreichen kann und viel Zeit in die Implementierung gesteckt. Ich kann konkrete Fragen dazu beantworten, man kann letztlich auch das lokale Netzwerk sniffen und sich selbst überzeugen.
Ok, lange Rede, kurzer Sinn, vielen Dank fürs Feedback. Ich werde an den Verbesserungsvorschlägen arbeiten. -
@iwg sagte in Adapter für einen sicheren Remote-Zugriff auf ioBroker:
Mit dem Satz kann ich leider nichts anfangen, vielleicht könntest Du ihn für dummies umformulieren: "...die Admin-Konfig Seite in deinem npm Paket "bogus" weil Sie dem Template entspricht für admin <5 ... die seite für admin5+ da ist was drin weil jsonConfig."
Du hast eine index_m.html drin, welche nur "option1" und "option2" enthält. Dieses würde von Admin 4.x genutzt und alle User die mit Admin 4 unterwegs sind würde damit "keine" gescheite Admin-Seite bekommen. Die jsonConfig, wlche ab Admin 5 genutzt wird macht da mehr sinn. Am besten mach eine "globalDependency" zu Admin >= 5.1.0 rein dann ists egal und du kannst auch die index_m.html rausnehmen.
Und vielen Dank für deine restlichen Ausführungen
-
@apollon77 Oh... jetzt verstehe ich was Du meintest. Vielen Dank für den Hinweis!