Nextcloud-App fuer nativen Zugriff auf deinen Bitwarden/Vaultwarden-Tresor.
- Nextcloud 32, 33, 34
- PHP 8.2 – 8.5
- Bitwarden Cloud (US & EU) + Vaultwarden (selbst gehostet)
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- Nextcloud -> Einstellungen -> Persoenlich -> Bitwarden
- Server auswaehlen: Cloud US / EU oder Selbst gehostet
- Bei selbst gehosteter Instanz: Basis-URL eintragen (https://vault.example.com)
- App in Navigation oeffnen und mit E-Mail + Master-Passwort einloggen
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=boolEin selbstsigniertes Zertifikat muss in Nextcloud importiert werden
(occ security:certificates:import /pfad/zum/cert.pem).
- 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.
- 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
npm run dev # Build im Watch-Modus
npm run lint
npm test # Krypto-/TOTP-Tests