Seite 1 von 2

Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Fr Apr 28, 2023 12:31 pm
von gurumeditation
Habt ihr Erfahrung mit der Verteilung von einzelnen Containern auf mehrere Netzwerke oder seid ihr schon über Best Practices zu dem Thema gestolpert?
:idea: Hier ist mein Tipp für mehr IT-Sicherheit im eigenen Netzwerk.

Warum sollte ich das tun?
Hundertprozentige Sicherheit gibt es nirgendwo - jedes Gerät und jede Software ist potentiell angreifbar. Ob nun Ransomware auf dem PC, Trojaner auf dem Handy oder eine "smarte" Lampe mit dubioser Firmware in eurem WLAN: das sind nur wenige Beispiele für Gefahren für euer Netzwerk und die daran angeschlossenen Geräte.
Remember: The S in "IoT" stands for security.
Durch Auftrennung des Netzwerks in mehrere Subnetze kann ich zumindest den Schaden begrenzen, den ein kompromittiertes Gerät anrichten kann. Die Firewall regelt die Kommunikation zwischen den Netzwerken, so dass zum Beispiel euer Smartphone die "smarte" WLAN-Lampe steuern kann, die Lampe aber umgekehrt das Smartphone nicht erreichen kann.

Nun möchte ich diese Abgrenzung der IoT-Geräte auch in Portainer auf dem Timberwolf umsetzen. Dadurch ist sowohl die Kommunikation der Container mit "ihrem" Subnetz leichter, als auch mein Schutz vor potentiell gefährlichen Containern selbst. Wie ihr sicher wisst, sind Docker-Container immer eine gewisse Gefahr, wenn man sie nicht selbst erzeugt hat. Durch den pull einer neuen Version kann man sich sehr ungebetene Gäste ins Haus holen, wenn die Quelle nicht mehr sicher ist.

So in etwa soll mein Zielbild aussehen:
Bild


Konfiguration der Netzwerke im Portainer
Um das umzusetzen, habe ich die folgenden beiden Netzwerke in Portainer definiert - der Timberwolf läuft auf beiden Schnittstellen im macvlan Modus. Die "parent" Tags zur Zuordnung der Schnittstellen müsst ihr manuell eintragen - dazu gibt es kein Klickfeld.

Bild
Bild

Konfiguration der Container im Portainer
Anschließend könnt ihr neue oder bestehende Container den Netzwerken zuordnen. Ihr müsst dazu unten in den "Advanced container settings" im Bereich "Network" euer selbst definiertes Netzwerk (siehe oben) per Dropdown-Box auswählen und dann eine in diesem Netzwerk gültige IP-Adresse angeben.

:!: DHCP funktioniert nicht für Container, auch nicht per macvlan!
Es gibt nach meinen Recherchen "experimentelle Bastellösungen", diese wurden jedoch seit Jahren nicht mehr gepflegt und waren noch nie für produktiven Einsatz empfohlen.

So sieht die Konfiguration des Containers aus - hier als Beispiel für mein IoT Netzwerk:
Bild



Ich hoffe, ich habe als totaler Portainer- und Docker-Noob nicht kompletten Unsinn geschrieben und der Hinweis ist dem ein oder anderen nützlich.

Ob die Timberwolf Server mit nur einer Netzwerkschnittstelle mit einer USB-NIC erweitert werden können, um das ähnlich aufzubauen, weiß ich nicht. Ich habe die Möglichkeit nur kurz mit einer NIC getestet - diese wurde nicht angezeigt: Weder in der Netzwerkkonfiguration des Timberwolfs noch in den einbindbaren USB-Geräten von Portainer. Von daher würde ich vermuten, dass es aktuell nicht möglich ist.

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Fr Apr 28, 2023 1:20 pm
von alexbeer
Hallo,
das finde ich ein sehr spannendes und wichtiges Thema.
Ich habe das in meinem kleinen Netzwerk auch mehrfach vorgehabt - aber immer wieder aufgeschoben. Liegt vielleicht auch an meinem begrenzten Netzwerkverständnis.
Wie gehst du denn z.B. mit SONOS (falls vorhanden) oder Alexa-Echos oder ähnlichen Geräten um, die nur begrenzt funktionieren, wenn das Smartphone (auf dem die jeweilige App aufgerufen wird) in einem anderen Netzwerksegment eingebucht ist, als diese IoT-Geräte?

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Fr Apr 28, 2023 3:08 pm
von gurumeditation
Wenn du IT-Security-Experten fragst, ist das Smartphone das unsicherste Gerät im ganzen Netzwerk und gehört als allererstes in die IoT-Zone :whistle:

Davon unabhänig:
Dafür kannst du entsprechende Regeln in der Firewall einrichten. Die kannst du je nach Bedarf eingehend oder ausgehend definieren und auf Subnetze, einzelne Geräte oder auch Ports einschränken.

Beispiel:
IP-Cams befinden sich alle im Cam-Subnetz, was keinerlei Verbindung zulässt - weder ins Internet noch in lokale (private) Subnetze. Da du aber bestimmt Aufzeichnungen speichern möchtest, musst du, sofern das Ziel in einem anderen Subnet liegt, dafür eine Regel definieren:

Code: Alles auswählen

ALLOW from CAMS to <NAS_IP> TCP PORT 445
So als Pseudocode-Beispiel für SMB Shares.

Ist eigentlich kein Hexenwerk wenn man sich einmal damit intensiv auseinandergesetzt hat, kostet aber Zeit das fürs ganze Haus konsequent zu machen. Immer dran denken: Komfort und Sicherheit sind zwei gegensätzliche Pole. In einem flachen LAN gibt's zu Hause die wenigsten Probleme, aber auch die geringste Sicherheit. Komplette Isolation jedes Geräts ist maximale Sicherheit, aber dann geht auch jegliche Funktion / Nutzbarkeit verloren. Daher: Abwägen und Regeln definieren.

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Fr Apr 28, 2023 8:37 pm
von alexbeer
Hi,
das "eigentlich ist es kein Hexenwerk" ist scheinbar bei mir ein Problem.
Sonos verwendet für die Kommunikation ein Multicast. Um das über verschiedene VLAN anzusprechen, wird nach meiner Recherche ein IGMP Proxy benötigt.
Das war einer der Stolpersteine.

So oder so ähnlich ging es mir bei vielen Sachen - und schiebe das Thema vor mir her.

Welche gute Quellen kannst du mir zur Lektüre empfehlen?
Das Thema Firewall habe ich noch umgesetzt bekommen und setze dort eine pfSense ein.

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Fr Apr 28, 2023 10:47 pm
von cybersmart
Bei der Netzwerkbildung muss man Multicast Dienste gesondert betrachten, sonos ist ein gutes Beispiel. Meine sonos Systeme
sind im Client Netz (Smartphones). Alles was sonst klassisch IoT ist, also mit der Cloud spricht und über die Cloud angesprochen wird, liegt in IoT DMzen (Home Connect, Hue Bridge, TV). KNX ist eine extra Zone!

Server und Drucker sind in Netzen, aus denen sie standardmässig nicht ins Internet kommen, aber von innen erreichbar sind.

Ich halte die Anzahl der Zonen so klein wie möglich, nur so viele wie nötig. Dabei hilft oft auch schon NAT zwischen Zonen, ich lasse da vom geNATteten Netz den Zugriff ins vorgelagerte Netz zu und umgekehrt ist der Zugriff per Definition ja erstmal gesperrt.
Reduziert FW Regelwerke.

ABER: Man muss da viel Wissen aufbauen und die Komplexität steigt, Komplexität ist zugleich der Feind von Sicherheit. Ausserdem muss der Hausfrieden erhalten bleiben. Daher werde ich nur mit Aufwand schützen was auch besonders schützenswert ist und Dokumentation ist wichtig falls man selbst mal nicht handlungsfähig ist - sonst wird für die Familie schnell ein Denial of Service draus.

Ganz wichtig: IT Systeme auswählen, deren Hersteller auch Wert auf Security und Patching legen - v.a. auch bei KNX und Kamerasystemen, die man ggf. ja von extern sogar erreich können will/muss. So manches günstiges Gerät aus Fernost (hatte hier ein Beispiel für ein Modbus Gateway in einem anderen Beitrag gepostet) telefoniert gerne nach Hause - das kann man unterbinden, man muss aber wissen was man wie tut.
Gerade bei Kameras halte ich das für besonders kritisch - Kameras sind ja grad ein Thema für V4. Da zahle ich lieber ein paar Euro extra für eine solide Lösung mit vernünftiger Sicherheitsarchitektur.

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Sa Apr 29, 2023 12:45 am
von gurumeditation
alexbeer hat geschrieben: Fr Apr 28, 2023 8:37 pm Sonos verwendet für die Kommunikation ein Multicast. Um das über verschiedene VLAN anzusprechen, wird nach meiner Recherche ein IGMP Proxy benötigt.
Für Multicast kannst du in der pfsense eigene Firewall-Regeln erstellen. "Allow IP options" unter "Advanced Options":
Bild

Falls du es damit nicht schaffst, schau dir mal das Avahi Package an:
"host and service discovery in local networks via mDNS (Multicast DNS) and DNS-SD (DNS Service Discovery)"

Ich kenne mich jetzt mit dem Sonos nicht aus, da ich das nicht nutze.

Bis mein Drucker über Subnetze hinweg automatisch auffindbar war, hat es ein bisschen gedauert. :doh:

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Sa Apr 29, 2023 7:34 am
von alexbeer
Guten Morgen,
ich hatte bei Firma Mal einen Leitfaden für die Segmentierung des Heimnetzes in VLAN gefunden.
https://partner.gira.de/data3/Empfehlun ... nf_V20.pdf

Die nutzen 9 VLANs:
  • VLAN10: Haustechnik (KNX; Home/FacilityServer, X1, andere Bussysteme)
  • VLAN20: Voller Internetzugang für Firewall und andere Zwecke
  • VLAN30: Daten-Netz für PC, Drucker, Tablets etc.
  • VLAN40: Heizung/Klima/Lüftung, für z.B. Wartungszwecke •
  • VLAN50: Audio/Video/Multimedia-Anwendungen
  • VLAN60: IP-Kameras für z.B. die Gebäudeaußenüberwachungen
  • VLAN70: IP-Gastzugang (für z.B. WLAN und reglementierte Zugänge)
  • VLAN80: Internet-Telefonie, Voice over IP
  • VLAN90: unbenutztes VLAN für unbenutzte physikalische Ports
Welche VLANs nutzt ihr? 9 wären mir zu komplex.

Danke auch für die Tipps zur pfSense - schaue ich mir mal an.
Das mit dem Drucker ist ein super Beispiel.
Ich stehe mit den Dingern auf Kriegsfuß. Patrone alle, Druckkopf eingetrocknet, Papier alle, Papierstau... Meine Frau ist drauf angewiesen. Deren extern gemanagte Hardware habe ich (in mein einziges Gäste-VLAN) verbannt. Da werde ich Mal testen, ob ich den Zugriff auf SONOS hinbekomme...
Wenn das funktioniert, traue ich mich an die anderen Geräte.

Schönes Wochenende euch.

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Sa Apr 29, 2023 7:48 am
von Marino
Für privat ist 9 schon ambitioniert, aber bei mir kommt auch ein wenig zusammen.
Ich habe momentan:
- Normales LAN/WLAN (inkl. KNX und TWS)
- Gäste (ausschließlich Internet)
- Kameras
- Daten / Server
- Arbeit (Nur Internet & Zugang zum PiHole, was im Gastnetzwerk nicht möglich wäre)
- VPN (Zugriff auf Visu und Internet von unterwegs, wenn notwendig aus öffentlichen WLAN-Netzwerken)
- IoT (Nur der Roborock Saugroboter mag das nicht. Der antwortet nicht, wenn Anfragen aus anderern Subnetzen kommen. Müsste mit Masquerading gearbeitet werden).

Das empfinde ich schon als viel, kann so aber immerhin Zugriffe auf Daten, Kamera etc. zusätzlich einschränken.

Viele Grüße
Nils

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Sa Apr 29, 2023 10:08 pm
von gurumeditation
alexbeer hat geschrieben: Sa Apr 29, 2023 7:34 am Welche VLANs nutzt ihr? 9 wären mir zu komplex.
  1. Core: Router/Firewall (pfsense), Switches, Access Points, usw.
  2. Servers: ESXi, VDI, NAS, Timberwolf, usw.
  3. Eltern: Desktops, Laptops, Tablets, Smartphones der Eltern
  4. Kinder: Desktops, Laptops, Tablets, Smartphones der Kinder
  5. Gäste: Gäste-WLAN - per Kabel wollte sich noch keiner verbinden...
  6. Arbeit (Homeoffice): Geräte von Firmen und Kunden für Homeoffice
  7. Multimedia: TVs, AVRs, Harmony, Multiroom Audio (LMS/pCP), Spielekonsolen
  8. IoT: Drucker/MFP, "smarte" Geräte, Toniebox
  9. Kameras: NVR, IP-Kameras
  10. VoIP: Telefone und DECT-Basis
Ups! :whistle:

Re: Portainer: Verteilung von Containern auf mehrere Netzwerke

Verfasst: Sa Apr 29, 2023 10:56 pm
von Eraser
1. Netzwerk und Server
2. Geräte ohne Internet
3. Geräte mit Internet
4. Familie
5. Kameras
6. Pool
7. Gast
8. VPN