Installation von Passbolt unter Ubuntu Server 22.04 LTS

Installation von Passbolt unter Ubuntu Server 22.04 LTS

Vorbereitung

Ändere den Hostname, sowie du später deinen Server im Netzwerk nennen möchtest. In meinem Fall ist dies "srv-passbolt". Nun gebe ich dem System eine statische IPv4 Addresse in meinem Netzwerk (10.20.255.10).

⚠️
Achte drauf, dass Port 80 & 443 für HTTP und HTTPS frei sind und nicht von einem anderen Paket benutzt wird.

Good to Know

Wenn du planst Passbolt per App zu benutzen, benötigst du ein Trusted Certificate und eine Domain. Im eigenen Netzwerk sollte ein A Record mit einer Internen Domain auf deine Passbolt Installation weisen.

Pakete beziehen

Zu Beginn, Updaten wir das grade erstellte System. Damit alle benötigten Pakete auf dem aktuellsten sind.

sudo -i #zu root wechseln
apt update -y && apt upgrade -y

Nun laden wir das Passbolt CE Debian Paket.

wget "https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh"

Im weiteren laden wir ein Script von Passbolt runter, welches genutzt wird, um die Checksum von Passbolt zu prüfen.

wget https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt

Dieses Script wird nun ausgeführt. Nach dem Start wird die Repo in die APT Liste mit aufgenommen. Da durch kann man nun mittels APT das Paket installieren.

sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || echo "Bad checksum. Aborting" && rm -f passbolt-repo-setup.ce.sh

sudo apt install passbolt-ce-server

Installer

Nach dem Start von "apt install" öffnet sich der visuelle Installer. Hier wirst du aufgefordert entweder lokal Mysql einzupflegen oder kannst eine bestehende benutzen.

Die Passwörter sowie die Benutzer müssen dringend dokumentiert werden, da diese später im Webinstaller benötigt werden. Im weiteren erscheint die Abfrage, ob wir für Nginx automatisch generierte Zertifikate benutzen möchten oder Manuel welche einpflegen möchten. Dies wird abgelehnt, da erst später die Trusted Certificates erstellt werden und eingebunden werden.

Webinstaller

Der Webinstaller ist unter der IPv4 oder der zuvor angelegten Domain erreichbar.

Jetzt werden die Datenbank Credentials benötigt und müssen eingepflegt werden. Wie im Bild zusehen, sollte hier als URL die Lokale IPv4 (127.0.0.1) benutzt werden. Mit "localhost" kann es zu Problemen kommen.

Nun folgen noch ein paar einfache Abfragen, so wird hier der Spätere Name des Servers abgefragt und die Base-URL. Bei der Base-URL muss die Domain hinterlegt werden. Der Server ist dann nur noch über diese erreichbar. Ebenso richten wir hier ein SMTP Konto ein, welches für die Kontowiederherstellung und Benachrichtigungen benötigt werden. Hierfür kann auch ein Google Konto genutzt werden.

Websinstaller Benutzer anlegen

Im Webinstaller wird nun der Benutzer angelegt nachdem dies erledigt ist, startet sich die eigentliche Installation, wo die benötigten Daten in Passbolt eingepflegt werden

Anmelden mit dem Admin Account

Nachdem man die Domain geöffnet hat wird einem gesagt, dass man das Add On installieren soll. Nach dem herunterladen gibt man nun ein Passwort ein und es wird ein Recovery Key erstellt. Dieser muss dringend gesichert werden, da sonst eine Wiederherstellung unmöglich. Dieser PGP-Key wird ebenso für alle anderen Browser gebraucht.

download the recovery kit

Nun erstellt man einen Security Token, ohne diesen kann die Anmeldung am Server oder dem Add-On nicht ausgeführt werden.

Nun öffnet sich die Oberfläche und es kann fleißig losgelegt werden.

Erstellen von Trusted Certificates

Zunächst wird Nginx gestoppt:

systemctl stop nginx

In der Bash wird folgender Befehl ausgeführt:

apt install certbot
certbot certonly --manual --preferred-challenges=dns -m <E-MAIL> --agree-tos -d <DOMAIN>

Durch diesen Befehl soll nun ein TXT Record für die Domain angelegt werden. Dafür meldet man sich bei seinem Domain Provider an und ändert diese Einstellungen.

Der Präfix ist: _acme-challange

Value: Steht in der Console

Damit werden nun die Zertifikate unter folgendem Pfad erstellt:

/etc/letsencrypt/live/<DOMAIN>/

Der Installer von Passbolt wird neugestartet und es wird der Pfad der Zertifikate angelegt.

dpkg-reconfigure passbolt-ce-server

Da durch öffnet sich die Maske und es die Mysql Konfiguration wird ablehnt. Dafür wird Nginx ausgewählt. Hier wird die Domain eingetragen und der Pfad von Zertifikat wie vom Privkey.

certbot certonly --preferred-challenges=dns --standalone -m <E-MAIL> --agree-tos -d <DOMAIN>

Dieser Befehl wird ausgeführt, damit das Zertifikat auf Auto Renew gestellt wird. Dafür wählt man Renew aus.