Passbolt opzetten met Gmail SMTP op Google Cloud
Deze handleiding neemt je stap voor stap mee in het opzetten van een gratis, self-hosted Passbolt-wachtwoordmanager op een Google Cloud-VM met de SMTP-service van Gmail (met je account [email protected]). Je hebt nodig:
- Een domein waarvan je de DNS kunt beheren.
- Een Google Cloud-account.
- Een Gmail-account met een app-wachtwoord (als je tweestapsverificatie gebruikt).
Deel 1: je Google Cloud-VM en DNS opzetten
-
Maak een Google Cloud-project aan en schakel facturering in
- Ga naar de Google Cloud Console en maak een nieuw project aan.
- Schakel facturering in (een creditcard is verplicht, maar binnen de free tier zou de factuur op $0 moeten uitkomen).
-
Schakel de Compute Engine API in
- Zoek in de Cloud Console naar "Compute Engine API" en schakel die in.
-
Maak een VM-instance aan
- Ga naar Compute Engine → VM instances en klik op CREATE INSTANCE.
- Geef je instance een naam (bijvoorbeeld
passbolt), kies de regio us-central1 en het machinetype e2-micro. - Laat de overige instellingen op de standaardwaarden staan. Noteer na het aanmaken het External IP van de VM.
-
Stel de DNS van je domein in
- Log in bij je domeinregistrar (bijvoorbeeld GoDaddy of Namecheap) en voeg een A-record toe voor je subdomein (bijvoorbeeld
passbolt.yourdomain.com) dat naar het External IP van je VM verwijst.
- Log in bij je domeinregistrar (bijvoorbeeld GoDaddy of Namecheap) en voeg een A-record toe voor je subdomein (bijvoorbeeld
-
Stel firewallregels in
- Ga in Google Cloud naar VPC network → Firewall rules en maak een regel aan die inkomend HTTP- en HTTPS-verkeer toestaat:
- Name:
passbolt-ingress - Targets: All instances (of gebruik specifieke tags)
- Source IP ranges:
0.0.0.0/0 - Protocols/Ports: TCP:
80,443Let op: Gmail SMTP op poort 587 wordt alleen gebruikt voor uitgaande mail, dus daar is geen inkomende regel voor nodig.
- Name:
- Ga in Google Cloud naar VPC network → Firewall rules en maak een regel aan die inkomend HTTP- en HTTPS-verkeer toestaat:
Deel 2: Gmail SMTP configureren met Postfix
Passbolt verstuurt e-mails (voor registratie, notificaties, enzovoort) via SMTP. Omdat Google Cloud poort 25 blokkeert, configureren we Postfix zo dat het de SMTP-server van Gmail op poort 587 gebruikt.
Stap 1: een app-wachtwoord aanmaken voor Gmail
- Log in op je Gmail-account
[email protected]. - Als tweestapsverificatie aanstaat, maak dan een app-wachtwoord aan in de beveiligingsinstellingen van je Google-account. Bewaar dit wachtwoord, je hebt het later nodig.
Stap 2: SSH naar je VM en word root
sudo su -Stap 3: Postfix en de benodigde modules installeren
apt update && apt -y install postfix libsasl2-modulesKies Local only als je tijdens de configuratie van Postfix om een keuze wordt gevraagd.
Stap 4: de Postfix-configuratie aanpassen
Open het configuratiebestand van Postfix:
nano /etc/postfix/main.cfVoeg de volgende regels toe of vervang ze (verwijder eventuele SendGrid-specifieke instellingen als die er staan):
# Use Gmail’s SMTP server on port 587
relayhost = [smtp.gmail.com]:587
# Enable SASL authentication
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
# Enable TLS encryption
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
# (Optional) Increase header size limit
header_size_limit = 4096000Sla op en sluit af (druk op Ctrl+X, dan Y, dan Enter).
Stap 5: het SASL-wachtwoordbestand aanmaken
Maak of bewerk het bestand:
nano /etc/postfix/sasl_passwdVoeg de volgende regel toe en vervang YOUR_APP_PASSWORD door je Gmail-app-wachtwoord (let op dat er geen spaties in staan):
[smtp.gmail.com]:587 [email protected]:YOUR_APP_PASSWORDSla op en sluit af.
Stap 6: het wachtwoordbestand beveiligen en activeren
postmap /etc/postfix/sasl_passwd
chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
systemctl restart postfixStap 7: de e-mailconfiguratie testen (optioneel)
Installeer mailutils om een testmail te versturen:
apt -y install mailutils
echo "Test email from Postfix using Gmail SMTP" | mail -s "Test Email" [email protected]Controleer je inbox (of je spammap) om te bevestigen dat de mail is aangekomen.
Deel 3: Passbolt installeren
Stap 1: UUID's genereren voor de wachtwoorden
Genereer drie UUID's om als veilige wachtwoorden te gebruiken:
uuidgen
uuidgen
uuidgen- Eerste UUID: root-wachtwoord van de database.
- Tweede UUID: wachtwoord van de Passbolt-databasegebruiker (
passboltadmin). - Derde UUID: passphrase van de IT-beheerder.
Stap 2: het Passbolt-installatiescript downloaden en verifiëren
curl -LO https://download.passbolt.com/ce/installer/passbolt-repo-setup.ce.sh
curl -LO https://github.com/passbolt/passbolt-dep-scripts/releases/latest/download/passbolt-ce-SHA512SUM.txt
sha512sum -c passbolt-ce-SHA512SUM.txt && sudo bash ./passbolt-repo-setup.ce.sh || { echo "Bad checksum. Aborting"; rm -f passbolt-repo-setup.ce.sh; exit 1; }Stap 3: de Passbolt CE-server installeren
sudo apt install passbolt-ce-serverStap 4: de vragen op het scherm doorlopen
Houd tijdens de installatie deze richtlijnen aan:
-
Proceed with installation? Typ:
Yes -
Databaseconfiguratie:
- Vul voor de root-databasegebruiker de eerste UUID in als wachtwoord.
- Gebruik voor de Passbolt-servicegebruiker
passboltadminmet de tweede UUID als wachtwoord. - Zet de databasenaam op
passboltdb.
-
Webserver (Nginx) instellen:
- Kies ervoor om Nginx te installeren:
Yes - Gebruik de automatische configuratie.
- Vul je Passbolt-subdomein in (bijvoorbeeld
passbolt.yourdomain.com). - Geef het e-mailadres op dat eigenaar is van je Google Cloud-project.
- Kies ervoor om Nginx te installeren:
-
SMTP-opties:
- Sender Name: bijvoorbeeld
Password Manager - Sender Email:
[email protected] - SMTP Host:
smtp.gmail.com - TLS: Yes
- Port:
587 - Authentication: Username and password
- Username:
[email protected] - Password: je Gmail-app-wachtwoord
- Sender Name: bijvoorbeeld
Stap 5: de bestandsrechten van de JWT-bestanden corrigeren
sudo chown -Rf root:www-data /etc/passbolt/jwt/
sudo chmod 750 /etc/passbolt/jwt/
sudo chmod 640 /etc/passbolt/jwt/jwt.key
sudo chmod 640 /etc/passbolt/jwt/jwt.pemDeel 4: Passbolt configureren via de webinterface
-
Open de Passbolt-UI Open je browser en ga naar je subdomein (bijvoorbeeld
https://passbolt.yourdomain.com). Je zou nu de welkomstpagina van Passbolt moeten zien. -
Doorloop de eerste configuratie:
- Database-instellingen:
- Host:
127.0.0.1 - Port:
3306 - User:
passboltadmin - Password: gebruik de tweede UUID
- Database Name:
passboltdb
- Host:
- OpenPGP-sleutel genereren: Volg de stappen om de OpenPGP-sleutel van je server te genereren (gebruik "passbolt" als servernaam en het bijbehorende e-mailadres).
- SMTP-instellingen:
Controleer het volgende:
- Sender Name: bijvoorbeeld
Password Manager - Sender Email:
[email protected] - SMTP Host:
smtp.gmail.com - TLS: Enabled
- Port:
587 - Authentication: Username & password (je Gmail-gegevens)
- Sender Name: bijvoorbeeld
- Database-instellingen:
-
Test de e-mailfunctionaliteit: Verstuur een testmail via de Passbolt-interface. Controleer in je inbox (of je spammap) of de mail is aangekomen.
-
Maak het beheerdersaccount aan: Maak een nieuw beheerdersaccount aan (bijvoorbeeld "IT") met de derde UUID als passphrase. Volg eventuele verdere instructies op het scherm.
Deel 5: afronden en controleren
-
Controleer de webtoegang: Controleer of je Passbolt via HTTPS kunt bereiken op je subdomein.
-
Test het versturen van e-mails: Gebruik de ingebouwde testmailfunctie van Passbolt om te controleren of Gmail SMTP goed werkt.
-
Controleer de DNS- en firewallinstellingen: Zorg dat het A-record van je domein naar het IP van je VM wijst en dat de poorten 80 en 443 open staan.
-
Beveilig je inloggegevens: Bewaar de gegenereerde UUID's en je Gmail-app-wachtwoord op een veilige plek, want die zijn essentieel voor het beheer van je Passbolt-installatie.