Skip to content

About

Native Integration der Bitwarden API als eigenständige App in NextCloud

Resources

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

nc_bitwarden - Native Bitwarden Integration fuer Nextcloud

Nextcloud-App fuer nativen Zugriff auf deinen Bitwarden/Vaultwarden-Tresor.

Kompatibilitaet

  • Nextcloud 32, 33, 34
  • PHP 8.2 – 8.5
  • Bitwarden Cloud (US & EU) + Vaultwarden (selbst gehostet)

Installation

Auf dem Entwicklungsrechner bauen und packen (node_modules wird nur dafuer gebraucht, nicht auf dem Server):

npm ci
npm run package        # erzeugt build/nc_bitwarden-<version>.tar.gz (< 1 MB)

Auf dem Nextcloud-Server entpacken und aktivieren:

tar -xzf nc_bitwarden-<version>.tar.gz -C /path/to/nextcloud/custom_apps/
sudo -u www-data php /path/to/nextcloud/occ app:enable nc_bitwarden   # bzw. occ upgrade bei Updates

Konfiguration

  1. Nextcloud -> Einstellungen -> Persoenlich -> Bitwarden
  2. Server auswaehlen: Cloud US / EU oder Selbst gehostet
  3. Bei selbst gehosteter Instanz: Basis-URL eintragen (https://vault.example.com)
  4. App in Navigation oeffnen und mit E-Mail + Master-Passwort einloggen

Fuer lokales Vaultwarden (selbes Netzwerk wie Nextcloud)

Standardmaessig blockiert die App (und der HTTP-Client von Nextcloud) interne Adressen. Fuer ein Vaultwarden im lokalen Netz muss der Admin das explizit erlauben:

sudo docker exec --user www-data nextcloud-aio-nextcloud \
  php /var/www/html/occ config:system:set allow_local_remote_servers --value=true --type=bool

Ein selbstsigniertes Zertifikat muss in Nextcloud importiert werden (occ security:certificates:import /pfad/zum/cert.pem).

Funktionen

  • Login mit PBKDF2 oder Argon2id, Zwei-Faktor (Authenticator-App, E-Mail, YubiKey OTP) und Bestaetigung neuer Geraete per E-Mail-Code
  • Anzeige aller Eintragstypen inkl. Organisations-Eintraegen und Eintraegen mit eigenem Cipher-Key
  • TOTP-Codes werden direkt angezeigt
  • Anlegen und Bearbeiten (Login, Notiz, Karte, Identitaet); beim Bearbeiten bleiben alle nicht im Formular enthaltenen Daten (weitere URLs, eigene Felder, Anhaenge, Passwort-Historie) erhalten
  • Loeschen verschiebt in den Bitwarden-Papierkorb

Nicht unterstuetzt: Passkey/WebAuthn- und Duo-2FA, SSO, Anhaenge hochladen, Sends.

Sicherheit

  • Master-Passwort wird NIEMALS zum Server gesendet, nur der abgeleitete Hash
  • KDF-Parameter des Servers werden geprueft (Schutz vor KDF-Downgrade)
  • Alle Vault-Items werden im Browser entschluesselt (Web Crypto API); MACs werden immer geprueft
  • Access-/Refresh-Token nur in der (verschluesselten) Nextcloud-Session, nie im Browser
  • Tokens sind an den Server gebunden und werden bei Einstellungsaenderung/Sperren verworfen
  • Vault-Key nur im RAM; automatisches Sperren nach 15 Minuten Inaktivitaet
  • Kopierte Geheimnisse werden nach 30 Sekunden aus der Zwischenablage entfernt
  • Brute-Force-Schutz und Rate-Limits auf den Login-Endpunkten
  • SSRF-Schutz: nur HTTPS, keine internen Ziele (ausser vom Admin erlaubt), keine Redirects
  • Nur http(s)-Links aus dem Tresor sind klickbar
  • Proxy leitet nur feste Endpunkte, validierte IDs und eine Feld-Whitelist weiter

Entwicklung

npm run dev     # Build im Watch-Modus
npm run lint
npm test        # Krypto-/TOTP-Tests

About

Native Integration der Bitwarden API als eigenständige App in NextCloud

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages