Open Source Passwort Server für Teams und Organisationen

0

Es gibt sehr gute Premiumtools für Passwort Safes, aber wer seinen Passwort Safe selbst hosten möchte anstatt alles auf komplett fremden Servern abzulegen, sollte Open Source Software nutzen. Ich habe bereits bei Nextcloud die Passwords App genutzt, die an sich ganz nett ist, aber gerade bei Teamarbeit nicht brauchbar ist, da kein Foldersharing möglich ist. Auch gibt es nur wenige Open Source Lösungen, die eine Fülle an externen Applikationen für die Befütterung / Nutzung des Passwort Safe Servers zur Verfügung stellen, z.B. Browser Addons, Apps etc.

Eine sehr feine Open Source Lösung scheint Bitwarden zu sein, das zwar zu 100% Open Source ist, aber für die Teams Nutzung eine Paid License benötigt. Es ist verständlich, wenn man die Fülle an Tools finanziert halten möchte und Bitwarden bietet nicht nur Desktop Programme zur Passwortverwaltung an, sondern auch für fast jeden Browser eine Extension sowie mobile Apps. Einziger Nachteil: die Lizenz für eine Nutzung im Unternehmenssektor.

Hier bin ich vor kurzem auf ein inoffizielles, aber breit genutztes Docker Image von Bitwarden gestoßen, das die gleichen Schnittstellen verwendet und rein von der Oberfläche fast identisch ist: Bitwarden RS. Dieser Fork ist auch für Teams vollkommen frei und man kann alle offiziellen Schnittstellen Apps von Bitwarden nutzen.

Installation

Die empfohlene Installation ist nur ein Docker Container – im Gegensatz zum offiziellen Repo, das mehrere verwendet. Installiert als erstes Docker aus dem offiziellen Repo.

Dann je nach Subdomain für den Passwortmanager und eurer SMTP Mailboxkonfiguration folgenden Docker Befehl absetzen – vorher natürlich die Werte anpassen:


docker run -d \
--name='bitwarden' \
--restart=always \
-e ADMIN_TOKEN=changeme \
-e SIGNUPS_ALLOWED=false \
-e SIGNUPS_DOMAINS_WHITELIST=changeme \
-e DOMAIN=https://your.domain.de/ \
-e WEBSOCKET_ENABLED=true \
-e SMTP_HOST=yourhost.de \
-e SMTP_FROM=user@test.de \
-e SMTP_PORT=587 \
-e SMTP_SSL=true \
-e SMTP_EXPLICIT_TLS=false \
-e SMTP_USERNAME=user@test.de \
-e SMTP_PASSWORD=securepassword \
-e LOG_FILE=/data/bitwarden.log \
-p 8343:80/tcp \
-p 3012:3012 \
-v /bw-data/:/data/ \
bitwardenrs/server


In meiner Konfiguration sind mehrere Einstellungen gesetzt, die ihr in der Doku genauer beschrieben findet. Um den Adminbereich zu aktivieren, muss man ADMIN_TOKEN setzen. Dieser Token muss jedes Mal eingegeben werden, wenn man /admin aufruft, um dort die gesamte Installation samt User verwalten zu können. Ein sicherer Token lässt sich mit openssl rand -base64 48 generieren.

Ich habe die Registrierung komplett deaktiviert, aber habe die Domain meiner privaten Mailbox für Registrierungen aktiviert, da ich sonst kein neues Konto nach der Installation anlegen könnte. Da ich den Bitwarden Fork hinter meinem nginx Proxy betreibe, muss der Domain Parameter ausgefüllt sein – gerade auch wegen der SSL Verschlüsselung.

nginx vhost

Der nginx vhost sollte so aussehen:


server {
        listen 80;
        server_name test.domain.de;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name test.domain.de;
    access_log /var/log/nginx/access.log;
    error_log  /var/log/nginx/error.log;
        ssl_certificate /etc/letsencrypt/live/test.domain.de/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/test.domain.de/privkey.pem;
        add_header Strict-Transport-Security "max-age=63072000; preload";

    client_max_body_size 128M;

    location / {
        proxy_pass http://localhost:8343;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location /notifications/hub {
        proxy_pass http://localhost:3012;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location /notifications/hub/negotiate {
        proxy_pass http://localhost:8343;
    }
}


 

Damit sollte die Installation laufen und ihr könnt das erste Konto anlegen. Die E-Mail Bestätigung ist auf jeden Fall verpflichtend, damit der Account sauber funktioniert. Ich würde euch empfehlen, eure Bitwarden Installation noch mit Fail2Ban abzusichern.


Du möchtest regelmäßig Neuigkeiten von meinem Blog? Trag dich für meinen Newsletter ein:

Leave A Reply

Your email address will not be published.