Fragen rund im die Sicherheit

Begonnen von derbmann, 23 Juni 2019, 14:55:38

Vorheriges Thema - Nächstes Thema

derbmann

Hallo,

Nachdem ich nun die halbe Woche am RaspberryPi gearbeitet habe und gestern erfolgreich sinnbildlich einen "Licht-Aktor" und einen "Raffstore-Aktor" eingelernt habe will ich mich mit dem Thema Sicherheit beschäftigen. Leider wird dieses wichtige Thema nirgends behandelt was aber gerade für Anfänger meines Erachtens wichtig währe (zumindest hab ich im Wiki o.Ä. nichts ausführliches gefunden).

Vorher aber Infos zu meinem Setup.:
RaspberryPi mit Raspbian (statische IP im Heimnetz)
EnOceanPi TCM310 an FAM14
Router: Huawei HA 35-22 mit beschnittener A1 Firmware
Eltako: 1x FAM14, 1x FGW14, 9x FSB14, 17x FSR14-2x, 2x FUD14 (Taster im ganzen Haus)
Alle Fenster (ca. 18-Stück) besitzen einen Reed-Kontakt sollen per Optokoppler+Pull-Up/Down am GPIO ausgelesen werden (noch nicht mit Board-Layout etc. angefangen)
Tür-Motorschloss das per Bluetooth gesteuert werden kann (fange ich natürlich erst damit an wenn die Sicherheit gegeben ist)
FHEM und Raspbian update ich 1x Monat per Cronjob und das Ergebnis+fhem-XXXX.log bekomme ich über exim4 per Mail
Watchdogs und Backups archivieren muss ich erst noch einrichten...
SmartVisu soll auch noch drauf

So nun zum eigentlichen Thema.:
Leider habe quasi keine Ahnung von Linux und Netzwerktechnik daher bin ich recht verunsichert was das Thema Sicherheit betrifft.
Ursprünglich war der Plan einen zweiten RaspberryPi zu verwenden der per WhatsApp o.Ä. den Lan-Port vom FHEM Pi mittels Relais ein- und ausschaltet damit dieser nur dann erreichbar ist wenn ich es brauche.
Allerdings habe ich keine Ahnung wie ich ihn dann zu Hause erreichbar machen kann.
Abgesehen davon das er im Keller steht währe per WLan Hotspot recht umständlich jedes mal das WLan am Handy zu ändern.
Weiters währe das updaten nicht mehr möglich (FHEM Pi hat ja keine Verbindung zu irgendwas müsste daher Zeitgleich am anderen Pi den Lan-Port aktivieren)

Daher brauche ich einen neuen Masterplan bzw. muss wohl den FHEM Pi so absichern das dieser im lokalen Netz normal erreichbar ist aber von außen nur per extra Sicherheit (ssh,vpn?!)

Was sind die nötigen Schritte in FHEM damit FHEM an sich schon mal abgesichert ist?
Habe bis jetzt nur allowedWeb basicAuth und telnetPort telnet 7072 gesetzt (brauche ich zum updaten und wurde ohne "Global" gesetzt lt. Forum sollte telnet dann nur mehr lokal funktionieren oder?)
Was sind die nötigen Schritte damit Linux halbwegs sicher ist?
Wie kann ich ihn von außen erreichbar machen aber eben nur mit der gegeben Sicherheit?
Wie kann ich überprüfen ob er nun sicher ist oder nicht?
Wie habt ihr das gemacht?


Ich bin dankbar für jede Art von Hilfe und neue Anregungen :)

lg derbmann


P.S.: Da ich auf meine Andriod Box warte und mein Raspberry derzeit noch mit Kodi am Fernseher hängt und FHEM auf einer 2ten SD Karte ist die schlussendlich formatiert wird (alle bisherigen Schritte von mir dokumentiert) würde ich einem Spezi von hier Zugriff per VPN gewähren. Natürlich nur wenn einer Lust hat einen fremden zu helfen ;) evtl. könnte derjenige bei der Gelegenheit einen brauchbaren Wiki-Artikel verfassen der zukünftigen Anfängern hilfreich ist.

Hollo

Da sich zu den Fragen erfahrungsgemäß schnell eine umfassende Diskussion entfesselt, nur mal ein paar kurze Antworten zum Einstieg...

Vorwort:
Es ist nicht unbedingt so, dass dieses Thema hier nicht behandelt würde, ABER...
FHEM ist in der Grundinstallation bzgl. Sicherheit schon nicht schlecht aufgestellt, da

- es lokal ohne Cloud läuft
- keine unnötigen Ports offen hat
- keine unnötigen Zugänge per Default bietet
- ..?

zu Deinem Setup:
- ich gehe von einem aktuellen Raspbian aus -> Stretch !?
- Du kannst zumindest security updates automatisch einspielen lassen (und nicht nur 1x im Monat)

zum Thema:
- MUSST Du einen externen Zugang zum FHEM haben und wenn ja, warum?
- Externer Zugriff über VPN ja, alles andere birgt halt ein größeres Risiko

Nachtrag:
Da Du Dich mit der Thematik beschäftigst und bisher nur gezielt einzelne "Löcher" bohrst, bist Du schon auf dem besten und richtigen Weg.  :)
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Wernieman

Diese Diskussion ist leider nicht endgültig zu beantworten .. nicht mal unter Profis ...

Prinzipiell sind schon mal folgende Dinge wichtig:
1. Externe Erreichbarkeit (Internet) Minimieren (oder komplett Schließen)
1.b) Wenn Nötig, über Sichere-Protokolle (VON) / Proxys (NGINX-Proxy, HTTPS)
2. Nur das Einschalten, was benötigt wird (z.B. auf Linux-Ebene Abschalten/Deinstallieren)
3. Keine Grafische Oberfläche (Nur wenn es wirklich nötig ist)! Auch nicht installiert!
4. Sichere Passwörter

Zitatden Lan-Port vom FHEM Pi mittels Relais ein- und ausschaltet damit dieser nur dann erreichbar ist wenn ich es brauche.
Das halte ich für eine blöde Idee .. da handelst Du Dir mehr Probleme ein als Du Löst. Stichwort GHz ... und das per Relais schalten ...

Wenn es wirklich notwendig wäre, würde ich per Software deaktivieren (Stichwörter: iptables (Firewall), Managbarer-Switch - Port deaktivieren etc.). Allerdings würde ich eigentlich IMMER einen Zugriff offenlassen, also mindestens den SSH-Deamon. Wenn der Unsicher wäre, würde es in allen Computerzeitschriften stehen (vor allem bei den Profies ....) und ich hätte eine "nette kommende Woche :o("
- 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

derbmann

Zitat von: Hollo am 24 Juni 2019, 15:09:41
- ich gehe von einem aktuellen Raspbian aus -> Stretch !?
- Du kannst zumindest security updates automatisch einspielen lassen (und nicht nur 1x im Monat)

- Jop, Stretch mit Desktop
- Oha stimmt, da gibts ja massig Updates - https://www.debian.org/security/
Muss mal probieren wie sehr es den Pi auslastet bei "apt-get update && apt-get upgrade -y" auch wenn kein Update ist.
Falls es ihn nicht juckt->täglich in der Nacht ansonsten ein-/zweimal in der Woche.

Zitat von: Hollo am 24 Juni 2019, 15:09:41
- MUSST Du einen externen Zugang zum FHEM haben und wenn ja, warum?
- Externer Zugriff über VPN ja, alles andere birgt halt ein größeres Risiko

Nachtrag:
Da Du Dich mit der Thematik beschäftigst und bisher nur gezielt einzelne "Löcher" bohrst, bist Du schon auf dem besten und richtigen Weg.  :)

- Ja, zwar hängen derzeit nur die Kabel aus der Außenmauer aber da sollen mal IP-Kameras mit PoE dran da will ich schon sehen was mal im Alarmfall los ist.
Oder besseres Beispiel: Da die Frau gerne vergisst das Licht abzudrehen will ich zwei grüne Lampen in die Garage montieren die Signalisieren das die Fenster zu sind und das Licht aus.
Meistens ist man beim wegfahren im Stress also kann man zumindest unterwegs dann noch das Licht ausschalten.

Grad gemerkt das direkter Zugriff für normalen Betrieb nicht nötig ist.:
Beispiel A - Geht sowieso nicht da der kleine Pi zu schwach ist evtl. jetzt mitn 4er aber bringt ja nix wenn der nur am schwitzen ist und der Rest dadurch langsam.
Beispiel B - Geht per Messenger - https://wiki.fhem.de/wiki/Kategorie:Messenger
Für Notfälle wenn ich z.b. mal auf Dienstreise bin und nix mehr geht kann nebenbei noch RealVNC Connect mit laufen dann sollte alles abgedeckt sein ;)
Bin zwar kein Freund von dem Cloud gedönns aber ob jetzt ein Dynamic DNS oder eben das VNC Connect (Cloud) läuft dürfte wohl auch schon egal sein.
Oder was meint ihr?

Zitat von: Wernieman am 24 Juni 2019, 15:46:01
1. Externe Erreichbarkeit (Internet) Minimieren (oder komplett Schließen)
1.b) Wenn Nötig, über Sichere-Protokolle (VON) / Proxys (NGINX-Proxy, HTTPS)
2. Nur das Einschalten, was benötigt wird (z.B. auf Linux-Ebene Abschalten/Deinstallieren)
3. Keine Grafische Oberfläche (Nur wenn es wirklich nötig ist)! Auch nicht installiert!
4. Sichere Passwörter

1. Was sollte alles geschlossen sein? bzw. wie gehe ich da am besten vor?
1.b. Siehe oben
2. Da ich wie gesagt eher wenig Erfahrung mit Linux habe, was währe das z.b.?
3. Wieso das den? (will nicht nur blind das machen was hier geschrieben wird sondern eben auch lernen und verstehen wieso/weshalb)
4. WLan PW hat 64-Zeichen und für die ganzen Accounts ein eigenes PW mit 20-Zeichen (Groß-, Klein- und Sonderzeichen) ;) sprich dank dem PW-Manager ist das schon längst bei mir Standard. Sollte eigentlich bei jedermann sein nachdem beinahe täglich Websiten unsere Daten "verlieren".



Offtopic:

Zitat von: Wernieman am 24 Juni 2019, 15:46:01
Das halte ich für eine blöde Idee .. da handelst Du Dir mehr Probleme ein als Du Löst. Stichwort GHz ... und das per Relais schalten ...
Abgesehen davon das die Idee vom Tisch ist - HF Relais
Arbeite in der Halbleiterindustrie sprich da hätte sich immer eine Lösung gefunden :)

Zitat von: Hollo am 24 Juni 2019, 15:09:41
Nachtrag:
Da Du Dich mit der Thematik beschäftigst und bisher nur gezielt einzelne "Löcher" bohrst, bist Du schon auf dem besten und richtigen Weg.  :)
Danke, denke halt es ist wichtig sich mit der Materie ein bisschen zu beschäftigen.
Gibt leider immer weniger Leute die wissen wollen wie die Welt funktioniert, Hauptsache Insta und FB geht xP
Denke ohne Interesse an dem ganzen ist man mit FHEM wohl falsch bedient.

Passend zum Thema - https://www.computerbase.de/2019-06/hacker-angriff-nasa-2019/ :)

danke,
lg derbmann

CoolTux

Für FHEM gibt es ein Modul um Debian Updates zu verwalten.
Warum ein Desktop System, das maximiert doch nur die Angriffsfläche und klaut Leistung?
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

Wernieman

#5
Vor allem sind die Libarys für das Grafische System installiert ... und die geben MASSIG Angriffsfläche!

Da man einen Linux-Server am besten per Konsole administriert, ist die Grafische Oberfläche aus obigen Gründen eher ... Schadhaft.

Btw: sogar bei den Neuesten Microsoft-Servern (z.B. Microsoft Exchange) muß man wieder per Konsole die Server einstellen. Nur c.a. 80% ist per Grafischer Oberfläche Möglich (Bei MS-Exchange) ...

Was geschlossen/installiert werden muß, kannst nur Du uns sagen. Was brauchst Du auf dem Gerät. Alles andere werden wir dann deinstallieren ...
- 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

Wolfgang Hochweller

Einen Frage am Rande zu obigen grafischen Librarys:
Von welchen Angriffen ist hier die Rede ?
Wenn es jemand schafft, den Router auszuhebeln, habe ich ein Problem, mit oder ohne Grafik, was aber gar nicht so einfach ist, es gibt keine offenen Ports von aussen nach innen, die ich nicht unter Kontrolle habe.
Wenn es jemand schafft, ein Schadprogramm in meinem Lokalnetz zu installieren, habe ich sicher auch ein Problem,
unabhaengig vom installierten System. Worueber man sich aber Gedanken machen kann, sind die Lokalnetzteilnehmer, die gerne 'nach Hause' telefonieren.

Wuppi68

Zitat von: howi42 am 25 Juni 2019, 22:02:51
Einen Frage am Rande zu obigen grafischen Librarys:
Von welchen Angriffen ist hier die Rede ?
Wenn es jemand schafft, den Router auszuhebeln, habe ich ein Problem, mit oder ohne Grafik, was aber gar nicht so einfach ist, es gibt keine offenen Ports von aussen nach innen, die ich nicht unter Kontrolle habe.
Wenn es jemand schafft, ein Schadprogramm in meinem Lokalnetz zu installieren, habe ich sicher auch ein Problem,
unabhaengig vom installierten System. Worueber man sich aber Gedanken machen kann, sind die Lokalnetzteilnehmer, die gerne 'nach Hause' telefonieren.

Das kompromittieren von außen ist doch heute gar kein Thema mehr ...

- Webcam telefoniert nach Hause
- Harmony telefoniert nach Hause
- TV
- Audio
- Alexa, Google, Siri
- IOT Devices
- OS updates
- tbc (to be continued)

Ich denke, da ist ein FHEM Server der aus dem Internet nicht direkt erreichbar ist relativ weit hintern in der Prioliste zum absichern
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Wernieman

Was auch viele Vergessen .. der Browser. Er initiiert eine Verbindung nach draußen zu einem Unbekannten Ziel (bzw. mehrere wie Tracker, Werbung etc.). Für einen Router ist es also eine Verbindung von Drinnen nach Draußen. Der Datenfluß ist aber von Draußen nach Drinnen ... incl. "Probleme". Und dann vom Browser das Netz infiltrieren ... ist heute "State of the Art", Stichwort "Angriff über Bande"

Bezüglich "Grafische Oberfläche":
Diese braucht für Funktionen System-Rechte. Also kann man mit dem Knacken solcher Funktionen relativ einfach solche Rechte bekommen. Ist übrigens kein Linux-Problem, sondern eines von allen bekannten Betriebssystemen. Wenn man also ein System ohne solche "Probleme" hat, hat man einem Angreifer schon mal seeeehr viele Möglichkeiten weggenommen.

Das eine solche Oberfläche auch viel Speicher braucht und deshalb auf einem Server ... nicht optimal ist, steht auf einem anderen Blatt.

-> Kein Desktop auf dem Server (Es sei denn, das Installationsprogramm will es, wie z.B. Oracle :o( )

- 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

Wolfgang Hochweller

Das ist alles richtig.
Ich wollte ja auch nur sagen, dass, wenn es mir gelingt, Zugang zu einem Rechner im LAN  zu bekommen, auch das nicht-grafische System einer FHEM-Installation chancenlos ist.

Das mit dem nach-Hause-telefonieren ist natuerlich eine kritische Stelle; allerdings weiss man doch sehr gut, was die bekannten Programme und Geraete so tun ( siehe z. B. die Diskussion ueber die Fernseher ).
Bei andern Geraeten, insbesondere IT-Cams, woher auch immer sie kommen, sieht das vielleicht schon anders aus.
Die telefonieren alle irgendwo hin; kommen sie aus China, telefonieren sie natuerlich auch nach China.
Wenn man sich da unsicher ist, muss man ihnen schon den WAN-Zugang sperren.
Wenn ich die dann von aussen sehen will, mache ich das ueber meine private VPN-Verbindung.

In wie weit der FHEM-Rechner aus dem Netz zu erreichen sein muss, haengt ja auch von der Anwendung ab :
Real-time GeoTracking z. B. erfordert nun mal Nachrichten an den Server.
Solange man dass mit einer sicheren Verbindung tut, ist dagegen doch wenig auszusetzen.

Wer Lust hat, sollte sich mal ansehen, was im Laufe des Tages auf der WAN-Seite des Routers los ist.
Fast ohne Unterbrechung werden die Ports von aussen angesprochen, voellig egal,ob man Standardports benutzt oder nicht.
Das sind sicher meist 'Script-Kiddies', aber laestig ist das schon.

Wuppi68

und wie chancenlos man ist sieht man auch gut an den Einbruch beim Heise Verlag, oder beim Bundestag ... wo ein Wille ist, da findet sich auch meistens ein Weg

für die "Rückkommunikation" lässt sich ja auch ein Application Proxy einsetzen
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Wernieman

Mann sollte sich klarmachen, das ein 100% Absicherung eben nicht möglich ist (Siehe den erwähnten Angriff auf heise)

Mann kann nur die Angriffsfläche und die Auswirkungen vermindern.

ich glaube übrigens nicht, das die meisten Angriffe heute von Script-Kiddies kommt, sondern von Leuten, welche sich "Drohnen" besorgen wollen. Ein übernommener Rechner wird heute z.B. im Darknet verkauft, bringt also Geld. Es wird per Script geguckt, ob es sich lohnt (bekannte Probleme finden) und dann automatisch/manuell angegriffen.

Nur mal als Beispiel: Meine letzte Installation eines Servers bei hetzner führte innerhalb der ersten 10 Minuten zu 8 ernstzunehmenden Angriffen auf den SSH-Port ...

Aber s.o. das ist nur ein Teil des Problems. Veile größer (vor allem im Heimbereich) ist jeder Rechner, welcher im Web surft oder EMails liest. So ist bekanntlich (s.o.) auch heise betroffener geworden.
- 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

Wuppi68

Zitat von: Wernieman am 26 Juni 2019, 12:48:07
Mann sollte sich klarmachen, das ein 100% Absicherung eben nicht möglich ist (Siehe den erwähnten Angriff auf heise)

Mann kann nur die Angriffsfläche und die Auswirkungen vermindern.

ich glaube übrigens nicht, das die meisten Angriffe heute von Script-Kiddies kommt, sondern von Leuten, welche sich "Drohnen" besorgen wollen. Ein übernommener Rechner wird heute z.B. im Darknet verkauft, bringt also Geld. Es wird per Script geguckt, ob es sich lohnt (bekannte Probleme finden) und dann automatisch/manuell angegriffen.

Nur mal als Beispiel: Meine letzte Installation eines Servers bei hetzner führte innerhalb der ersten 10 Minuten zu 8 ernstzunehmenden Angriffen auf den SSH-Port ...

Aber s.o. das ist nur ein Teil des Problems. Veile größer (vor allem im Heimbereich) ist jeder Rechner, welcher im Web surft oder EMails liest. So ist bekanntlich (s.o.) auch heise betroffener geworden.

Volle Zustimmung :-)

Ein Arbeitskollege von mir hatte sich einen VServer besorgt und bevor er sich auch nur das erste mal dort anmelden konnte war dieser schon gekapert ... der ganze Vorgang hatte nach dem der Ausführen der Bestellung keine 5 Minuten gedauert. Nur durch den guten Support - Firewall wurde entsprechend konfiguriert - konnte der Kollege den V-Server im dritten Anlauf sicher in Betrieb nehmen und das tagesaktuelle Sicherheitspaket einspielen. Jetzt war der Server sicher - bis WordPress installiert wurde --> Goto Start
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Wernieman

Zitatbis WordPress installiert wurde --> Goto Start
Wobei es meistens nicht WordPress, sondern die PlugIns sind, welche Probleme bereiten ...

Ich wundere mich, das deren VServer so leichbt übernehmbar sind. bei Hetzner z.B. wird ein nacktes Linux (Nur SSH) angeboten. Das zu übernehmen ist schon ... mehr als Schwierig ...
- 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

KölnSolar

Dann schmeiß ich mal dazu
ZitatWebcam ... telefoniert nach Hause
etwas in die Runde. Bei manchen devices(Sprachassistenten) ist es unvermeidlich.  :'( Bei vielen aber völlig überflüssig.
Ich hab mir kürzlich pi-hole installiert. Neben der glorreichen Funktion, Werbe-websites im lokalen Netz zu blockieren, werden ja alle Webzugriffe protokolliert. Da lässt sich dann recht einfach bei Erstinbetriebnahme eines devices "unnötiges" Cloudgedöns blockieren.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt