Aus Raspberry Pi Geek 07-08/2020

Mit Mistborn verschiedene Dienste für das Heimnetz absichern (Seite 2)

Installation

Bei der grundlegenden Installation von Mistborn gibt es für Sie, gemessen an dem, was das Skript alles einrichtet, kaum etwas zu tun, außer interessehalber die Ausgabe im Terminal mitzulesen. Sie richten die Software über die Befehle aus den ersten beiden Zeilen von Listing 1 auf dem RasPi ein. Der erste lädt das Skript von Gitlab herunter, der zweite startet die eigentliche Installation (Abbildung 2). Diese findet unterhalb von /opt/mistborn/ statt.

Listing 1

$ git clone https://gitlab.com/cyber5k/mistborn.git
$ sudo bash ./mistborn/scripts/install.sh
$ sudo mistborn-cli getconf
Abbildung 2: Die Installation von Mistborn auf dem Server ist mit zwei Befehlen schnell angestoßen. Danach vergeben Sie lediglich noch ein Passwort, der Rest läuft automatisch.

Abbildung 2: Die Installation von Mistborn auf dem Server ist mit zwei Befehlen schnell angestoßen. Danach vergeben Sie lediglich noch ein Passwort, der Rest läuft automatisch.

Auf dem RasPi 4 dauerte der Vorgang in einem schnellen Netz rund 20 Minuten (Abbildung 3). Auf Gitlab finden Sie eine Liste der während der Installation abgearbeiteten Schritte [5]. Die Installation des ressourcenhungrigen Management-Tools Cockpit sollten Sie auf einem RasPi verneinen, wenn Sie es nicht unbedingt benötigen.

Abbildung 3: Die Installation dauerte im Test mit einem RasPi 4 etwa 20 Minuten. Eine langsame Netzanbindung verzögert den Vorgang aber unter Umständen auf bis zu eine Stunde.

Abbildung 3: Die Installation dauerte im Test mit einem RasPi 4 etwa 20 Minuten. Eine langsame Netzanbindung verzögert den Vorgang aber unter Umständen auf bis zu eine Stunde.

Nach dem Abschluss der Installation erstellen Sie eine Konfiguration für den oder die Rechner, auf denen Sie das Webinterface zum Steuern von Mistborn betreiben wollen. Warten Sie nach der Erfolgsmeldung der Installation noch eine Minute und erstellen Sie dann die Konfiguration mit dem Befehl aus der letzten Zeile von Listing 1 (Abbildung 4).

Abbildung 4: Den anfänglich kryptischen Befehl zum Erstellen einer Konfiguration für Wireguard auf dem Client tauschte der Entwickler während der Testphase gegen einen eingängiges Kommando aus.

Abbildung 4: Den anfänglich kryptischen Befehl zum Erstellen einer Konfiguration für Wireguard auf dem Client tauschte der Entwickler während der Testphase gegen einen eingängiges Kommando aus.

Auf dem Client

Kennen Sie Wireguard bereits, fällt Ihnen vermutlich die Ähnlichkeit zur dort verwendeten wg0.conf auf. So ist die erste Maßnahme auf dem Steuergerät die Installation von Wireguard. Bei Ubuntu bis einschließlich Version 19.10 ist dazu die Integration eines PPA erforderlich [5], ab “Focal Fossa” ziehen Sie die Software direkt per Apt aus dem Repository. Das gilt auch für viele weitere Distributionen.

Als nächsten Schritt kopieren Sie die Konfigurationsdatei aus dem Terminal des RasPi und legen sie auf dem Client in dem zuvor erstellten Verzeichnis /etc/wireguard/ als wg_admin.conf ab. Ein Beispiel zeigt Listing 2. Anschließend starten Sie noch die virtuelle Netzwerkschnittstelle per Systemd (Listing 3, erste zwei Zeilen).

Listing 2

# "10.15.91.2" - WireGuard Client Profile
[Interface]
Address = 10.15.91.2/32
# The use of DNS below effectively expands to:
#   PostUp = echo nameserver 10.15.91.1 | resolvconf -a tun.%i -m 0 -x
#   PostDown = resolvconf -d tun.%i
# If the use of resolvconf is not desirable, simply remove the DNS line
# and use a variant of the PostUp/PostDown lines above.
# The IP address of the DNS server that is available via the encrypted
# WireGuard interface is 10.15.91.1.
DNS = 10.15.91.1
PrivateKey = cPPflVGsxVFw2/lMmhiFTXMmH345bGqoqArD/NgjiXU=
[Peer]
PublicKey = DfIV1urYZXqXKiU4rOSfO0Iu589pEO+59dHV5w5N0mU=
PresharedKey = Z1SO5NuAnZ7JhzVCuUnYOQLWOQYmMoqG0pG1SNXUlh0=
AllowedIPs = 0.0.0.0/0,::/0
Endpoint = Mistborn public IP address:39207

Listing 3

$ sudo systemctl start wg-quick@wg_admin
$ sudo systemctl enable wg-quick@wg_admin
$ sudo systemctl status wg-quick@wg_admin

Sollten Sie beim ersten Befehl eine Fehlermeldung erhalten, gehen Sie dieser mit dem Befehl aus der letzten Zeile von Listing 3 nach. Falls die Ausgabe moniert, resolvconf werde nicht gefunden, installieren Sie das Paket openresolv nach.

Hat alles funktioniert, rufen Sie nun in einem Webbrowser das Interface unter http://home.mistborn auf. Die Verbindungsaufnahme zum Server dauert je nach Hardware einige Minuten, da dieser zunächst die Container erstellt.

Ein erster Blick

In der Standardansicht nach dem Start von Mistborn befinden Sie sich in der Profilansicht, in der Sie bei Bedarf neue User anlegen, ein Gateway einrichten (dazu später mehr) oder neue Clients und Profile einrichten (Abbildung 5). Klicken Sie links auf System. So gelangen Sie in die Ansicht des standardmäßig aktivierten Pi-hole oder der Administrationsoberfläche Cockpit (Abbildung 6). Alle Dienste öffnen sich jeweils in einem eigenen Reiter.

Abbildung 5: Gleich nach dem Start der Weboberfläche haben Sie die Möglichkeit, neue User anzulegen und Wireguard-Profile für weitere Clients oder Gateways zu erstellen. Für mobile Clients scannen Sie die Konfiguration einfach als QR-Code ein.

Abbildung 5: Gleich nach dem Start der Weboberfläche haben Sie die Möglichkeit, neue User anzulegen und Wireguard-Profile für weitere Clients oder Gateways zu erstellen. Für mobile Clients scannen Sie die Konfiguration einfach als QR-Code ein.

Abbildung 6: Der standardmäßig aktive serverseitige Tracking- und Werbeblocker Pi-hole eignet sich ideal für den Einsatz auf dem RasPi. Er agiert als DNS-Server und blockt so anhand von bereits eingebundenen oder selbst erstellten Listen unerwünschte Anfragen auf allen Geräten im Netz.

Abbildung 6: Der standardmäßig aktive serverseitige Tracking- und Werbeblocker Pi-hole eignet sich ideal für den Einsatz auf dem RasPi. Er agiert als DNS-Server und blockt so anhand von bereits eingebundenen oder selbst erstellten Listen unerwünschte Anfragen auf allen Geräten im Netz.

Als Nächstes folgt das Modul Coppercloud. Damit sperren Sie einen gegebenen Satz von IP-Adressen über Iptables oder gewähren diesen Zutritt. Hier eingetragene Listen formt die Software beim Systemstart zu Iptables-Regeln um und führt diese dann aus. Alle weiteren Dienste, die Mistborn abgesichert unterstützt, finden Sie unter Manage Extra Services zusammengefasst (Abbildung 7).

Abbildung 7: Im Reiter <span class="ui-element">Manage Extra Services</span> versammelt Mistborn alle bereits installierten Dienste, die Sie durch einen Klick auf <span class="ui-element">Start</span> in wenigen Minuten aufsetzen und dann starten. Alle Dienste arbeiten im jeweils eigenen Container und nutzen den Wireguard-Tunnel.

Abbildung 7: Im Reiter Manage Extra Services versammelt Mistborn alle bereits installierten Dienste, die Sie durch einen Klick auf Start in wenigen Minuten aufsetzen und dann starten. Alle Dienste arbeiten im jeweils eigenen Container und nutzen den Wireguard-Tunnel.

Extradienste

Zu den Extradiensten gehören derzeit der Passwortmanager Bitwarden, die Kommunikationsanwendung Jitsi, die Chat-Software Rocket.Chat, die Filesharing- und Kollaborationsplattform Nextcloud (Abbildung 8), Syncthing als Software zum Abgleich von Daten (Abbildung 9), die Plex-Alternative Jellyfin (Abbildung 10), die Bürosuite OnlyOffice, die Heimautomations-Software Homeassistant sowie der Anonymisierungsdienst Tor. Weitere Dienste wie der Messenger Matrix, Gitlab oder verschiedene Game-Server sind in Vorbereitung.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 6 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben