DocsSjälvhotellInstallations- och distributionsguiderKonfigurationsalternativ

Certifikatalternativ

Den här artikeln definierar de certifikatalternativ som är tillgängliga för instanser av Bitwarden som är självvärd. Du väljer ditt certifikatalternativ under installationen. Att ställa in eller ändra din certifikatkonfiguration kommer alltid att kräva att du kör kommandot ./bitwarden.sh rebuild eller .\bitwarden.ps1 -rebuild innan du startar Bitwarden för att tillämpa ändringarna på din config.yml-fil.

note

The information in this article may not apply to Bitwarden Unified self-hosted deployments.

Skapa ett certifikat med Let's Encrypt

Let's Encrypt är en certifikatutfärdare (CA) som utfärdar betrodda SSL-certifikat gratis för alla domäner. Bitwardens installationsskript erbjuder möjligheten att generera ett pålitligt SSL-certifikat för din domän med hjälp av Let's Encrypt och Certbot.

Certifikatförnyelsekontroller sker varje gång Bitwarden startas om. Om du använder Let's Encrypt måste du ange en e-postadress för påminnelser om certifikatets utgång.

warning

Let's Encrypt is a third-party certificate authority that requires inbound ports 80 and 443 have access from the internet in order to validate your domain and issue a certificate. If you do not have or want to set up inbound internet access, you may use one of the other certificate options in this document.

Uppdatera ett Let's Encrypt-certifikat manuellt

Om du ändrar domännamnet på din Bitwarden-server måste du uppdatera ditt genererade certifikat manuellt. Kör följande kommandon för att skapa en säkerhetskopia, uppdatera ditt certifikat och bygga om Bitwarden:

Våldsamt slag

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

Välj 1 och följ sedan instruktionerna:

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

PowerShell

tip

You will need to install a build of OpenSSL for Windows.

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

Använd ett befintligt SSL-certifikat

Du kan alternativt välja att använda ett befintligt SSL-certifikat, vilket kräver att du har följande filer:

  • Ett servercertifikat (certificate.crt)

  • En privat nyckel (private.key)

  • Ett CA-certifikat (ca.crt)

Du kan behöva bunta ditt primära certifikat med mellanliggande CA-certifikat för att förhindra SSL-förtroendefel. Alla certifikat ska inkluderas i servercertifikatfilen när ett CA-certifikat används. Det första certifikatet i filen bör vara ditt servercertifikat, följt av eventuella mellanliggande CA-certifikat, följt av rot-CA.

Under standardkonfigurationen, placera dina filer i ./bwdata/ssl/din.domän. Du kan ange en annan plats för dina certifikatfiler genom att redigera följande värden i ./bwdata/config.yml:

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

The values defined in config.yml represent locations inside the NGINX container. Directories on the host are mapped to directories within the NGINX container. Under the default configuration, mappings line up as follows:

The following values 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 to the following files on the host:

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

You should only ever need to work with files in ./bwdata/ssl/. Working with files directly in the NGINX container is not recommended.

Använder Diffie-Hellman nyckelutbyte

Om du använder Diffie-Hellman nyckelutbyte för att generera tillfälliga parametrar:

  • Inkludera en dhparam.pem-fil i samma katalog.

  • Ställ in värdet ssl_diffie_hellman_path: i config.yml.

note

You can create your own dhparam.pem file using OpenSSL with openssl dhparam -out ./dhparam.pem 2048.

Använda ett självsignerat certifikat

Du kan alternativt välja att använda ett självsignerat certifikat, men detta rekommenderas endast för testning.

Självsignerade certifikat kommer inte att litas på av Bitwarden-klientapplikationer som standard. Du kommer att behöva installera detta certifikat manuellt i den betrodda butiken för varje enhet du planerar att använda Bitwarden med.

Skapa ett självsignerat certifikat:

Bash
mkdir ./bwdata/ssl/bitwarden.example.com openssl req -x509 -newkey rsa:4096 -sha256 -nodes -days 365 \ -keyout ./bwdata/ssl/bitwarden.example.com/private.key \ -out ./bwdata/ssl/bitwarden.example.com/certificate.crt \ -reqexts SAN -extensions SAN \ -config <(cat /usr/lib/ssl/openssl.cnf <(printf '[SAN]\nsubjectAltName=DNS:bitwarden.example.com\nbasicConstraints=CA:true')) \ -subj "/C=US/ST=New York/L=New York/O=Company Name/OU=Bitwarden/CN=bitwarden.example.com"

Ditt självsignerade certifikat (.crt) och privata nyckel (private.key) kan placeras i katalogen ./bwdata/ssl/self/your.domain och konfigureras i ./bwdata/config.yml:

Bash
ssl_certificate_path: /etc/ssl/bitwarden.example.com/certificate.crt ssl_key_path: /etc/ssl/bitwarden.example.com/private.key

Lita på ett självsignerat certifikat

Windows

För att lita på ett självsignerat certifikat på Windows, kör certmgr.msc och importera ditt certifikat till Trusted Root Certification Authorities.

Linux

För att lita på ett självsignerat certifikat på Linux, lägg till ditt certifikat i följande kataloger:

Bash
/usr/local/share/ca-certificates/ /usr/share/ca-certificates/

Och kör följande kommandon:

Bash
sudo dpkg-reconfigure ca-certificates sudo update-ca-certificates

För vår Linux-skrivbordsapp, åtkomst till webbvalvet med Chromium-baserade webbläsare och Directory Connector-skrivbordsappen, måste du också slutföra denna Linux-certifieringshantering.

För Bitwarden CLI och Directory Connector CLI måste ditt självsignerade certifikat lagras i en lokal fil och refereras av en NODE_EXTRA_CA_CERTS= miljövariabel, till exempel:

Bash
export NODE_EXTRA_CA_CERTS=~/.config/Bitwarden/certificate.crt

Android

För att lita på ett självsignerat certifikat på en Android-enhet, se Googles dokumentation för Lägg till och ta bort certifikat.

note

If you are not self-hosting and encounter the following certificate error on your android device:

Bash
Exception message: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

You will need to upload Bitwarden's certificates to your device. Refer to this community thread for help finding the certificates.

Använd inget certifikat

warning

If you opt to use no certificate, you must front your installation with a proxy that serves Bitwarden over SSL. This is because Bitwarden requires HTTPS; trying to use Bitwarden without the HTTPS protocol will trigger errors.