Self-hosting

Certificaatopties

Dit artikel beschrijft de certificaatopties die beschikbaar zijn voor zelf gehoste instanties van Bitwarden. U selecteert uw certificaatoptie tijdens de installatie.

note

De informatie in dit artikel is mogelijk niet van toepassing op zelf gehoste implementaties van Bitwarden Unified.

Een certificaat genereren met Let's Encrypt

Let's Encrypt is een certificaatautoriteit (CA) die gratis vertrouwde SSL-certificaten uitgeeft voor elk domein. Het installatiescript van Bitwarden biedt de optie om een vertrouwd SSL-certificaat te genereren voor uw domein met behulp van Let's Encrypt en Certbot.

Certificaatvernieuwing wordt elke keer gecontroleerd als Bitwarden opnieuw wordt opgestart. Als je Let's Encrypt gebruikt, moet je een e-mailadres opgeven voor herinneringen voor het verlopen van certificaten.

Als je Let's Encrypt gebruikt, moeten de poorten 80 en 443 open zijn op je machine.

Een Let's Encrypt-certificaat handmatig bijwerken

Als u de domeinnaam van uw Bitwarden-server wijzigt, moet u het gegenereerde certificaat handmatig bijwerken. Voer de volgende opdrachten uit om een back-up te maken, uw certificaat bij te werken en Bitwarden opnieuw op te bouwen:

Bash

Bash
./bitwarden.sh stop mv ./bwdata/letsencrypt ./bwdata/letsencrypt_backup mkdir ./bwdata/letsencrypt chown -R bitwarden:bitwarden ./bwdata/letsencrypt chmod -R 740 ./bwdata/letsencrypt docker pull certbot/certbot docker run -i --rm --name certbot -p 443:443 -p 80:80 -v <Full Path from / >/bwdata/letsencrypt:/etc/letsencrypt/ certbot/certbot certonly --email <user@email.com> --logs-dir /etc/letsencrypt/logs

Selecteer 1 en volg de instructies:

Bash
openssl dhparam -out ./bwdata/letsencrypt/live/<your.domain.com>/dhparam.pem 2048 ./bitwarden.sh rebuild ./bitwarden.sh start

PowerShell

tip

Je moet een build van OpenSSL voor Windows installeren.

Bash
.\bitwarden.ps1 -stop mv .\bwdata\letsencrypt .\bwdata\letsencrypt_backup mkdir .\bwdata\letsencrypt docker pull certbot/certbot docker run -i --rm --name certbot -p 443:443 -p 80:80 -v <Full Path from \ >\bwdata\letsencrypt\:/etc/letsencrypt/ certbot/certbot certonly --email <user@email.com> --logs-dir /etc/letsencrypt/logs Select 1, then follow instructions <path/to/openssl.exe> dhparam -out .\bwdata\letsencrypt\live\<your.domain.com>\dhparam.pem 2048 .\bitwarden.ps1 -rebuild .\bitwarden.ps1 -start

Een bestaand SSL-certificaat gebruiken

U kunt er ook voor kiezen om een bestaand SSL-certificaat te gebruiken. Hiervoor hebt u de volgende bestanden nodig:

  • Een servercertificaat(certificate.crt)

  • Een privésleutel(private.key)

  • Een CA-certificaat(ca.crt)

Mogelijk moet u uw primaire certificaat bundelen met tussenliggende CA-certificaten om SSL vertrouwensfouten te voorkomen. Alle certificaten moeten worden opgenomen in het certificaatbestand van de server als er een CA-certificaat wordt gebruikt. Het eerste certificaat in het bestand moet uw servercertificaat zijn, gevolgd door eventuele tussenliggende CA-certificaten, gevolgd door de root-CA.

In de standaardconfiguratie plaatst u uw bestanden in ./bwdata/ssl/uw.domein. U kunt een andere locatie opgeven voor uw certificaatbestanden door de volgende waarden aan te passen in ./bwdata/config.yml:

Bash
ssl_certificate_path: <path> ssl_key_path: <path> ssl_ca_path: <path>
note

De waarden gedefinieerd in config.yml vertegenwoordigen locaties binnen de NGINX container. Directories op de host worden gekoppeld aan directories in de NGINX container. In de standaardconfiguratie zien de toewijzingen er als volgt uit:

De volgende waarden in config.yml:

Bash
ssl_certificate_path: /etc/ssl/your.domain/certificate.crt ssl_key_path: /etc/ssl/your.domain/private.key ssl_ca_path: /etc/ssl/your.domain/ca.crt

Map naar de volgende bestanden op de host:

Bash
./bwdata/ssl/your.domain/certificate.crt ./bwdata/ssl/your.domain/private.key ./bwdata/ssl/your.domain/ca.crt

Je zou alleen moeten werken met bestanden in ./bwdata/ssl/. Werken met bestanden direct in de NGINX container wordt niet aangeraden.