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 startar Bitwarden för att tillämpa ändringarna på din config.yml-fil. eller .\bitwarden.ps1 -rebuild innan du
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/logsVälj 1 och följ sedan instruktionerna:
Bashopenssl 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:
Bashssl_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:
Bashssl_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-fili samma katalog.Ställ in värdet
ssl_diffie_hellman_path: iconfig.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:
Bashmkdir ./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:
Bashssl_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:
Bashsudo 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:
Bashexport NODE_EXTRA_CA_CERTS=~/.config/Bitwarden/certificate.crtAndroid
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:
BashException 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.