Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. den ioBroker sicher machen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    den ioBroker sicher machen

    This topic has been deleted. Only users with topic management privileges can see it.
    • Meister Mopper
      Meister Mopper @stenmic last edited by Meister Mopper

      @stenmic Bin zwar vom Fachmann weit entfernt, aber kann Dir sagen, dass eine Absicherung mit letsencrypt Zertifikaten empfehlenswert ist, wenn Du die ports 80/443 ins Internet freigibst.
      Hierzu solltest Du jedoch, z. B. mit einem reverse proxy, den eingehenden Datenverkehr in deinem Netzwerk routen und zusätzlich weitere Authentifizierungsabsicherungen einrichten.

      Ja, mit http wird der gesamte Datenverkehr unverschlüsselt (plaintext) übermittelt, https ist verschlüsselt.

      VPN ist eine derzeit als sicher eingestufte Datenübertragung.

      S 2 Replies Last reply Reply Quote 0
      • S
        stenmic @Meister Mopper last edited by

        @meister-mopper sagte in den ioBroker sicher machen:

        Ja, mit http wird der gesamte Datenverkehr unverschlüsselt (plaintext) übermittelt, https ist verschlüsselt.

        auch der von Adaptern, Passwörter etc.? Das wäre ja ein hohes Sicherheitsrisiko.
        Wie gesagt, ich nutze keine Portfreigabe, nur VPN und die ios App.

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @stenmic last edited by paul53

          @stenmic sagte: ich nutze keine Portfreigabe, nur VPN

          Dann spielt sich alles nur im Heimnetz ab. Wo ist da ein Sicherheitsrisiko, außer man hat sich einen Trojaner eingefangen?

          S 1 Reply Last reply Reply Quote 0
          • S
            stenmic @paul53 last edited by stenmic

            @paul53 sagte in den ioBroker sicher machen:

            @stenmic sagte: ich nutze keine Portfreigabe, nur VPN

            Dann spielt sich alles nur im Heimnetz ab. Wo ist da ein Sicherheitsrisiko, außer man hat sich einen Trojaner eingefangen?

            ja, ich bewege mich nur im Heimnetzwerk, das ist richtig. Wie sieht es mit den Adaptern aus. Hier sind oft Passwörter hinterlegt und diese gehen schließlich bei Abfragen ins Internet. Macht https da einen Unterschied oder ist es da auch egal?

            S 1 Reply Last reply Reply Quote 0
            • S
              stenmic @Meister Mopper last edited by

              @meister-mopper sagte in den ioBroker sicher machen:

              wenn Du die ports 80/443 ins Internet freigibst.

              Warum sollte man diese Ports überhaupt freigeben?

              1 Reply Last reply Reply Quote 0
              • S
                SSW-mcor @stenmic last edited by

                @stenmic Die Passwörter brauchen die Adapter doch nur für den Zugriff, z.B. auf die Fritzbox - das hat doch nichts mit dem Internet zu tun...
                Was könntest du denn z.B. mit meinen Fritzbox Login anfangen - der nützt dir nix, wenn du nicht hier im Netzwerk bist und sonst keine Infos hast.

                S 1 Reply Last reply Reply Quote 0
                • S
                  stenmic @SSW-mcor last edited by stenmic

                  @ssw-mcor Beispiel:
                  Mit dem BMW Adapter frage ich mit meinen (BMW) Login Daten den Status vom PKW online ab. Was hat das mit der FritzBox zu tun.
                  Es gibt genug Adapter die sich mit Passwörtern bei online Diensten anmelden. Die Frage ist, macht da https (Zertifikat) einen Unterschied.

                  TeNNo2k5 S 2 Replies Last reply Reply Quote 0
                  • TeNNo2k5
                    TeNNo2k5 @stenmic last edited by

                    @stenmic

                    Nein setzt du auf https mit letsencrypt wird die die Kommunikation mit deinem Browser verschlüsselt, das ändert nicht automatisch wie deine Adapter mit Diensten im Web kommunizieren.

                    Ich bin kein Entwickler und kann deswegen keine Aussagen treffen wie einzelne Adapter mit dem Web kommunizieren, aber am Ende hängt es sicherlich vom jeweiligen Dienst ab wie dieser kommunizieren will.

                    Dein iobroker hat auch bereits automatisch bei der Installation Zertifikate generiert für https, vielleicht werden diese auch von den Adaptern für eine verschlüsselte Kommunikation benutzt.

                    Der Unterschied beim Einsatz von letsencrypt ist das alle gängigen Browser die Zertifizierung Stelle kennen und somit keine Warnmeldung erscheint.

                    Zur Erhöhung der Sicherheit solltest du sowie deinen admin Benutzer mit einem Passwort versehen, und somit stellt du automatisch auf https um, die Warnmeldungen kannst du dann ignorieren bzw. eine Ausnahme im Browser setzen.

                    Und zu deiner Frage ob es bessere Lösungen als myfritz gibt. Ja es gibt immer bessere und vor allem schnellere Lösungen, aber für deinen Einsatzweck reicht der Dienst völlig aus auch von der Sicherheit.

                    Grüße
                    TeNNo2k5

                    S 1 Reply Last reply Reply Quote 1
                    • S
                      stenmic @TeNNo2k5 last edited by

                      @tenno2k5 danke für deine Erklärung

                      1 Reply Last reply Reply Quote 0
                      • I
                        ignis-draco last edited by ignis-draco

                        Hi,

                        ich versuche mal etwas Licht ins Dunkel zu bringe.
                        Es gibt zwei grundlegende unterschiedlich Verbindungsarten.
                        Eingehende und Ausgehende. Fangen wir mit den einfacheren an.

                        • Ausgehende
                          Jedes mal wenn man den Webbrowser öffnet und eine Webseite sehen will wird einer Ausgehende Verbindung aufgebaut. Wie jedem klar seinen sollte muss man dafür nur eine Verbindung ins Internet haben und nichts extra konfigurieren. Welches Protokoll gesprochen wird und welcher Port dafür benötigt wird kann ohne Probleme selbst gewählt werden.

                        • Eingehende
                          Hier wird die Verbindung von außen aufgebaut. Jetzt müsste man sich mal verdeutlichen das bei einem normalen Internetanschluss es ja nur ein Gerät (Router) gibt der wirklich mit einem Kable (egal ob DSL, Kable oder Mobilfunk) mit dem Internet verbunden ist. Das heißt alle Rechner/Handys die man zu Hause hat sende ihre Daten zu diesem Router und der versendet es dann ins Internet.
                          Wenn jetzt von außen einen Verbindung aufgebaut werden soll wird der Router das im normal Fall erst mal abblocken. Da er ja nicht weiß an welchen der vielen Geräte die man besitzt die Daten gesendet werden soll. Dies passiert durch die Firewall. Um es trotzdem hin zu bekommen einen Rechner gezielt aus dem Internet anzusprechen kann man eine Postweiterleitung bzw. NAT einrichten. Dabei sagt man der Firewall wenn jemand eine Verbindung zu einem ganz bestimmten Port öffnen will dann sende die Daten bitte genau an diese Gerät.

                        Was bedeute das jetzt konkret?
                        Die Adapter im iobroker entscheiden selber ob sie verschlüsselt oder unverschlüsselt mit dem Internet kommunizieren (Ausgehende Verdingung).
                        Solange man keine Postweiterleitung einrichtet kann auf die ioBroker instanz nur von den Rechner/handys hinter dem Router zugegriffen werden. Also auch allen Geräten die im WLan hängen[1]

                        Was kann ich machen wenn ich von unterwegs an den ioBroker kommen möchte
                        Meine Persönliche Empfehlung ist es nicht den Port zum ioBroker weiterzuleiten.
                        Ja man kann mit https es etwas sicherer machen jedoch nützt das nichts wenn im Login Code noch ein Fehler ist.
                        Ich bin der Meinung das es nur 3 gute Möglichkeiten dafür gibt.

                        • VPN
                          Über einen VPN Service (z.b. in der Fritzbox)[2] kann man sich z.b. mit dem Handy von unterwegs in den Bereich hinter dem Router einwählen so das man an alle Geräte kommt (auch dem ioBroker)

                        • SSH
                          Mein Fa­vo­rit jedoch für die meisten nicht Praktikable. Such begriffe wären "ssh-tunnel" (infos)

                        • Messanger
                          Wenn es nur darum geht ein paar Werte zu bekommen und etwas zu starten könnte man auch einfach einen Chatbot einrichten. So kann man einfach eine Nachricht senden um z.b. das Licht an zumachen oder so. (hier )

                        [1] außer wenn man VLANs und extra Firewall Regeln oder eine Gast-Wlan hat.
                        [2] habe ich selber noch nie verwendet.

                        P.S. Ich weiß ich habe das sehr vereinfacht da ich nichts über IP Adressen, dhcp, dyndns, DS-Lite usw. geschrieben haben.

                        S F 2 Replies Last reply Reply Quote 5
                        • S
                          stenmic @ignis-draco last edited by

                          @ignis-draco auch dir ein Dankeschön für deine Erklärung.
                          Ich nutze den VPN Service der Fritzbox und bin somit eigentlich zufrieden.

                          Was ich noch nicht verstehe, für was nun ein Zertifikat (https) überhaupt sinnvoll ist.
                          Vielleicht in einem Haushalt mit mehreren Personen (WG) wo man sich "hinter" dem Router etwas absichern möchte?
                          Ansonsten müsste ich ja gerade zur Zertifikaterstellung bzw. -erneuerung einen Port öffenen, oder?

                          TeNNo2k5 1 Reply Last reply Reply Quote 0
                          • I
                            ignis-draco last edited by

                            @stenmic

                            Durch ein Zertifikat (z.b. lets encrypt) kann man den Daten Verkehr zwischen Rechner und Server Verschlüsseln und verifizieren. Also sicherstellen das der Server der richtige ist und das die Daten nicht einfach mit belauscht werden können.
                            In einem Privaten umfällt (ohne Öffentlichen Port) ist es nicht zwingend Notwendig (Meine Meinung nach).

                            Es gibt mehrere Wege ein Zertifikat zu erstellen.

                            • Selbst erstellen ohne signatur (kostenlos)
                              Man hat alle Vorteile von z.b. https jedoch wird der Webbrowser meckern das er das Zertifikat nicht überprüfen kann. Dies kann man aber per Ausnahmeregelung (muss bei jedem benutzen Endgerät gemacht werden) umgehen.

                            • mit Signatur (kostenlos oder Teuer)
                              Das Zertifikat wird von einer Zentralen stelle unterschrieben. Dadurch kann der Webbrowser es überprüfen und man bekommt keine Warnmeldung.
                              Wenn man die Signatur von einer der großen Stellen bekommt dann ist das Zertifikat meist zwischen 1-5 Jahren gültig.
                              Man bekommt eine Datei die man auf den Rechner mit IoBroker packt diese Verfahren ist meinst Kostenpflichtig (ca. 200€).

                            Seit ein paar Jahren besteht die Möglichkeit kostenlos eine Signatur über lets encrypt zu bekommen. Diese Zertifikate sind "nur" 90 Tage gültig. Dies führt dazu das die Überprüfung Maschinell passieren muss. Bei der "Domain-Validierung"
                            die benötigt wird muss auf den Rechner eine Datei mit einem ganz bestimmten Inhalt erstellt werden die dann von lets encrypt überprüft wird[1]. Dies führt dazu das von lets encrypt eine Verbindung (Eingehende) zu dem Rechner aufgebaut werden muss. Also muss eine Portweiterleitung eingerichtet werden.

                            Meiner Meinung nach ist der Zugewinn an Sicherheit viel kleiner als die Unsicherheit durch den offene Port.
                            Anders sieht es aus wenn man z.b. ein Webserver betreiben möchte (z.b. Nextcloud) der aus dem Internet erreichbar seinen soll dort sollte man zwingend ein Zertifikat verwenden und das darf natürlich auch ein lets encrypt sein da der Port ja für die Funktion schon offen seien muss.

                            [1] Es gibt Programmen die sich um das regelmäßige erneuern kümmern. Wenn man das einmal eingerichtet hat passiert alles von alleine ohne das man was machen muss.

                            P.s. Ich habe extra den weg über ein eigenes Root-Zertifikat das man auf jedem Client installiert nicht erwählt.

                            A 1 Reply Last reply Reply Quote 0
                            • F
                              Funbug @ignis-draco last edited by

                              @ignis-draco sagte in den ioBroker sicher machen:

                              Also ich bin sehr an Deinem Angebot interessiert.

                              [3] Wenn Interesse besteht kann ich hier auch mehr ins Detail gehen.
                              [4] hier im Forum gibt es ein paar gute Beispiele dafür. Bei Interesse würde ich auch meinen Bot mal vorstellen.

                              Gruss Thomas

                              1 Reply Last reply Reply Quote 0
                              • TeNNo2k5
                                TeNNo2k5 @stenmic last edited by

                                @stenmic

                                Um es einfach zu halten, bleibe bei deiner VPN Lösung, verwende keine Port Freigaben und setze ein Passwort für deinen Admin Benutzer, was dann automatisch dazu führt (außer du lehnst das im Menü explizit ab) das du https mit dem selbst erstellen Zertifikat deiner ioBroker Instanz nutzt.

                                Den Aufwand mit letsencrypt und co. kannst du dir sparen.

                                Damit hast du alles nötige erfüllt um deinen ioBroker abzusichern.

                                Grüße
                                TeNNo2k5

                                1 Reply Last reply Reply Quote 0
                                • L
                                  lessthanmore last edited by

                                  Hat jemand zufällig einen Weg gefunden auf iOS - Geräten, die Zertifikatswarnung zu umgehen?
                                  Im Safari unter MacOS kann ich die Ausnahme hinzufügen, bzw. die Warnmeldung umgehen, aber unter iOS ist es mir bislang nicht gelungen.
                                  Es wird lediglich die Seite "Die Seite ist unsicher" angezeigt und das war es dann.

                                  Zwar sind bei mir alle Ports dicht, aber etwas mehr Sicherheit kann ja nie schaden.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    SSW-mcor @stenmic last edited by SSW-mcor

                                    @stenmic sagte in den ioBroker sicher machen:

                                    @ssw-mcor Beispiel:
                                    Was hat das mit der FritzBox zu tun.

                                    Fritzbox (Adapter TR-064) sollte als Beispiel dienen - hier sind schließlich auch Login-Daten hinterlegt, ohne Diese, kein Zugriff !!!

                                    Was das Internet angeht, laufen alle Adapter hinter dem Router (bei mir der Fritzbox), somit gehe ich mal davon aus, dass die gesamte Kommunikation/Datenaustausch verschlüsselt wird...

                                    Siehe auch:
                                    03140509-d895-4f8c-b20e-570570c91038-image.png

                                    Allerdings hab ich auch keine Ahnung 😊

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      Andersmacher @ignis-draco last edited by

                                      @ignis-draco sagte in den ioBroker sicher machen:

                                      @stenmic

                                      Durch ein Zertifikat (z.b. lets encrypt) kann man den Daten Verkehr zwischen Rechner und Server Verschlüsseln und verifizieren. Also sicherstellen das der Server der richtige ist und das die Daten nicht einfach mit belauscht werden können.

                                      @ignis-draco Vor ab, ich bin kein Netzwerkexperte, war mir bis eben aber sicher, daß ein lets encrypt Zertifikat (wie alle anderen Zertifikate auch) nichts zur Verschlüsselung beiträgt, sondern lediglich den Browser veranlaßt, bei einer https-Verbindung (also einer Verbindung, die auch ohne irgendein Zertifikat bereits verschlüsselt ist) keine Warnung anzuzeigen, weil er die Identität des Servers mit Hilfe des Zertifikats überprüft.

                                      Ich wäre sogar soweit gegangen zu behaupten, daß ich auch einem Server, der meinem Browser bei einer https-Verbindung ein vertrauensvolles Zertifikat "zeigt" und der Browser ihm daher "vertraut" (also keine Warnung anzeigt), zusätzlich auch noch immer selber vertrauen muß, denn schließlich kann sich ja jeder (also auch ein "nicht seriöser Serverbetreiber") solch ein Zertifakt beschaffen - oder?

                                      Gibt es nicht einen Unterschied zwischen Zertifikaten und Schlüsseln?

                                      Liege ich mit meinem "sicher geglaubten Wissen" falsch?

                                      TeNNo2k5 1 Reply Last reply Reply Quote 0
                                      • TeNNo2k5
                                        TeNNo2k5 @Andersmacher last edited by

                                        @andersmacher

                                        Beim Verbindungsaufbau über https werden die Zertifikate dein eigenes und die vom Ziel Server werden dazu genutzt die eigentliche Verschlüsselung aufzubauen, zu einem Zertifikat gehört ein privater und ein öffentlicher Schlüssel.

                                        Die öffentlichen Schlüssel werden zwischen beiden Seiten ausgetauscht, und durch ein Mathematisches Verfahren wird sichergestellt das nur der Server und der Client mit ihrem privaten und geheimen Schlüssel die eigentliche Verbindung entschlüsseln können.

                                        Näheres dazu hier:
                                        https://www.elektronik-kompendium.de/sites/net/1909031.htm

                                        Also ja es ist egal woher die eigentlichen Zertifikate stammen solange Sie einem gewissen aktuellen Standard entsprechen, dein Betriebssystem und auch z. B. der Firefox Browser bringen von Haus aus eine Liste von Zertifizierungsstellen mit und nur deren Zertifikaten wird automatischer vertraut solange Sie gültig sind.

                                        Und ja ein nicht „seriöser Serverbetreiber“ kann sich einfach z. B. ein kostenloses letsencrypt Zertifikat ausstellen, und somit Seine Webseite mit https anbieten ohne das beim User im Browser eine Fehlermeldung erscheint.

                                        Es gibt auch Zertifizierungsstellen die kostenpflichtig sind und bei denen genau geprüft wird, wer denn da sich für welchen Dienst ein Zertifikat austellen möchte.

                                        Nicht desto trotz ist letsencrypt ein super Service der den https Standard vorangetrieben hat.

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Andersmacher last edited by

                                          @tenno2k5 Hm..., ich bin noch nicht überzeugt, denn so wie ich das verstehe, ist Dein Link https://www.elektronik-kompendium.de/sites/net/1909031.htm ja gerade die Beschreibung eines Verfahrens, daß z. B. für https eingesetzt wird, aber eben nichts mit einem erworbenen, selbst erzeugten oder auf einem Server installierten/bereitgestellten Zertifikat zu tun hat, sondern "nur" die Verschlüsselung realisiert.

                                          Beim Verbindungsaufbau über https werden die Zertifikate dein eigenes und die vom Ziel Server werden dazu genutzt die eigentliche Verschlüsselung aufzubauen, zu einem Zertifikat gehört ein privater und ein öffentlicher Schlüssel.

                                          Diese Deine Beschreibung kenne ich so nur für Email-Verschlüsselung. Das hat aber soweit mir bekannt, nichts mit https zu tun, sondern soll dafür sorgen, daß eine Email die (warum auch immer) auf ihrem Weg zum Empfänger irgendwo (zwischen)gespeichert wird, dort dann verschlüsselt liegt (also nicht von Personen mit Zugriff auf den Speicherort gelesen werden kann) und wirklich nur vom vorgesehenen Empfänger gelesen werden kann.

                                          Ich bin noch immer der Meinung (laß mich aber gern eines Besseren belehren):
                                          Verschlüsselung und Zertifikat sind zwei Paar Schuhe und für die sichere Kommunikation mit einem Server via https braucht keine Seite (schon gar nicht der Client. Woher soll das denn auch kommen, wenn man z. B. mit einer frisch installierten Maschine eine https-Seite im Browser aufruft?) ein Zertifikat, wenn ich dem Server vertraue. Ein Indiz, ob ich dem Server vertrauen sollte/darf ist dann vorhanden, wenn er ein anerkanntes (also vom Browser ohne Warnung akzeptiertes) Zertifikat vorweisen kann.

                                          TeNNo2k5 1 Reply Last reply Reply Quote 0
                                          • TeNNo2k5
                                            TeNNo2k5 @Andersmacher last edited by TeNNo2k5

                                            @andersmacher

                                            Ach Gott Berufsschule ist lange her, vom vereinfachten Prinzip stimmt schon alles was ich geschrieben hatte bis auf „öffentlichen Schlüssel werden zwischen beiden Seiten ausgetauscht“

                                            Für Https sendet nur der Server dem Client seinen öffentlichen Schlüssel beim TLS Handshake.

                                            Und natürlich sind Zertifikate und Verschlüsselung zwei Paar Schuhe aber für Https mit TLS sowie es heutzutage gängig ist werden Zertifikate verwendet um einen symmetrischen Sitzungsschlüssel zu generieren.

                                            Grüße
                                            TeNNo2k5

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            518
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            26
                                            3467
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo