NeuPassbox ist da: im Web, auf dem Desktop, auf iPhone, Android und Ihrem eigenen Server. Kostenlos für Familien.Passbox ist da · Alle Apps ansehen
Zum Inhalt springen

Self-Hosting

Server konfigurieren

Alle Einstellungen mit ihren Standardwerten, dazu E-Mail, Website-Icons und Leak-Prüfungen.

Der Passbox-Server wird über Umgebungsvariablen konfiguriert. Jede Einstellung gibt es auch als Kommandozeilenoption. In der Docker-Compose-Installation tragen Sie Variablen im Abschnitt environment des Dienstes passbox ein. Einige setzt die Compose-Datei schon aus .env.

Alle Einstellungen

Grundlagen und Datenbank

VariableStandardBedeutung
PASSBOX_BIND0.0.0.0:8080Adresse und Port, auf denen der Server lauscht
PASSBOX_DATABASE_URLPflichtPostgreSQL-URL der Rolle passbox_app
PASSBOX_MIGRATION_DATABASE_URLwie PASSBOX_DATABASE_URLURL der Rolle passbox_migrator für Migrationen
PASSBOX_WORKER_DATABASE_URLwie PASSBOX_DATABASE_URLURL der Rolle passbox_worker für Hintergrundaufgaben
PASSBOX_DATABASE_MAX_CONNECTIONS10Verbindungen pro Pool
PASSBOX_AUTO_MIGRATEtrueMigrationen beim Start ausführen. false, wenn Sie passbox-server migrate vor dem Ausrollen selbst starten
PASSBOX_PUBLIC_URLleerAdresse, unter der Ihre Nutzer Passbox öffnen. Nötig für Links in E-Mails und für Single Sign-on
PASSBOX_WEB_DIRleerOrdner mit der Web-App. Das Docker-Image setzt ihn
PASSBOX_TRUST_PROXYfalseClient-IP aus X-Forwarded-For lesen. Nur hinter einem Reverse Proxy einschalten, der den Header setzt
PASSBOX_AUTH_RATE_LIMIT60Anfragen zur Anmeldung und Registrierung pro IP und Minute
PASSBOX_METRICS_BINDleerAdresse für Prometheus-Metriken, etwa 127.0.0.1:9090. Nur im internen Netz
PASSBOX_LOG_FORMATprettypretty oder json
RUST_LOGinfoUmfang der Protokollausgabe, etwa debug

E-Mail und Administration

VariableStandardBedeutung
PASSBOX_SMTP_URLleerSMTP-Server für ausgehende E-Mails. Ohne ihn landen E-Mails nur im Protokoll
PASSBOX_CAMELMAILER_API_KEYleerStatt SMTP: Versand über die API eines Camelmailer-Servers
PASSBOX_CAMELMAILER_URLhttps://app.camelmailer.comAdresse einer eigenen Camelmailer-Installation
PASSBOX_MAIL_FROMleerAbsender, etwa Passbox <passbox@example.com>. Pflicht, sobald E-Mail eingerichtet ist
PASSBOX_ADMIN_EMAILSleerE-Mail-Adressen mit Komma getrennt, deren Konten den Server immer verwalten dürfen

Funktionen und Grenzen

VariableStandardBedeutung
PASSBOX_ICONSonWebsite-Icons über den Server laden. off schaltet das ab
PASSBOX_BREACH_PROXYonLeak-Prüfung der Passwörter über den Server leiten
PASSBOX_BREACH_CATALOGonÖffentliche Liste der Datenlecks laden. off für Server ohne Internet
PASSBOX_BREACH_CATALOG_HOURS6Stunden zwischen zwei Abrufen dieser Liste
PASSBOX_HIBP_API_KEYleerAPI-Schlüssel von Have I Been Pwned. Schaltet die Leak-Überwachung für E-Mail-Adressen ein
PASSBOX_HIBP_CHECK_HOURS24Stunden zwischen zwei Prüfungen jeder überwachten Adresse
PASSBOX_HIBP_RPM10Anfragen pro Minute, die Ihr Abo bei Have I Been Pwned erlaubt
PASSBOX_BLOB_DIRblobs, im Image /data/blobsOrdner für verschlüsselte Dateianhänge. Zusammen mit der Datenbank sichern
PASSBOX_ATTACHMENT_MAX_MB100Größte Datei in MiB
PASSBOX_ATTACHMENT_QUOTA_MB0Speicher für Anhänge pro Konto in MiB, 0 heißt unbegrenzt
PASSBOX_ORG_ATTACHMENT_QUOTA_MB0Speicher für Anhänge pro Organisation in MiB, 0 heißt unbegrenzt
PASSBOX_FAMILY_MEMBER_LIMIT0Höchstzahl an Personen pro Familie ohne Gäste, 0 heißt unbegrenzt
PASSBOX_AGENT_LIMIT_PER_MEMBER0Aktive Dienstkonten pro Mitglied, 0 heißt unbegrenzt. In der Administration überschreibbar
PASSBOX_WEBHOOK_ALLOW_PRIVATEfalseWebhooks von Organisationen auch an private Adressen und über http erlauben, etwa für ein SIEM im eigenen Netz
PASSBOX_SSO_ALLOW_HTTP_LOOPBACKleer1 erlaubt Identitätsanbieter über http auf localhost. Nur für Tests

Eine ungültige SMTP-URL oder ein ungültiger Absender verhindern den Start. So fallen Tippfehler sofort auf.

E-Mail

Passbox verschickt Einladungen und Sicherheitshinweise: Anmeldung auf einem neuen Gerät, geändertes Master-Passwort, Änderungen an der Zwei-Faktor-Anmeldung, Wiederherstellungen, Notfallzugang und Leak-Warnungen. E-Mails gehen auf Deutsch oder Englisch hinaus, in der Sprache, die die Person in Passbox gewählt hat.

Den SMTP-Server geben Sie als URL an:

BeispielVerbindung
smtps://benutzer:passwort@mail.example.com:465TLS von Anfang an
smtp://benutzer:passwort@mail.example.com:587?tls=requiredSTARTTLS, verpflichtend
smtp://benutzer:passwort@mail.example.com:587?tls=opportunisticSTARTTLS, falls angeboten (nicht empfohlen)
smtp://localhost:25Ohne Verschlüsselung, nur für ein Relay auf demselben Host

Sonderzeichen in Benutzername und Passwort schreiben Sie prozentkodiert, etwa @ als %40:

sh
PASSBOX_SMTP_URL='smtps://passbox%40example.com:app-passwort@smtp.example.com:465'
PASSBOX_MAIL_FROM='Passbox <passbox@example.com>'
PASSBOX_PUBLIC_URL='https://passbox.example.com'

E-Mails laufen über eine Warteschlange in der Datenbank. Anfragen warten nie auf den Mailserver, und E-Mails überstehen Neustarts. Vorübergehende Fehler wiederholt Passbox etwa vier Stunden lang. In der Administration sehen Sie wartende und fehlgeschlagene E-Mails und senden mit Testmail senden eine Probe.

Statt SMTP können Sie mit PASSBOX_CAMELMAILER_API_KEY über die API eines Camelmailer-Servers ab Version 0.12 versenden.

Single Sign-on

Für Single Sign-on und SCIM setzen Sie PASSBOX_PUBLIC_URL auf die Adresse, unter der Ihre Nutzer Passbox öffnen. Der Identitätsanbieter schickt Nutzer an {PASSBOX_PUBLIC_URL}/api/v1/sso/callback zurück. SCIM liegt unter {PASSBOX_PUBLIC_URL}/api/v1/scim/v2. Der Server muss den Anbieter über https erreichen.

Die Einrichtung in Passbox und die Anleitungen für Entra ID, Google, Okta, Keycloak, authentik und ZITADEL stehen unter Single Sign-on und SCIM.

Website-Icons

Die Icons von rund 3.500 bekannten Websites sind in den Apps enthalten. Für alle anderen fragen die Apps Ihren Server, nie die Website selbst. Der Server holt das Icon einmal, speichert es für alle und prüft es nach 30 Tagen erneut.

  • Speicher: etwa 10 KB pro Website, die nicht in den Apps enthalten ist. 10.000 verschiedene Websites belegen rund 100 MB.
  • Datenschutz: Ihr Server erfährt die Domains, die nicht in den Apps enthalten sind. Der Speicher der Icons enthält kein Konto und keine Sitzung, und das Protokoll zeigt keine Domains. Die Websites sehen nur die IP-Adresse des Servers, einmal pro Website.
  • Verbindungen: nur Port 443 öffentlicher Adressen, höchstens drei Weiterleitungen, drei Sekunden Zeitlimit, höchstens 200 KB.

Mit PASSBOX_ICONS=off schalten Sie das ab. Die Apps zeigen dann Anfangsbuchstaben.

Leak-Prüfung und Have I Been Pwned

  • Geleakte Passwörter (PASSBOX_BREACH_PROXY, an): Die Apps schicken die ersten fünf Zeichen eines Hashwerts an Ihren Server. Er fragt Have I Been Pwned und gibt die Antwort weiter. Have I Been Pwned sieht nur die IP-Adresse Ihres Servers. Kein Schlüssel nötig.
  • Websites mit Datenleck (PASSBOX_BREACH_CATALOG, an): Der Server lädt alle sechs Stunden die öffentliche Liste der Datenlecks. Die Apps vergleichen sie auf dem Gerät. Ohne Internet setzen Sie off, dann nutzen die Apps die mitgelieferte Liste.
  • Leak-Überwachung für E-Mail-Adressen (PASSBOX_HIBP_API_KEY): braucht ein Abo bei Have I Been Pwned und eingerichtete E-Mail. Nutzer bestätigen ihre Adressen per Code, der Server prüft sie regelmäßig und schreibt bei neuen Lecks.

Dateianhänge

Anhänge liegen verschlüsselt im Ordner PASSBOX_BLOB_DIR, in Docker im Volume passbox-blobs. Sichern Sie diesen Ordner zusammen mit der Datenbank. Ein Speicher über S3 ist nicht eingebaut. Wenn Sie Objektspeicher brauchen, binden Sie ihn als Dateisystem ein.

Zugriff von anderen Adressen

Die API beantwortet Anfragen von jedem Ursprung (CORS). Das braucht die Desktop-App. Es ist sicher, weil Passbox jede Anfrage mit einem Token im Header prüft und keine Cookies nutzt. Setzt Ihr Reverse Proxy eigene CORS-Header, entfernen Sie diese.