Ist HM/SmartHome noch sicher? Reportage PlusMinus

Begonnen von Edi77, 15 Februar 2017, 22:41:52

Vorheriges Thema - Nächstes Thema

Wernieman

Grundsätzlich:
Ein VPN ist NICHT sicherer als https (oder ssh). VPN hat den Vor (und Nachteil), da mehr als nur https drüber gehen kann. Bei https habe ich den Vorteil, jemanden (z.B. dem Ehepartner) nur den https Teil freizugeben, aber alles andere ... geht zwar auch mti VPN, aber es ist komplizierter.

Grundsätzlich:
Je komplexer ein Thema, desto einfacher ist es, per Konfiguration eine Sicherheitslücke einzubauen.

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

justme1968

ZitatJe komplexer ein Thema, desto einfacher ist es, per Konfiguration eine Sicherheitslücke einzubauen.
genau.
ein fritzbox vpn ist für einen laien ziemlich sicher einfacher und fehler unauffälliger konfiguriert als ein apache oder nginx reverse proxy mit port forwarding und deshalb vermutlich sehr wohl sicherer was den remote zugang von aussen angeht.

die sicherheitsbedenken einem partner remote weniger freizugeben als er lokal zuhause im zugriff hat verstehe ich nicht ganz.

ich vermute das man bei einem password gesicherten zugang auch sehr schnell der Versuchung erliegt das gleiche password wieder zu verwenden statt pro client ein eigenes vpn zertifikat zu verwenden. ganz zu schweigen vom tatsächlich vorhandenen risiko der einfachen passwörter. von daher sehe ich vpn in fast allen fällen als sicherer und einfacher an.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Wernieman

Wenn der unbedarfte Partner von überall auf Netz kann, dann kann es auch ein anderer. Spätestens wenn er "das Smartphone in die Hand kriegt".

Allerdings habe ich bei m ir die Frage gleich viel Tiefer gestellt:
Ich habe meine Partnerin gefragt, ob sie vollen externen Zugriff überhaupt braucht ...... ist es wirklich wichtig, von der Arbeit die Heizung komplett steuern zu können?

Wegen VPN pro Gerät ... gerade die FritzBox macht aber "ein VPN pro User". Meinst Du wirklich, das der "Normaluser" für jedes Gerät einen neuen User anlegt?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

NilsB

Da kommt mir ein anderer Punkt zum Thema VPN: Sieht jemand eine Möglichkeit den Zugriff auf FHEM wirksam zu beschränken?
Es wäre doch interessant für externe Zugänge nur unkritische Dinge wie Heizungen freizugeben, die Haustür aber bspw. nicht.

Zum Thema Multiuser: Finde es erstmal nicht so schlimm wenn jemand einen VPN User für n devices nutzen würde. Sobald eins abhanden kommt und er diesen Zugang sperren muss, weiß er warum eine vernünftige Aufteilung sinnvoll wäre.
User pro device ist ansonsten ja eher non-repudation, was hier keine große Rolle spielen dürfte.

Grüße
Nils

bugster_de

Hi,

gute Diskussion hier !

Ich gebe mal zwei nette Beispiele:
- ein Arbeitskollege hat auch sein Smarthome mit Homematic automatisiert und mit quasi null know-how von außen zugreifbar gemacht. Als er mir das ganz stolz zeigte habe ich mir seine IP gemerkt und ihm dann mal auf meinem Rechner demonstriert, wie einfach ich seine Haustüre (per Keymatic) öffnen kann. Ich habe ihm dann dringlichst empfohlen, sich mal in die Materie HTTPS, Passwort und Proxy_Server einzulesen. Unfassbar: der hatte seine CCU komplett offen von außen zugänglich gemacht
- irgendwo in den Untiefen des Netzwerkes gibt es einen Baublog, in dem ein User seine komplette Installation im Detail beschreibt (natürlich auch ohne Sicherung). In einem Eintrag beschreibt er aber auch, dass er aus Paranoia extra einen Antrag gestellt hat, damit am Briefkasten kein Name dran ist, denn dann könnte ihn ja jeder identifizieren. Da Frage ich mich dann doch, warum der Baublog den Namen der Heimbewohner mit Fotos etc. im Klartext hat und das Smarthome komplett von außen zugreifbar ist.

Fazit: die meisten Smarthomes sind wohl unsicher, da die Leute aus Bequemlichkeit sich keine Gedanken machen, wie man das absichert.

Und für die, die es interessiert: loggt mal an eurem Router mit, wie oft pro Tag da von außen ein Portscanner vorbeikommt. Bei mir ist das im Schnitt ca. 3 mal pro Tag ... Also übertragen auf die echte Welt kommt dreimal pro Tag jemand aus Russland oder Asien vorbei und schaut, ob an eurem Haus irgendein Fenster offen ist.

Und wenn ihr schon beim Absichern seid: falls eure Musiksammlung auf dem heimischen NAS ebenfalls ungesichert im "Internet-Wind" steht, dann macht das auch gleich dicht oder richtet schon mal Geld für die Abmahnanwälte.

bugster_de

ZitatDa kommt mir ein anderer Punkt zum Thema VPN: Sieht jemand eine Möglichkeit den Zugriff auf FHEM wirksam zu beschränken?
Es wäre doch interessant für externe Zugänge nur unkritische Dinge wie Heizungen freizugeben, die Haustür aber bspw. nicht.
ich habe bei mir 3 FHEMWeb Instanzen angelegt
- eine, die man zu Hause benutzt, mit der man die geräte steuert
- eine für mich, in der dann alles sichtbar ist zur Konfiguration
- eine für den Zugriff von außen. Hier sind viel Räume ausgeblendet und auch viele Befehle nicht zugreifbar.

der Zugriff von außen geht dann über einen Proxy-Server mit HTTPS, der auch die Passwort-Verwaltung macht. Router ist keine Fritzbox und auch keine Telekom-Box. Dieser Router hat nur den HTTPS Port nach außen frei. Alle anderen sind zu.

Das ist vermutlich auch nicht 100% sicher, aber ich habe die Hürden für einen "Einbrecher" etwas nach oben gezogen. Wer da also virtuell rein will, verliert vermutlich schnell die Lust und versucht es einfach bei der nächsten IP Adresse, die weniger gesichert ist.

Einziges Manko an der ganzen Sache: ich kann nicht mitloggen, von wo außerhalb der Zugriff erfolgt ist, dann der Proxy Server sieht ja als Zugriffsadresse nur meinen Router.

CoolTux

Man kann in der allow festlegen welche Befehle oder welche Devices über die Webinstanz geschalten werden können
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

NilsB

Zitat von: bugster_de am 20 Februar 2017, 09:08:48
ich habe bei mir 3 FHEMWeb Instanzen angelegt
- eine, die man zu Hause benutzt, mit der man die geräte steuert
- eine für mich, in der dann alles sichtbar ist zur Konfiguration
- eine für den Zugriff von außen. Hier sind viel Räume ausgeblendet und auch viele Befehle nicht zugreifbar.
(...)

Wie hast du die Auswahl der abrufbaren Elemente (Räume?) erstellt? Einfach Räume ausgeblendet? Das würde ja nicht wirklich eine Einschränkung einstellen, denn die Befehle sind dennoch über URL Aufrufe ausführbar.

Ich denke coolTux Vorschlag ist da relevanter über das Allowed Objekt. Das wusste ich noch nicht - vermutlich erfolgt hier dann auch eine echte Validierung ob die Aufrufe erlaubt sind, oder? Das würde dann selbst gebaute URL Aufrufe ausschließen.

Grüße
Nils

CoolTux


Internals:
   CFGFN
   NAME       allowed_WEBhook
   NR         7
   STATE      active
   TYPE       allowed
   allowedCommands set
   allowedDevices rr_Marko,rr_Nadin,rr_Isabel
   validFor   WEBhook
   Readings:
     2017-02-06 06:57:56   state           active
Attributes:
   allowedCommands set
   allowedDevices rr_Marko,rr_Nadin,rr_Isabel
   validFor   WEBhook


Bei diesem Beispiel sind nur Setbefehle erlaubt und auch nur für die hier gezeigten Devices.
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

NilsB

Sehr stark. Das wird auf jeden Fall für das von anderen Familienmitgliedern erreichbare FHEM-Web genutzt.
Der Thread ist jetzt schon Gold wert. Werde in ca. 2 Wochen mal mit dem Security Artikel im Wiki anfangen abzugleichen und ggf. erweitern!

Wernieman

@bugster_de

Ich hoffe, Du hast an IPv6 gedacht. Es gibt zwar vieles an AVM zu meckern, aber bezüglich IPv6 haben sie im Standart die Firewall an, d.h. alles eingehende blockiert. Mit bedauern mußte ich feststellen, das viele anderen Router es NICHT machen. D.h. man macht auf IPv4 Ebene alles dicht, aber auf IPv6 ist das Scheunentor offen.  Wurde hier aber auch schon geschrieben.

Bezüglich "Einbruchversuche":
Wir haben auf unseren Servern Deamons, die den SSH-Deamon überwachen. Wenn etwas "böses" versucht wird, wird für über 1h die Quell-IP gesperrt. Mitlerweile passiert das im Durchschnitt 80 mal am Tage. Also 3 Mal ist etwas wenig (wobei ein Portscanner auch kein Einbruchversuch ist)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CoolTux

Zitat von: NilsB am 20 Februar 2017, 10:23:50
Sehr stark. Das wird auf jeden Fall für das von anderen Familienmitgliedern erreichbare FHEM-Web genutzt.
Der Thread ist jetzt schon Gold wert. Werde in ca. 2 Wochen mal mit dem Security Artikel im Wiki anfangen abzugleichen und ggf. erweitern!

Bei diesem Beispiel wissen die Familienmitglieder es nicht ein mal. Oder besser sie verwenden es nicht aktiv. Eine Automatisierung auf den Handys sorgt für die entsprechenden Schaltbefehle.
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

rudolfkoenig

Habe allowed erweitert: die neuen set Befehle basicAuth/password/globalpassword setzten das zugehoerige Attribut auf einem SHA256 hash. Weiterhin gibt es fuer validFor Setzen eine Hilfe im FHEMWEB/detailAnsicht. Evtl. wird es noch ausgeweitet.

Ich denke darueber nach, statt motd zu setzen, beim Fehlen einer allowed Instanz eine automatisch anzulegen, und solange sie nicht mit einem validFor versehen ist, einen roten Eintrag im linken FHEMWEB-Menu einzublenden. Muss nur noch eine Loesung fuer "Besserwisser" finden.

hobu

Zitat von: NilsB am 20 Februar 2017, 08:31:44
Da kommt mir ein anderer Punkt zum Thema VPN: Sieht jemand eine Möglichkeit den Zugriff auf FHEM wirksam zu beschränken?

Ist wirklich die Antwort auf Deine Frage, aber es trägt ebenfalls zur Absicherung bei:
Eine relativ einfach umzusetzende Möglichkeit ist auch, den externen Zugriff nur zu aktivieren, wenn irgendein Bewohner den Status 'absent' oder 'gone' hat. Wenn jemand schläft oder zu Hause ist, braucht man auch keinen externen Zugriff. Profaner, aber wirksamer Ansatz.

iptables mit drop-Rule, Server Shutdown (Apache oder Proxy - je nach Setup),  VPN down wären Punkte, über die man das realisieren könnte.
Raspberry Pi (Model B)
HM-CFG-USB, HM-CC-RT-DN, HM-LC-SW1-FM, HM-Dis-WM55, HM-FK-SCO

CoolTux

Zitat von: hobu am 20 Februar 2017, 19:51:48
Ist wirklich die Antwort auf Deine Frage, aber es trägt ebenfalls zur Absicherung bei:
Eine relativ einfach umzusetzende Möglichkeit ist auch, den externen Zugriff nur zu aktivieren, wenn irgendein Bewohner den Status 'absent' oder 'gone' hat. Wenn jemand schläft oder zu Hause ist, braucht man auch keinen externen Zugriff. Profaner, aber wirksamer Ansatz.

iptables mit drop-Rule, Server Shutdown (Apache oder Proxy - je nach Setup),  VPN down wären Punkte, über die man das realisieren könnte.

Genau so mache ich es. Fhem regelt bei mir einige iptables rules. So auch externe VPN/DMZ Ports für FHEM.
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