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.
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.Remember: The S in "IoT" stands for security.
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:
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.
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:
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.