CCU-Protect v2.92 (stable) - Lokale Firewall für die CCU3

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
blackhole
Beiträge: 1419
Registriert: 21.07.2015, 14:03

CCU-Protect v2.92 (stable) - Lokale Firewall für die CCU3

Beitrag von blackhole » 28.10.2015, 13:47

Hallo zusammen,


wie bereits im Vorfeld angekündigt, stelle ich hiermit die lokale Firewall CCU-Protect "so wie sie ist" zur freien Verfügung. Künftige Updates werde ich hier in diesem Thread ankündigen und veröffentlichen.

CCU-Protect blockt jegliche Kommunikation zur CCU (inkl. XML-API, erweiteter Script-Parser etc.) von Geräten aus privaten Netzwerken, die nicht ausdrücklich zugelassen sind. CCU-Protect schützt somit auch vor "gesprächigen" und "querschießenden" Geräten im LAN (Broadcasts, Bursts, DoS, Kids etc.pp.).

Eine generelle Zugriffsmöglichkeit via SSH (Konsolenzugriff) ist per Default als Schutz vor dem eigenen Ausperren aktiviert, kann aber per Konfiguration (s.u.) deaktiviert werden. Gleiches gilt für ICMP (aka "Ping") für eine schnelle Überprüfung der grundsätzlichen Erreichbarkeit im LAN.

Die Kommunikation der CCU nach außen (Senden von Mails, Push-Nachrichten, Download von Firmware-Updates etc.pp.) ist ohne weiteres Zutun gewährleistet. Für den Schutz "von außen" ist (selbsterklärend und prinzipbedingt) weiterhin der Plastik-Router/die Firewall als zentrales Gateway zum Internet zuständig.

SPI (Stateful Packet Inspection) hätte ich gerne noch implementiert, leider fehlt der CCU hierfür jedoch mindestens ein zwingend notwendiges Kernel-Modul. Für zukünftige Erweiterungen, wie z.B. ein granulares Regelwerk, ist jedoch alles vorhanden, so dass je nach Feedback/Wünsche weitere Features folgen werden.


Motivation

Grund für die Veröffentlichung ist der (OSS-)Gedanke, dass andere von meiner Arbeit profitieren können, wie ich von der Arbeit Dritter profitiert habe.


Downloads CCU-Protect v2.92 (stable)
Vorbereitung
  • Eine Systemvariable namens Firewall (Zeichenkette) in der CCU anlegen.
  • SSH-Zugang der CCU aktivieren (Startseite > Einstellungen > Systemsteuerung > Sicherheit).
  • Zuweisung von festen IP-Adressen für die Geräte im LAN (Reservierung per DHCP).
  • Ab CCU-Protect v2.90 können auch (zusätzlich oder ausschließlich) MAC-Adressen verwendet werden.
  • Windows-User: Mittels z.B. WinSCP und PuTTY je eine SSH-Session zur CCU aufbauen.
  • Linux-User: Mittels ssh eine SSH-Session zur CCU aufbauen. Mit scp und tar kannst Du umgehen.
Erstinstallation
  • Das Archiv ccu-protect-install-2.xx.tar.gz in das Verzeichnis /usr/local/addons/ kopieren und dort entpacken.
  • Nach dem Entpacken befinden sich alle nötigen Dateien im Verzeichnis /usr/local/addons/ccu-protect/.
Aktualisieren einer bereits installierten Version v2.9x
  • Das Archiv ccu-protect-update-2.xx.tar.gz in das Verzeichnis /usr/local/addons/ kopieren und dort entpacken.
  • Die Konfigurationsdatei wird nicht überschrieben, dennoch die Einstellungen auf Richtigkeit überprüfen.
  • Abschließend CCU-Protect deaktivieren und wieder aktivieren.
Konfiguration
  • Die Datei /usr/local/addons/ccu-protect/firewall.conf editieren.
  • Die Konfigurationsdatei ist gut kommentiert und sollte somit selbsterklärend sein.
  • Im Zweifelsfall bitte vor der Aktivierung von CCU-Protect hier im Thread nachfragen!
CCU-Protect aktivieren
  • CCU-Protect wird durch Ausführung des Skriptes /usr/local/addons/ccu-protect/firewall_enable.sh aktiviert.
  • Die Aktivierung kann an der Konsole (SSH-/PuTTY-Session) oder beispielsweise mittels virtuellem Taster, automatisch nach CCU-Start, per CCU-Programm und Ausführung aus der CCU-WebGUI heraus erfolgen:

    Code: Alles auswählen

    ! CCU-Protect aktivieren
    !-----------------------------------------------------------------------------------------------------------------------
    system.Exec("/usr/local/addons/ccu-protect/firewall_enable.sh");
  • Bei Aktivierung wird die im Vorfeld angelegte Systemvariable Firewall automatisch mit dem Begriff "aktiviert" gefüllt.
CCU-Protect deaktivieren
  • CCU-Protect wird durch Ausführung des Skriptes /usr/local/addons/ccu-protect/firewall_disable.sh deaktiviert.
  • Die Deaktivierung kann ebenfalls an der Konsole (SSH-/PuTTY-Session) oder beispielsweise mittels virtuellem Taster, per CCU-Programm (Skript) und Ausführung aus der CCU-WebGUI heraus erfolgen:

    Code: Alles auswählen

    ! CCU-Protect deaktivieren
    !-----------------------------------------------------------------------------------------------------------------------
    system.Exec("/usr/local/addons/ccu-protect/firewall_disable.sh");
  • Bei Deaktivierung wird die im Vorfeld angelegte Systemvariable Firewall automatisch mit dem Begriff "deaktiviert" gefüllt.
Backup
  • CCU-Protect und dessen Konfiguration sind ohne weiteres Zutun Bestandteil des System-Backups der CCU.
Bebilderte Anleitung
CCU-Protect und YAHM
  • Auch wenn ich aus mehreren Gründen YAHM in Sachen Sicherheit/CCU-Protect nicht selbst unterstütze, sei hiermit auf einen Lösungsweg von GasCan verwiesen. Ich denke, er wird im Falle des Falles Unterstützung anbieten.
Changelog
  • v2.81: Public Release
  • v2.82: Prüfung auf Vorhandensein der Konfigurationsdatei(en), Anpassung Dateirechte.
  • v2.83: Kleinere Optimierungen, Vorbereitung für neue Funktionen.
  • v2.90: Öffentliche Beta-Version, MAC-Adressen können jetzt ebenfalls verwendet werden.
  • v2.91: MAC-Adressen können jetzt (zusätzlich oder ausschließlich) ebenfalls verwendet werden.
  • v2.92: Verwendung der Methode Get() statt globales Suchen nach Namen (Danke an BadenPower)
Ich hoffe, dass die Leute, die das Thema CCU-Protect angehen möchten, mit den Kurzhinweisen zur Installation und Konfiguration oder der bebilderten Anleitung von Erhard Simdorn zurechtkommen. Netzwerkkenntnisse und eine bedachte, saubere Konfiguration sind erforderlich. Jegliche Haftung ist ausgeschlossen!
Zuletzt geändert von blackhole am 10.09.2018, 18:18, insgesamt 59-mal geändert.
 
Anwesenheit BT v2 (Raspbian>CCU3) | CCU-Protect v2 (CCU3) | Mini SV-Datalogger v2 (CCU3) | Servicemeldungen SV v2 (CCU3) | BLGSH (Y)
 

grissli1
Beiträge: 2225
Registriert: 22.06.2012, 17:46
Wohnort: Tirol/Austria

Re: CCU-Protect v2.81 - Lokale Firewall für die CCU2

Beitrag von grissli1 » 28.10.2015, 17:13

Super. Danke dir! Werde es bei nächster Gelegenheit testen.

Viele Grüße
Chris

Unterwegs @ G-Pad
System: RaspberryMatic 2.31.25.20180225 auf RPi3, ReverseProxy auf RPi3, mehrere Harmony Hubs

Benutzeravatar
blackhole
Beiträge: 1419
Registriert: 21.07.2015, 14:03

Re: CCU-Protect v2.82 - Lokale Firewall für die CCU2

Beitrag von blackhole » 29.10.2015, 10:18

Update:
 
Anwesenheit BT v2 (Raspbian>CCU3) | CCU-Protect v2 (CCU3) | Mini SV-Datalogger v2 (CCU3) | Servicemeldungen SV v2 (CCU3) | BLGSH (Y)
 

Benutzeravatar
jmaus
Beiträge: 3698
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Kontaktdaten:

Re: CCU-Protect v2.82 - Lokale Firewall für die CCU2

Beitrag von jmaus » 03.11.2015, 13:07

Hallo,

dieses Projekt hört sich wirklich sehr interessant an. Auf welcher Basis machst du denn die Firewall? iptables?
Auch würde mich interessieren ob du nicht gewillt bist das forum-projekt hier in ein richtiges github projekt zu verwandeln damit man da ggf. besser mit entwickeln kann. Ich könnte mir vor allem vorstellen ein vollwertiges CCU Addon daraus zu machen und sogar das fehlende SPI kernel modul beizusteuern für die CCU2 sowie einen Port auf RaspberryMatic hierfür zu machen. Dafür sollte das ganze aber in der Tat ein Github Projekt werden.

Beste Grüße,
Jens
RaspberryMatic 3.41.11.20181126 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

Benutzeravatar
blackhole
Beiträge: 1419
Registriert: 21.07.2015, 14:03

Re: CCU-Protect v2.82 - Lokale Firewall für die CCU2

Beitrag von blackhole » 03.11.2015, 13:47

jmaus hat geschrieben:Auf welcher Basis machst du denn die Firewall? iptables?
Korrekt.
jmaus hat geschrieben:Auch würde mich interessieren ob du nicht gewillt bist das forum-projekt hier in ein richtiges github projekt zu verwandeln damit man da ggf. besser mit entwickeln kann.
Nein, danke. Wirklich nicht.

Code, Feedback, Verbesserungsvorschläge, Snippets, Korrekturen etc.pp. sind hier wirklich sehr gut aufgehoben.
 
Anwesenheit BT v2 (Raspbian>CCU3) | CCU-Protect v2 (CCU3) | Mini SV-Datalogger v2 (CCU3) | Servicemeldungen SV v2 (CCU3) | BLGSH (Y)
 

Benutzeravatar
jmaus
Beiträge: 3698
Registriert: 17.02.2015, 14:45
Wohnort: Dresden
Kontaktdaten:

Re: CCU-Protect v2.82 - Lokale Firewall für die CCU2

Beitrag von jmaus » 03.11.2015, 13:51

jmaus hat geschrieben:Auch würde mich interessieren ob du nicht gewillt bist das forum-projekt hier in ein richtiges github projekt zu verwandeln damit man da ggf. besser mit entwickeln kann.
Nein, danke. Wirklich nicht.

Code, Feedback, Verbesserungsvorschläge, Code-Snippets, Korrekturen etc.pp. sind hier wirklich sehr gut aufgehoben.
Gut, dann aber nicht wundern das ich dann hierzu nichts beitragen werde. Wer heutzutage ohne revision control system arbeitet und auch noch erwartet das jemand drittes manuelle diffs zusendet brauch sich nicht wundern wenn es keine beiträge gibt. Ansonsten ist das einfach alles viel zu zeitaufwendig, tut mir leid.
RaspberryMatic 3.41.11.20181126 @ TinkerS mit ~150 HomeMatic Geräten + ioBroker – GitHubPayPal

Benutzeravatar
blackhole
Beiträge: 1419
Registriert: 21.07.2015, 14:03

Re: CCU-Protect v2.83 - Lokale Firewall für die CCU2

Beitrag von blackhole » 03.11.2015, 18:56

Update:
 
Anwesenheit BT v2 (Raspbian>CCU3) | CCU-Protect v2 (CCU3) | Mini SV-Datalogger v2 (CCU3) | Servicemeldungen SV v2 (CCU3) | BLGSH (Y)
 

Benutzeravatar
thkl
Beiträge: 2764
Registriert: 15.07.2013, 13:32
Wohnort: dickes B

Re: CCU-Protect v2.83 - Lokale Firewall für die CCU2

Beitrag von thkl » 03.11.2015, 20:10

An sich eine Prima Idee. Ich sehe allerdings das Problem, das zb. mein Router die nette Eigenschaft besitzt, meinen Geräten nicht immer die gleiche IP Adresse zuzuteilen. Und Mac Adressen basiertes DHCP kennt der supertolle Speedport schon mal garnicht.

Die Gefahr das man sich da gleich mal vom WebGUI aussperrt, ist doch recht hoch oder ?

Von den 3rd Party Apps mal ganz abgesehen.

Besteht die möglichkeit die Whitelist irgendwie MAC-basierend zu machen ?

Benutzeravatar
blackhole
Beiträge: 1419
Registriert: 21.07.2015, 14:03

Re: CCU-Protect v2.83 - Lokale Firewall für die CCU2

Beitrag von blackhole » 03.11.2015, 20:33

thkl hat geschrieben:Und Mac Adressen basiertes DHCP kennt der supertolle Speedport schon mal garnicht.
CCU-Protect ist für dich nicht geeignet, solange da kein halbwegs vernünftiger Router/Firewall/DHCP werkelt.
CCU-Protect ist prinzipbedingt nicht für jedermann/jede Umgebung geeignet (und es hat auch gar nicht diesen Anspruch).
thkl hat geschrieben:Die Gefahr das man sich da gleich mal vom WebGUI aussperrt, ist doch recht hoch oder ?
Wenn Du den ersten Beitrag im Thread gut durchgelesen, verstanden und alles beachtest hast, eher nein.
Wenn Du unsicher bist, bei offenen Fragen nicht nachgefragt hast und nur auf Dein Glück hoffst, schon eher.
thkl hat geschrieben:Von den 3rd Party Apps mal ganz abgesehen.
O.K., Du hast den ersten Beitrag im Thread noch nicht gut durchgelesen.
thkl hat geschrieben:Besteht die möglichkeit die Whitelist irgendwie MAC-basierend zu machen ?
Ja, das geht.
 
Anwesenheit BT v2 (Raspbian>CCU3) | CCU-Protect v2 (CCU3) | Mini SV-Datalogger v2 (CCU3) | Servicemeldungen SV v2 (CCU3) | BLGSH (Y)
 

Benutzeravatar
thkl
Beiträge: 2764
Registriert: 15.07.2013, 13:32
Wohnort: dickes B

Re: CCU-Protect v2.83 - Lokale Firewall für die CCU2

Beitrag von thkl » 03.11.2015, 20:38

blackhole hat geschrieben: O.K., Du hast den ersten Beitrag im Thread noch nicht gut durchgelesen.
Doch, mehrfach sogar. Aber Du hast recht, CCU-Protect ist nicht für mich geeignet.
Trotzdem, viel Erfolg mit dem Projekt. Ich finde es generell eine begrüßenswerte Sache.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“