Anleitung - Installation Mistborn
Mistborn in wenigen Schritten installieren und als eigene virtuelle private Cloud-Plattform mit Firewall sowie Wireguard VPN nutzen.
Inhaltsverzeichnis
Möchte man sich selbst nicht einzeln damit beschäftigen ein VPN mit Authentifizierung, eine Firewall bzw. IP-Filterung einzurichten, lässt sich das mit Mistborn vereinfachen. Selbst weitere Dienste wie Nextcloud oder Bitwarden lassen sich damit per Knopfdruck installieren.
Voraussetzungen
Mistborn benötigt irgendeinen Server mit vorzugsweise Ubuntu.
Es kann auch ein Raspberry Pi eingesetzt werden. Dafür empfehle ich Ubuntu 21.04 (statt Ubuntu 20.04 oder Raspberry Pi OS), sonst stößt man leider auf Probleme.
Empfohlen werden mindestens 2 GB RAM sowie 15 GB Speicherplatz für die Basisinstallation. Eine öffentliche IP4-Adresse muss vorhanden sein und kein DS-Lite Anschluss. Ansonsten lässt sich Mistborn auch auf einen VPS installieren.
Ubuntu einrichten
Zunächst richten wir das Host-System ein, nachdem es installiert wurde.
Beim Raspberry Pi sind die standardmäßigen Anmeldedaten {Benutzername: ubuntu; Passwort: ubuntu}
. Das ist im Übrigen auch ein Grund dafür, warum ssh standardmäßig deaktiviert ist. Benutzername und Passwort sind nicht sicher.
Zur Verbindung wieder Terminal öffnen:
ssh ubuntu@192.168.0.47
Selbstverständlich können die Daten (Benutzername, Password und IP-Adresse) abweichen Nun updaten wir zunächst die Pakete.
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
Gegebenenfalls mit Y bestätigen.
Das Passwort sollte geändert werden, falls es nicht am Anfang der SSH-Session passiert ist.
passwd
ubuntu
neuesPasswort
neuesPasswort
Das neue Passwort sollte etwas sicherer sein. Die richtige Zeit sollte eingestellt werden.
date
Falls nicht die richtige Zeit angezeigt wird:
tzselect
Über die Zahlen könnt ihr eure Zeitzone auswählen.
timedatectl set-timezone 'Europe/Berlin'
Über den Befehl htop sehen wir die Systemauslastung.
htop
Falls es nicht installierst ist, zunächst mit sudo apt install htop
installieren.
Damit lässt sich gut verfolgen, wie stark die CPU und der RAM beansprucht werden. Mit F10 oder STRG+C verlässt du die Ansicht wieder.
Beim Raspberry Pi lässt sich auch die Temperatur in °C*100 mit cat /sys/class/thermal/thermal_zone0/temp
anzeigen.
Wir können unseren Host umbenennen.
cd /
sudo nano etc/hostname
In Nano wird die Datei mit Strg+X verlassen. Nano wird euch Fragen, ob du die Änderungen speichern möchtest (mit Y bestätigen) und wie die Datei genannt werden soll. Da wir sie überschreiben möchten, ändern wir den Namen nicht und bestätigen einfach mit Enter.
Bevor wir damit wir uns damit das neuste Repository von Mistborn holen und das Installationsskript ausführen, machen wir zur Sicherheit einen Neustart.
sudo reboot
### warten ###
ssh ubuntu@192.168.0.47
Mistborn installieren
git clone https://gitlab.com/cyber5k/mistborn.git
sudo -E bash ./mistborn/scripts/install.sh
Zuerst erfolgt das Setzen eines sicheren Admin-Passworts, anschließend muss gewählt werden, ob Cockpit installiert werden soll (auf einem kleineren Raspberry Pi ist das keine so gute Idee). Die Installation dauert nun ein paar Minuten.
sudo journalctl -xfu Mistborn-base
Mit diesem Befehl lesen wir den Log von Mistborn-base aus. Wenn alles soweit normal verlaufen ist, kann man die Konfiguration für Wireguard ausgelesen werden.
sudo mistborn-cli getconf
Daraufhin erscheint ungefähr dieser Text.
# "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>:55080
Nun muss Wireguard auf dem Client installiert werden.
Im Programm lässt sich ein leerer Tunnel hinzufügen. Der Text aus der Config kommt da rein.
Wenn eine Domain bereits eingerichtet ist oder man sich für eine DynDNS entschieden hat, sollte man die IP-Adresse in der letzten Zeile ändern.
Ansonsten muss man sich noch eine Domain einrichten.
Der nächste Schritt ist eine Portfreigabe. Die letzte Zahl in der Konfigurationsdatei (in diesem Fall 55080) muss freigegeben werden. Bei einer Fritz!Box ist das unter Freigaben und dann Portfreigaben möglich.
Hier lässt sich eine “Neue Freigabe” erstellen. Dort muss das Gerät mit Mistborn ausgesucht werden und anschließend wird die Freigabe im UDP Protokoll erstellt.
Nachdem alles bestätigt wurde, kann man sich bei WireGuard mit dem Profil verbinden und sieht im besten Fall, dass eine beidseitige Übertragung stattfindet.
Jetzt kann die Webseite http://home.mistborn/wireguard/
aufgerufen werden. Sollte sich das Dashboard öffnen, ist die Einrichtung soweit abgeschlossen :)