Eintrag

Bitwarden/Vaultwarden Selfhosted Password Manager

Bitwarden/Vaultwarden Selfhosted Password Manager

Vorwort

In diesem Beitrag findest du eine Step-by-Step Anleitung zur Installation eines Bitwarden/Vaultwarden Docker Containers.

Voraussetzungen

Erstellung Docker-Compose Projekt

Im ersten Schritt ist das Docker-Compose Projekt zu erstellen.

1
2
3
4
mkdir bitwarden
cd bitwarden
mkdir data
touch docker-compose.yml
1
sudo nano docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Version: '3'

services:
  traefik:
    image: vaultwarden/server:latest
    container_name: bitwarden
    restart: always
    ports:
      - 5010:80
      - 3012:3012
    environment:
      - ADMIN_TOKEN=TOKEN #Mit eigenem Secret zu ersetzten
      - TZ=Europe/Berlin
    volumes:
      - ./data:/data:rw

Traefik SSL Konfiguration

Um einen sicheren Zugriff via SSL zu gewährleisten, ist die Traefik Konfiguration anzupassen.

1
sudo nano config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#DOMAIN ist durch die eigene zu ersetzen.
#IP-Adresse ist durch das gewünschte Ziel zu ersetzen.

http:
 #region routers 
  routers:

    passwordmanager:
      entryPoints:
        - "https"
      rule: "Host(`passwordmanager.DOMAIN.de`)"
      middlewares:
        - default-headers
        - https-redirect
        - rate-limit
        - error-pages
      tls:
        options: tls-options
      service: passwordmanager


#endregion
#region services
  services:
    passwordmanager:
      loadBalancer:
        servers:
          - url: "https://IP-DOCKERHOST:5010"
        passHostHeader: true

#endregion
  middlewares:
    https-redirect:
      redirectScheme:
        scheme: https
        permanent: true
    rate-limit:
      ratelimit:
        average: 200
        burst: 100
  
    default-headers:
      headers:
        frameDeny: true
        sslRedirect: true
        browserXssFilter: true
        contentTypeNosniff: true
        forceSTSHeader: true
        stsIncludeSubdomains: true
        stsPreload: true
        stsSeconds: 15552000
        customFrameOptionsValue: SAMEORIGIN
        customRequestHeaders:
          X-Forwarded-Proto: https

    gzip:
      compress: {}

tls:
  options:
    tls-options:
      minVersion: VersionTLS12
      sniStrict: true
      cipherSuites:
        - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
        - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
        - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
        - TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
        - TLS_AES_128_GCM_SHA256
        - TLS_AES_256_GCM_SHA384
        - TLS_CHACHA20_POLY1305_SHA256
      curvePreferences:
        - CurveP521
        - CurveP384
1
sudo docker restart traefik

Eine Erstellung des ersten Logins ist nun via den folgenden Optionen möglich.

  • https://passwordmanager.DOMAIN.de (ReverseProxy)
  • http://IP-DockerHost:5010 (Direkter Zugriff)

20220322_000119.png

Login Admin Portal

Ein Login im Admin Portal, ist unter den folgenden Optionen möglich.

  • https://passwordmanager.DOMAIN.de/admin (ReverseProxy)
  • http://IP-DockerHost:5010/admin (Direkter Zugriff)

20220322_000111.png

Empohlene Anpassungen im Admin Portal

Folgende Anpassungen sind im Admin Portal zu empfehlen.

20220322_000112.png

20220322_000113.png

20220322_000114.png

Desktop Client und Browser Extension

Sämtliche Clients und Extensions können hier heruntergeladen werden.

Nach der Installation kann der Client/die Extension wie folgt konfiguriert werden.

20220322_000115.png

20220322_000116.png

20220322_000117.png

20220322_000118.png

Dieser Eintrag ist vom Autor unter CC BY 4.0 lizensiert.