Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Hinweis] Gefahren durch Port-Freischaltungen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    582

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

[Hinweis] Gefahren durch Port-Freischaltungen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
201 Beiträge 56 Kommentatoren 67.3k Aufrufe 31 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • O oxident

    Wenn ich Euch hier richtig verstehe, dann wird generell davon abgeraten, iobroker aus dem Internet verfügbar zu machen, unabhängig von der Komplexität des Kennworts?
    Ich meine, wenn man nur dediziert die Ports der Admin- und Web-Instanz freigibt, HTTPS nutzt und die Kennwörter sicher sind, dann sollte doch eigentlich nichts passieren ... es sei denn, bei der Implementierung des Webservers ist irgendwo ein Bug drin.

    Ich war schon erfolgreich dabei, die Web-Instanz freizugeben. Sobald ich aber auch den Admin-Port durchleite, lande ich komischerweise auf beiden Ports immer nur noch auf der Admin-Seite (und kann daher nicht mehr auf die Vis-Seite zugreifen). Das wollte ich eigentlich weiter ausbauen ... bis ich diesen Thread hier gefunden habe ;-)

    A Offline
    A Offline
    astrakid
    schrieb am zuletzt editiert von
    #86

    @oxident ich sehe das Risiko als überschaubar an. Wenn natürlich jemand eingedrungen ist, hat er Zugriff auf deine Geräte. Aber wenn man gute Passwörter verwendet und dann noch fail2ban gegen bruteforce Attacken, sehe ich es als ausreichend sicher an.

    MiGollerM OliverIOO 2 Antworten Letzte Antwort
    0
    • A astrakid

      @oxident ich sehe das Risiko als überschaubar an. Wenn natürlich jemand eingedrungen ist, hat er Zugriff auf deine Geräte. Aber wenn man gute Passwörter verwendet und dann noch fail2ban gegen bruteforce Attacken, sehe ich es als ausreichend sicher an.

      MiGollerM Offline
      MiGollerM Offline
      MiGoller
      Developer
      schrieb am zuletzt editiert von
      #87

      @astrakid @oxident Wenn das ganze auf Docker läuft, dann lässt sich das ganze auch schön über einen Reverse Proxy bzw. Edge Router wie nginx oder Traefik absichern.

      Ich persönliche nutze Traefik; an zentraler Stelle erfolgt die HTTPS-Terminierung. Da lassen sich auch Let's Encrypt Zertifikate mit automatischer Aktualisierung einsetzen. Gute Passwörter sind auch schon gut. In jedem Fall lässt sich fail2ban gut nutzen, um am Traefik Anmeldeversuche zu überwachen. Es geht sogar eine zusätzliche Absicherung mit Client-Zertifikaten.

      Wenn ich jetzt noch LDAPS- bzw. Radius- oder OAuth-Authentifizierung am ioBroker hätte, wäre es richtig gut. Dann hätte ich z.B. mit DUO Security sogar noch eine MFA-Lösung dazu, die auch noch Session-Handling kann. Ich hoffe nicht, dass ich eine Erweiterung für den ioBroker übersehen habe, die genau das bietet.

      ioBroker auf Intel Atom x5-Z8350 mit KNX, Gardena, Roomba, MQTT, Sonoff, Life360

      1 Antwort Letzte Antwort
      0
      • O oxident

        Wenn ich Euch hier richtig verstehe, dann wird generell davon abgeraten, iobroker aus dem Internet verfügbar zu machen, unabhängig von der Komplexität des Kennworts?
        Ich meine, wenn man nur dediziert die Ports der Admin- und Web-Instanz freigibt, HTTPS nutzt und die Kennwörter sicher sind, dann sollte doch eigentlich nichts passieren ... es sei denn, bei der Implementierung des Webservers ist irgendwo ein Bug drin.

        Ich war schon erfolgreich dabei, die Web-Instanz freizugeben. Sobald ich aber auch den Admin-Port durchleite, lande ich komischerweise auf beiden Ports immer nur noch auf der Admin-Seite (und kann daher nicht mehr auf die Vis-Seite zugreifen). Das wollte ich eigentlich weiter ausbauen ... bis ich diesen Thread hier gefunden habe ;-)

        mickymM Offline
        mickymM Offline
        mickym
        Most Active
        schrieb am zuletzt editiert von
        #88

        @oxident Also ich habe einen nginx Reverse Proxy - aber das läuft nicht richtig, weil jeder Adapter Port usw. ein Riesenkonfigaufwand bedeutet und ich habe es bislang mit allem was ich hier im Netz gefunden habe nur rudimentär hinbekommen, wobei ich zugeben muss, dass ich hinter die Funktionalität von nginx auch nicht richtig durchsteige.

        Ich habe aber noch eine VPN Lösung mittels OpenVPN implementiert und damit bin ich maximal flexibel und das funktioniert auch. Du kannst aber halt mit einem VPN nur Geräte nutzen, die DIr auch gehören. ;)

        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          astrakid
          schrieb am zuletzt editiert von
          #89

          @mickym sagte in [Hinweis] Gefahren durch Port-Freischaltungen:

          Also ich habe einen nginx Reverse Proxy - aber das läuft nicht richtig, weil jeder Adapter Port usw. ein Riesenkonfigaufwand bedeutet und ich habe es bislang mit allem was ich hier im Netz gefunden habe nur rudimentär hinbekommen, wobei ich zugeben muss, dass ich hinter die Funktionalität von nginx auch nicht richtig durchsteige

          wo liegen denn genau deine probleme bei der konfiguration? zugegeben, für jeden neuen port muss man in nginx einen server eintragen und einen proxy - mit einer vorlage dauert das aber keine minute:

          upstream <bezeichnungMeinserver> {
              server <ip>:<internerPort>;
          }
          
          server {
              proxy_http_version 1.1;
              listen              <externerPort> ssl http2; 
              server_name         <fqdns>;
              ssl_certificate     /etc/letsencrypt/live/cert.pem; # The certificate file
              ssl_certificate_key /etc/letsencrypt/live/privkey.pem; # The private key file
              location / {
                  proxy_pass https://<bezeichnungMeinserver>/;
                  proxy_ssl_verify off;
                  proxy_ssl_server_name off;
                  proxy_set_header Host $http_host;
                  proxy_set_header X_FORWARDED_PROTO https;
              }
          }
          

          das ist alles.

          gruß,
          andre

          mickymM 1 Antwort Letzte Antwort
          0
          • A astrakid

            @mickym sagte in [Hinweis] Gefahren durch Port-Freischaltungen:

            Also ich habe einen nginx Reverse Proxy - aber das läuft nicht richtig, weil jeder Adapter Port usw. ein Riesenkonfigaufwand bedeutet und ich habe es bislang mit allem was ich hier im Netz gefunden habe nur rudimentär hinbekommen, wobei ich zugeben muss, dass ich hinter die Funktionalität von nginx auch nicht richtig durchsteige

            wo liegen denn genau deine probleme bei der konfiguration? zugegeben, für jeden neuen port muss man in nginx einen server eintragen und einen proxy - mit einer vorlage dauert das aber keine minute:

            upstream <bezeichnungMeinserver> {
                server <ip>:<internerPort>;
            }
            
            server {
                proxy_http_version 1.1;
                listen              <externerPort> ssl http2; 
                server_name         <fqdns>;
                ssl_certificate     /etc/letsencrypt/live/cert.pem; # The certificate file
                ssl_certificate_key /etc/letsencrypt/live/privkey.pem; # The private key file
                location / {
                    proxy_pass https://<bezeichnungMeinserver>/;
                    proxy_ssl_verify off;
                    proxy_ssl_server_name off;
                    proxy_set_header Host $http_host;
                    proxy_set_header X_FORWARDED_PROTO https;
                }
            }
            

            das ist alles.

            gruß,
            andre

            mickymM Offline
            mickymM Offline
            mickym
            Most Active
            schrieb am zuletzt editiert von mickym
            #90

            @astrakid

            Oh die Probleme sind so vielfältig. :(

            OK - das mit upstream habe ich nicht eingetragen - aber es geht schon los, wenn ich den admin des iobrokers aufmache und dann die Links auf den Kacheln versuche abzufangen - das bringe ich nicht hin.

            Dann muss man quasi jede Anwendung checken - was iobroker betrifft. Ich habe zumindest einigermaßen hingebracht, dass ich den info Adapter, Objekte, Log und Instanzen einigermaßen fehlerfrei sehe.

            Ich nutze ja Node-Red - aber den JavaScript bringe ich auch nicht zum Laufen - der hängt eine Ewigkeit in dem Bild

            screen.png

            Viele Dinge kann ich im Moment auch nicht darstellen, weil ich momentan eh im Heimnetz bin. Aber auch die Buttons im iobroker werden teilweise nicht richtig dargestellt oder übersetzt und und und.

            Ich kann Dir ja mal meine Konf posten - aber ehrlich gesagt bin ich momentan was das betrifft ziemlich gefrustet.

            server {
            #	listen [::]:1080;
            	listen [::]:443 ssl;
            #        server_name <MEIN-Server>.internet-dns.de;
                    server_name *.internet-dns.de;
            
            		# SSL Konfiguration
                    ssl_certificate /etc/nginx/ssl/<MEIN-Server>.crt;
                    ssl_certificate_key /etc/nginx/ssl/<MEIN-Server>.key;
                    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                    ssl_ciphers   HIGH:!aNULL:!MD5;
            
            		# root /var/www/<MEIN-Server>.internet-dns.de;
                    
                    # Authentifizierung
            	auth_basic "<MEIN-Server> Server Authentifizierung";
            	auth_basic_user_file /etc/apache2/.htpasswd;
                    
                    # Ganzen Server für Websockets vorbereiten
                    proxy_http_version 1.1;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "Upgrade";
            	proxy_set_header Host $host;
            	proxy_set_header X-Real-IP $remote_addr;
            # ------------------------------------
            #		server_name_in_redirect off;
            #		port_in_redirect off;
            # ------------------------------------
            
                    proxy_cache off;
            	proxy_cache_bypass $http_upgrade;
            	proxy_set_header Accept-Encoding "";
            
            
            		location / {
            
            			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/iobroker"){
            				rewrite ^/(.*) /iobroker/$1;
            			}
            			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/vis"){
            				rewrite ^/(.*) /vis/$1;
            			}
            			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/flot"){
            				rewrite ^/(.*) /flot/$1;
            			} 
            			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/node-red"){
            				rewrite ^/(.*) /node-red/$1;
            			} 
            			
            			rewrite ^(/images/.*)$ /node-red$1;
            		 
            
            		
            		
            		}		
            # -------------------------------------      
            		
            		location  /iobroker/ {
            			
            			proxy_pass http://<MEIN-Server>.fritz.box:8081/;
            
            		}
            
            
            #             ------------- End iobroker Admin ---------------------
            
            		location = /vis {
            			rewrite ^/(.*) /$1/ last;
            		}
            		
            		location /vis/ {
            			proxy_pass http://<MEIN-Server>.fritz.box:8082/;
            
            		}
            
            		location /lib/ {
            
            			proxy_pass http://<MEIN-Server>.fritz.box:8081/lib/;
            		}
            
            		location /js/ {
            
            			proxy_pass http://<MEIN-Server>.fritz.box:8081/js/;
            		}
            		
            	        location /adapter {
            			proxy_pass http://<MEIN-Server>.fritz.box:8081/adapter;
            		}
            
            		location /flot/ {
            			proxy_pass http://<MEIN-Server>.fritz.box:8082/flot/;
            		}
            		
            #       --------------------------------------------------
            
            		location /socket.io/ {
            			proxy_http_version 1.1;
            			proxy_set_header Upgrade $http_ugrade;
            			proxy_set_header Connection "upgrade";
            			
            
            			proxy_pass http://<MEIN-Server>.fritz.box:8082/socket.io/;
            		}	
            		
                            location /node-red/ {
            			proxy_pass http://<MEIN-Server>.fritz.box:1880/;
            		}	
            
                            location /node-red/admin {
            			return 301 http://<MEIN-Server>.internet-dns.de:26558/node-red/;
            		}	
            
            
            
            		location /dashboard/ {
            			proxy_pass http://<MEIN-Server>.fritz.box:1880/ui/;
            		}
            
            		location /shell {
            			proxy_pass https://localhost:4200/;
            		}
            
            		location /fhem {
            	            auth_basic off;
            
            #       -------------------------------------------------------
            #			wird ueber proxy_parms global gesetzt !!!
            #
            #			proxy_set_header Host $http_host;
            #			proxy_set_header X-Forwarded-Proto $scheme;
            #       -------------------------------------------------------
            
            			proxy_set_header Connection '';
            			proxy_read_timeout  90;
            
            			proxy_pass http://<MEIN-Server>.fritz.box:8083;
            		}
            
            }
            

            Ich hab inzwischen schon so viel ausprobiert - mich durch 1000 Log Zeilen gewuselt und werde doch nicht schlauer.

            Aber mein NodeRed Dashboard läuft wenigstens !!!! - Das ist mir im Moment das Wichtigste - da ich sonst alles via VPN mache.

            Ein weiteres Beispiel - wie der VIS Editor ausschaut - ein Grauß und nun rausbekommen, warum die Schaltflächen nicht richtig dargestellt werden:

            screen.png

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            A 1 Antwort Letzte Antwort
            -1
            • mickymM mickym

              @astrakid

              Oh die Probleme sind so vielfältig. :(

              OK - das mit upstream habe ich nicht eingetragen - aber es geht schon los, wenn ich den admin des iobrokers aufmache und dann die Links auf den Kacheln versuche abzufangen - das bringe ich nicht hin.

              Dann muss man quasi jede Anwendung checken - was iobroker betrifft. Ich habe zumindest einigermaßen hingebracht, dass ich den info Adapter, Objekte, Log und Instanzen einigermaßen fehlerfrei sehe.

              Ich nutze ja Node-Red - aber den JavaScript bringe ich auch nicht zum Laufen - der hängt eine Ewigkeit in dem Bild

              screen.png

              Viele Dinge kann ich im Moment auch nicht darstellen, weil ich momentan eh im Heimnetz bin. Aber auch die Buttons im iobroker werden teilweise nicht richtig dargestellt oder übersetzt und und und.

              Ich kann Dir ja mal meine Konf posten - aber ehrlich gesagt bin ich momentan was das betrifft ziemlich gefrustet.

              server {
              #	listen [::]:1080;
              	listen [::]:443 ssl;
              #        server_name <MEIN-Server>.internet-dns.de;
                      server_name *.internet-dns.de;
              
              		# SSL Konfiguration
                      ssl_certificate /etc/nginx/ssl/<MEIN-Server>.crt;
                      ssl_certificate_key /etc/nginx/ssl/<MEIN-Server>.key;
                      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                      ssl_ciphers   HIGH:!aNULL:!MD5;
              
              		# root /var/www/<MEIN-Server>.internet-dns.de;
                      
                      # Authentifizierung
              	auth_basic "<MEIN-Server> Server Authentifizierung";
              	auth_basic_user_file /etc/apache2/.htpasswd;
                      
                      # Ganzen Server für Websockets vorbereiten
                      proxy_http_version 1.1;
                      proxy_set_header Upgrade $http_upgrade;
                      proxy_set_header Connection "Upgrade";
              	proxy_set_header Host $host;
              	proxy_set_header X-Real-IP $remote_addr;
              # ------------------------------------
              #		server_name_in_redirect off;
              #		port_in_redirect off;
              # ------------------------------------
              
                      proxy_cache off;
              	proxy_cache_bypass $http_upgrade;
              	proxy_set_header Accept-Encoding "";
              
              
              		location / {
              
              			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/iobroker"){
              				rewrite ^/(.*) /iobroker/$1;
              			}
              			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/vis"){
              				rewrite ^/(.*) /vis/$1;
              			}
              			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/flot"){
              				rewrite ^/(.*) /flot/$1;
              			} 
              			if ($http_referer ~ "https://<MEIN-Server>.internet-dns.de/node-red"){
              				rewrite ^/(.*) /node-red/$1;
              			} 
              			
              			rewrite ^(/images/.*)$ /node-red$1;
              		 
              
              		
              		
              		}		
              # -------------------------------------      
              		
              		location  /iobroker/ {
              			
              			proxy_pass http://<MEIN-Server>.fritz.box:8081/;
              
              		}
              
              
              #             ------------- End iobroker Admin ---------------------
              
              		location = /vis {
              			rewrite ^/(.*) /$1/ last;
              		}
              		
              		location /vis/ {
              			proxy_pass http://<MEIN-Server>.fritz.box:8082/;
              
              		}
              
              		location /lib/ {
              
              			proxy_pass http://<MEIN-Server>.fritz.box:8081/lib/;
              		}
              
              		location /js/ {
              
              			proxy_pass http://<MEIN-Server>.fritz.box:8081/js/;
              		}
              		
              	        location /adapter {
              			proxy_pass http://<MEIN-Server>.fritz.box:8081/adapter;
              		}
              
              		location /flot/ {
              			proxy_pass http://<MEIN-Server>.fritz.box:8082/flot/;
              		}
              		
              #       --------------------------------------------------
              
              		location /socket.io/ {
              			proxy_http_version 1.1;
              			proxy_set_header Upgrade $http_ugrade;
              			proxy_set_header Connection "upgrade";
              			
              
              			proxy_pass http://<MEIN-Server>.fritz.box:8082/socket.io/;
              		}	
              		
                              location /node-red/ {
              			proxy_pass http://<MEIN-Server>.fritz.box:1880/;
              		}	
              
                              location /node-red/admin {
              			return 301 http://<MEIN-Server>.internet-dns.de:26558/node-red/;
              		}	
              
              
              
              		location /dashboard/ {
              			proxy_pass http://<MEIN-Server>.fritz.box:1880/ui/;
              		}
              
              		location /shell {
              			proxy_pass https://localhost:4200/;
              		}
              
              		location /fhem {
              	            auth_basic off;
              
              #       -------------------------------------------------------
              #			wird ueber proxy_parms global gesetzt !!!
              #
              #			proxy_set_header Host $http_host;
              #			proxy_set_header X-Forwarded-Proto $scheme;
              #       -------------------------------------------------------
              
              			proxy_set_header Connection '';
              			proxy_read_timeout  90;
              
              			proxy_pass http://<MEIN-Server>.fritz.box:8083;
              		}
              
              }
              

              Ich hab inzwischen schon so viel ausprobiert - mich durch 1000 Log Zeilen gewuselt und werde doch nicht schlauer.

              Aber mein NodeRed Dashboard läuft wenigstens !!!! - Das ist mir im Moment das Wichtigste - da ich sonst alles via VPN mache.

              Ein weiteres Beispiel - wie der VIS Editor ausschaut - ein Grauß und nun rausbekommen, warum die Schaltflächen nicht richtig dargestellt werden:

              screen.png

              A Offline
              A Offline
              astrakid
              schrieb am zuletzt editiert von
              #91

              @mickym nimm meine Konfiguration und ersetze eine ip:port kombi durch eine serverkonfiguration. die einzelnen verzeichnisse brauchst du nicht extra freigeben - da wird alles 1:1 durchgereicht. es wird nur der lokale name bzw. die lokale ip durch den FQDN ersetzt.
              schreib mich mal per PN an, dann können wir das direkt miteinander machen.

              gruß,
              andre

              1 Antwort Letzte Antwort
              0
              • U Offline
                U Offline
                Ulfhednir
                schrieb am zuletzt editiert von
                #92

                Ich muss das Thema hier einmal erneut aufreißen - aus meiner Sicht ist es mit einem "Foren-Beitrag" mit einem Hinweis auf die Gefahren von Port-Freischaltungen nicht getan.
                Es existieren derzeit über 700 potentielle, angreifbare Scheunentore. Mit den nötigen Background kann ein Hacker hier problemfrei gesamte Netzwerke übernehmen - und das könnten selbst Skript-Kiddies!
                Bild Text

                Mir ist bereits ein Fall bekannt, bei dem durch eine falsch gesetzte Port-Freigabe ein NAS kompromittiert und verschlüsselt wurde. Das Einfallstor war an der Stelle der Admin-Adapter. Jetzt kann man natürlich argumentieren, dass derjenige die Portfreigabe eigenhändig angelegt hat... Aber hier sehe ich das System in der Verpflichtung, dass die Selbstgefährdung reduziert wird. Man kann sich hier ein Beispiel an Homematic nehmen. Es wurde von langer Hand auf die Risiken hingewiesen und nicht nur im Forum, sondern im System selbst. Ein Ansatz wäre, dass sicherheitskritische Adapter standardmäßig nur über das interne, vorkonfigurierte Netzwerk aufrufbar wäre. Dann könnte ein Unwissender den Port zwar versuchen freizugeben, der Login würde trotzdem scheitern. Im weiteren Schritt wäre eine "abgespeckte" Firewall für den ioBroker denkbar - ähnlich wie es in Homematic gelöst ist.
                Bild Text

                MathiasJM 1 Antwort Letzte Antwort
                0
                • U Ulfhednir

                  Ich muss das Thema hier einmal erneut aufreißen - aus meiner Sicht ist es mit einem "Foren-Beitrag" mit einem Hinweis auf die Gefahren von Port-Freischaltungen nicht getan.
                  Es existieren derzeit über 700 potentielle, angreifbare Scheunentore. Mit den nötigen Background kann ein Hacker hier problemfrei gesamte Netzwerke übernehmen - und das könnten selbst Skript-Kiddies!
                  Bild Text

                  Mir ist bereits ein Fall bekannt, bei dem durch eine falsch gesetzte Port-Freigabe ein NAS kompromittiert und verschlüsselt wurde. Das Einfallstor war an der Stelle der Admin-Adapter. Jetzt kann man natürlich argumentieren, dass derjenige die Portfreigabe eigenhändig angelegt hat... Aber hier sehe ich das System in der Verpflichtung, dass die Selbstgefährdung reduziert wird. Man kann sich hier ein Beispiel an Homematic nehmen. Es wurde von langer Hand auf die Risiken hingewiesen und nicht nur im Forum, sondern im System selbst. Ein Ansatz wäre, dass sicherheitskritische Adapter standardmäßig nur über das interne, vorkonfigurierte Netzwerk aufrufbar wäre. Dann könnte ein Unwissender den Port zwar versuchen freizugeben, der Login würde trotzdem scheitern. Im weiteren Schritt wäre eine "abgespeckte" Firewall für den ioBroker denkbar - ähnlich wie es in Homematic gelöst ist.
                  Bild Text

                  MathiasJM Offline
                  MathiasJM Offline
                  MathiasJ
                  schrieb am zuletzt editiert von MathiasJ
                  #93

                  @Ulfhednir
                  und trotzdem macht man es immer wieder:
                  Port offen
                  Port offen Part2
                  Was bringt die schönste Firewall, die vom Benutzer selbst ausgehebelt wird?
                  Deshalb steckt bei mir das ganze Equipment hinter einer, DMZ, Firewall, VLAN und Radius-Server
                  Wenn das nicht reicht, dann reicht eh nix mehr. :clown_face:
                  Gruß,
                  Mathias

                  IObroker auf dem NUC als VM.
                  Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                  Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                  U 1 Antwort Letzte Antwort
                  0
                  • A astrakid

                    @oxident ich sehe das Risiko als überschaubar an. Wenn natürlich jemand eingedrungen ist, hat er Zugriff auf deine Geräte. Aber wenn man gute Passwörter verwendet und dann noch fail2ban gegen bruteforce Attacken, sehe ich es als ausreichend sicher an.

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von OliverIO
                    #94

                    @astrakid

                    zum Thema überschaubares Risiko (auch wenn das schon ein weilchen her ist)
                    hier sind die aktuellen Sicherheitslücken in Node.
                    https://www.cvedetails.com/vulnerability-list/vendor_id-12113/Nodejs.html
                    der ioborker besteht ja nicht nur aus der iobroker software selbst, sondern zu hunderten, wenn nicht gar zu tausenden (hab sie nicht gezählt) benutzen bibliotheken verschiedener versionsstände. zu diesen gibt es immer bereits bekannte, aber nicht gefixte Lücken
                    und dann sicherlich noch eine menge weiterer Lücken die noch nicht entdeckt oder offiziell dokumentiert wurden.
                    Auch ein Reverseproxy hilft nicht gegen alles, da die Sicherheitslücken, die mit http requests oder auf andere Ports ausgenutzt werden können, ja trotzdem durchgereicht werden.
                    wenn ich dadruch dann erst einmal code ausführen kann, dann kommt man meist auch weiter bis man über das Netzwerk auch auf andere Geräte kommt.
                    Die meisten sind hier keine Netzwerkadministratoren, Security-Spezialisten oder gar Pen-Tester.

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • MathiasJM MathiasJ

                      @Ulfhednir
                      und trotzdem macht man es immer wieder:
                      Port offen
                      Port offen Part2
                      Was bringt die schönste Firewall, die vom Benutzer selbst ausgehebelt wird?
                      Deshalb steckt bei mir das ganze Equipment hinter einer, DMZ, Firewall, VLAN und Radius-Server
                      Wenn das nicht reicht, dann reicht eh nix mehr. :clown_face:
                      Gruß,
                      Mathias

                      U Offline
                      U Offline
                      Ulfhednir
                      schrieb am zuletzt editiert von
                      #95

                      @MathiasJ sagte in [Hinweis] Gefahren durch Port-Freischaltungen:

                      @Ulfhednir
                      Was bringt die schönste Firewall, die vom Benutzer selbst ausgehebelt wird?

                      Das halte ich für den verkehrten Ansatz. Es gilt zunächst eigentlich immer der Grundsatz des Selbstschutzes. Ich nehme mal ein krasses Beispiel: In der Realität haben alle Waffen einen Sicherungsbügel. (Polizei und Militär ausgenommen) Wenn man deinem Grundsatz verfolgen würde, wäre der Sicherheitsbügel grundsätzlich hinfällig. Und warum gibt es diesen? Damit sich kein Schütze versehentlich ins Bein schießt. Was natürlich bei Fahrlässigkeit hin und wieder vorkommen kann. Soviel zum Aushebeln von Sicherheitsbestimmungen.

                      Es gibt technische Wege die Hürden für den "technisch unversierten" Nutzer höher zu legen bzw. das Risiko einzuschränken. Das beginnt mit einer zwangsweisen Kennworteingabe beim Admin-Adapter. Dann kann man den Zugriffsbereich einschränken (nur Netzwerkbereich von ioBroker + separen Bereich vom VPN-Netz) . Um noch ein Sicherheitsthema aufzureißen: Warum zum Teufel werden Kennwörter in der objects.json im Klartext gespeichert?
                      Man kann natürlich jetzt argumentieren, dass die Adapter von der Community entwickelt werden - aber auch hier: Warum gibt es kein Standard bzw. Sicherheitsguidelines?

                      MathiasJM 1 Antwort Letzte Antwort
                      0
                      • U Ulfhednir

                        @MathiasJ sagte in [Hinweis] Gefahren durch Port-Freischaltungen:

                        @Ulfhednir
                        Was bringt die schönste Firewall, die vom Benutzer selbst ausgehebelt wird?

                        Das halte ich für den verkehrten Ansatz. Es gilt zunächst eigentlich immer der Grundsatz des Selbstschutzes. Ich nehme mal ein krasses Beispiel: In der Realität haben alle Waffen einen Sicherungsbügel. (Polizei und Militär ausgenommen) Wenn man deinem Grundsatz verfolgen würde, wäre der Sicherheitsbügel grundsätzlich hinfällig. Und warum gibt es diesen? Damit sich kein Schütze versehentlich ins Bein schießt. Was natürlich bei Fahrlässigkeit hin und wieder vorkommen kann. Soviel zum Aushebeln von Sicherheitsbestimmungen.

                        Es gibt technische Wege die Hürden für den "technisch unversierten" Nutzer höher zu legen bzw. das Risiko einzuschränken. Das beginnt mit einer zwangsweisen Kennworteingabe beim Admin-Adapter. Dann kann man den Zugriffsbereich einschränken (nur Netzwerkbereich von ioBroker + separen Bereich vom VPN-Netz) . Um noch ein Sicherheitsthema aufzureißen: Warum zum Teufel werden Kennwörter in der objects.json im Klartext gespeichert?
                        Man kann natürlich jetzt argumentieren, dass die Adapter von der Community entwickelt werden - aber auch hier: Warum gibt es kein Standard bzw. Sicherheitsguidelines?

                        MathiasJM Offline
                        MathiasJM Offline
                        MathiasJ
                        schrieb am zuletzt editiert von
                        #96

                        @Ulfhednir
                        Da hast Du schon recht, aber was bringt es dann, wenn vom DAU Ports im Router
                        geöffnet werden und kein Admin-Passwort gesetzt ist?
                        2 Beispiele habe ich ja weiter oben genannt, die doch noch recht aktuell sind.
                        Dabei ist es wirklich kein Hexenwerk in der Fritzbox eine VPN einzurichten. Mit der App myffritz! geht das recht einfach und schnell.

                        IObroker auf dem NUC als VM.
                        Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                        Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                        U G 2 Antworten Letzte Antwort
                        0
                        • MathiasJM MathiasJ

                          @Ulfhednir
                          Da hast Du schon recht, aber was bringt es dann, wenn vom DAU Ports im Router
                          geöffnet werden und kein Admin-Passwort gesetzt ist?
                          2 Beispiele habe ich ja weiter oben genannt, die doch noch recht aktuell sind.
                          Dabei ist es wirklich kein Hexenwerk in der Fritzbox eine VPN einzurichten. Mit der App myffritz! geht das recht einfach und schnell.

                          U Offline
                          U Offline
                          Ulfhednir
                          schrieb am zuletzt editiert von
                          #97

                          @MathiasJ dann verrate mir mal, wo der Dau während des Installationsprozesses darauf achten kann / soll, dass er ein Admin Kennwort zu setzen hat. https://youtu.be/_wRB526QVtM
                          Es wäre sinnig, dass man nachdem die Lizenzbestimmungen gelesen hat, zunächst ein Kennwort hinterlegen muss. Aber hier wird sogleich während der Installation der Discovery-Adapter gestartet.
                          Das suggeriert dem Enduser ein "Plug&Play" - er muss sich um nichts mehr kümmern.

                          Zu deinem Thema FritzBox - du kannst nicht davon ausgehen, dass jeder zu Hause eine FritzBox herumzustehen hat. Da gäbe es noch ausreichend Telekom-Kunden mit einem Speedport und Vodafone Kunden mit einer EasyBox.
                          Da ist VPN nicht ganz so einfach eingerichtet. Und hier liegt auch das eigentliche Problem: Der Aufwand den Admin-Adapter freizugeben ist geringer als einen VPN aufzubauen.

                          R MathiasJM 2 Antworten Letzte Antwort
                          0
                          • U Ulfhednir

                            @MathiasJ dann verrate mir mal, wo der Dau während des Installationsprozesses darauf achten kann / soll, dass er ein Admin Kennwort zu setzen hat. https://youtu.be/_wRB526QVtM
                            Es wäre sinnig, dass man nachdem die Lizenzbestimmungen gelesen hat, zunächst ein Kennwort hinterlegen muss. Aber hier wird sogleich während der Installation der Discovery-Adapter gestartet.
                            Das suggeriert dem Enduser ein "Plug&Play" - er muss sich um nichts mehr kümmern.

                            Zu deinem Thema FritzBox - du kannst nicht davon ausgehen, dass jeder zu Hause eine FritzBox herumzustehen hat. Da gäbe es noch ausreichend Telekom-Kunden mit einem Speedport und Vodafone Kunden mit einer EasyBox.
                            Da ist VPN nicht ganz so einfach eingerichtet. Und hier liegt auch das eigentliche Problem: Der Aufwand den Admin-Adapter freizugeben ist geringer als einen VPN aufzubauen.

                            R Offline
                            R Offline
                            ryto
                            schrieb am zuletzt editiert von
                            #98

                            Ich verstehe nicht, warum die User gezwungen werden immer kompliziertere und aufwändigere Passwörter zu benutzten aber die Loginversuche nicht begrenzt werden können.
                            Gerade beim iob und auf iobroker.pro nach 15 bewusst falschen Eingaben aufgehört zu probieren.
                            Warum wird nicht generell fail2ban oder pam_tally2 oder ... aktiviert?
                            Ein Login der nach jedem Fehlversuch die Eingabezeit stark verzögert oder ganz verhindert ist meiner Meinung nach besser und sicherer als ständig mit immer kryptischeren Passwörtern zu nerven aber die Loginversuche nicht zu begrenzen.

                            1 Antwort Letzte Antwort
                            1
                            • U Ulfhednir

                              @MathiasJ dann verrate mir mal, wo der Dau während des Installationsprozesses darauf achten kann / soll, dass er ein Admin Kennwort zu setzen hat. https://youtu.be/_wRB526QVtM
                              Es wäre sinnig, dass man nachdem die Lizenzbestimmungen gelesen hat, zunächst ein Kennwort hinterlegen muss. Aber hier wird sogleich während der Installation der Discovery-Adapter gestartet.
                              Das suggeriert dem Enduser ein "Plug&Play" - er muss sich um nichts mehr kümmern.

                              Zu deinem Thema FritzBox - du kannst nicht davon ausgehen, dass jeder zu Hause eine FritzBox herumzustehen hat. Da gäbe es noch ausreichend Telekom-Kunden mit einem Speedport und Vodafone Kunden mit einer EasyBox.
                              Da ist VPN nicht ganz so einfach eingerichtet. Und hier liegt auch das eigentliche Problem: Der Aufwand den Admin-Adapter freizugeben ist geringer als einen VPN aufzubauen.

                              MathiasJM Offline
                              MathiasJM Offline
                              MathiasJ
                              schrieb am zuletzt editiert von
                              #99

                              @Ulfhednir
                              Das war meine erste Arbeit, ein umständliches Paßwort zu setzen und die Seite ssl verschlüsseln.
                              Aber eine Eingabebegrenzung falscher Passwörter ist auch nicht schlecht. Wobei man dann bei der nächsten Schwachstelle, dem Paßwort-Manager ist.
                              Was bringt ein kryptisches Passwort, wenn das Passwort für den Passwort-Manager 1234567890 lautet? Nicht jeder hat eine Fritzbox, ich auch nicht. Aber Dank der Routerfreizügigkeit, die den Netzbetreibern ein Dorn im Auge sind, kann man sich die Hardware eben selber kaufen. Mein Router ist im Übrigen ein Draytek Vigor 2865.

                              IObroker auf dem NUC als VM.
                              Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                              Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                              1 Antwort Letzte Antwort
                              0
                              • MathiasJM MathiasJ

                                @Ulfhednir
                                Da hast Du schon recht, aber was bringt es dann, wenn vom DAU Ports im Router
                                geöffnet werden und kein Admin-Passwort gesetzt ist?
                                2 Beispiele habe ich ja weiter oben genannt, die doch noch recht aktuell sind.
                                Dabei ist es wirklich kein Hexenwerk in der Fritzbox eine VPN einzurichten. Mit der App myffritz! geht das recht einfach und schnell.

                                G Offline
                                G Offline
                                gcg67
                                schrieb am zuletzt editiert von
                                #100

                                @MathiasJ
                                Hi, ich bin so ein DAU glaube ich :-(
                                Habe "eigentlich" gedacht das iobroker nur über die Fritz VPN erreichbar ist, zumindest habe ich nur diese Myfritz Freigaben unter Internet->Freigaben erstellt.
                                Dennoch hat mir auch einer über Telegram geschrieben meine iobroker Steuerung wäre offen ich solle meine Ports überprüfen.
                                Gebe ich jetzt meine tagesaktuelle IP Adresse gefolgt vom iobroker Admin Port ein ist diese Erreichbar. Habe jetzt ein Passwort vergeben aber sollte der Port nicht zu sein und nur über die kryptische VPN Adresse erreichbar sein?
                                Bin gerade erst auf eine Zotac NUC mit proxmox Installation umgezogen. Muß hier noch extra einen Firewall hin?

                                MathiasJM 1 Antwort Letzte Antwort
                                0
                                • G gcg67

                                  @MathiasJ
                                  Hi, ich bin so ein DAU glaube ich :-(
                                  Habe "eigentlich" gedacht das iobroker nur über die Fritz VPN erreichbar ist, zumindest habe ich nur diese Myfritz Freigaben unter Internet->Freigaben erstellt.
                                  Dennoch hat mir auch einer über Telegram geschrieben meine iobroker Steuerung wäre offen ich solle meine Ports überprüfen.
                                  Gebe ich jetzt meine tagesaktuelle IP Adresse gefolgt vom iobroker Admin Port ein ist diese Erreichbar. Habe jetzt ein Passwort vergeben aber sollte der Port nicht zu sein und nur über die kryptische VPN Adresse erreichbar sein?
                                  Bin gerade erst auf eine Zotac NUC mit proxmox Installation umgezogen. Muß hier noch extra einen Firewall hin?

                                  MathiasJM Offline
                                  MathiasJM Offline
                                  MathiasJ
                                  schrieb am zuletzt editiert von
                                  #101

                                  @gcg67
                                  Du kannst bin2fail installieren, dass ist so eine Firewall für Linux. Die überwacht aber nur ssh.
                                  Wenn Du die Fritzbox über VPN erreichen willst, installiere Dir bitte die App myfritz! auf Dein Handy.
                                  Den VPN-Zugang kannst Du nur einrichten, wenn Du zuhause bist und das Handy sich im heimischen WLAN befindet.
                                  Oder wenn Du das Dir nicht zutraust, sende mir bitte eine PN. Dann machen wir das zusammen per Teamviewer :)
                                  Wenn Du noch einen zweiten Router hast, anschließen! Dann basteln wir zusammen eine DMZ, was noch etwas sicherer ist.,

                                  IObroker auf dem NUC als VM.
                                  Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                                  Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                                  Meister MopperM Thomas BraunT A 3 Antworten Letzte Antwort
                                  0
                                  • MathiasJM MathiasJ

                                    @gcg67
                                    Du kannst bin2fail installieren, dass ist so eine Firewall für Linux. Die überwacht aber nur ssh.
                                    Wenn Du die Fritzbox über VPN erreichen willst, installiere Dir bitte die App myfritz! auf Dein Handy.
                                    Den VPN-Zugang kannst Du nur einrichten, wenn Du zuhause bist und das Handy sich im heimischen WLAN befindet.
                                    Oder wenn Du das Dir nicht zutraust, sende mir bitte eine PN. Dann machen wir das zusammen per Teamviewer :)
                                    Wenn Du noch einen zweiten Router hast, anschließen! Dann basteln wir zusammen eine DMZ, was noch etwas sicherer ist.,

                                    Meister MopperM Online
                                    Meister MopperM Online
                                    Meister Mopper
                                    schrieb am zuletzt editiert von
                                    #102

                                    @MathiasJ Du meinst doch sicherlich fail2ban, oder habe ich da was verpasst?

                                    Proxmox und HA

                                    MathiasJM 1 Antwort Letzte Antwort
                                    0
                                    • MathiasJM MathiasJ

                                      @gcg67
                                      Du kannst bin2fail installieren, dass ist so eine Firewall für Linux. Die überwacht aber nur ssh.
                                      Wenn Du die Fritzbox über VPN erreichen willst, installiere Dir bitte die App myfritz! auf Dein Handy.
                                      Den VPN-Zugang kannst Du nur einrichten, wenn Du zuhause bist und das Handy sich im heimischen WLAN befindet.
                                      Oder wenn Du das Dir nicht zutraust, sende mir bitte eine PN. Dann machen wir das zusammen per Teamviewer :)
                                      Wenn Du noch einen zweiten Router hast, anschließen! Dann basteln wir zusammen eine DMZ, was noch etwas sicherer ist.,

                                      Thomas BraunT Online
                                      Thomas BraunT Online
                                      Thomas Braun
                                      Most Active
                                      schrieb am zuletzt editiert von Thomas Braun
                                      #103

                                      @MathiasJ
                                      Teamviewer
                                      DMZ
                                      fail2ban Firewall?
                                      😆

                                      Linux-Werkzeugkasten:
                                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                      NodeJS Fixer Skript:
                                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                      1 Antwort Letzte Antwort
                                      0
                                      • Meister MopperM Meister Mopper

                                        @MathiasJ Du meinst doch sicherlich fail2ban, oder habe ich da was verpasst?

                                        MathiasJM Offline
                                        MathiasJM Offline
                                        MathiasJ
                                        schrieb am zuletzt editiert von
                                        #104

                                        @Meister-Mopper
                                        Ja, habe ich was verwechselt?

                                        IObroker auf dem NUC als VM.
                                        Da ich noch keine Aktoren habe, wird momentan via Radar nur der AB der Fritzbox ein- und ausgeschaltet.
                                        Welches Smarthome-System es letztendlich wird, weiß ich noch nicht. Vielleicht kommen auch nur Zigbee-Geräte ins Haus.

                                        Thomas BraunT 1 Antwort Letzte Antwort
                                        0
                                        • MathiasJM MathiasJ

                                          @Meister-Mopper
                                          Ja, habe ich was verwechselt?

                                          Thomas BraunT Online
                                          Thomas BraunT Online
                                          Thomas Braun
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #105

                                          @MathiasJ
                                          Dann aber bitte nix verwechseln, wenn da per Teamviewer sowas eingerichtet werden soll...

                                          Linux-Werkzeugkasten:
                                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                          NodeJS Fixer Skript:
                                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                          MathiasJM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          891

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe