Firefox Einstellungen lassen sich “optimal in der Cloud” speichern: Die Funktion Sync erlaubt es, einen kostenlosen Account anzulegen - und auf Knopfdruck hat man nach Anmeldung in jedem Firefox Browser die gleichen Lesezeichen. Dabei kann Sync weit mehr als nur Lesezeichen: Auch Passwörter, Browserverlauf und geöffnete Tabs werden auf Wunsch synchronisiert. Da das Sync System mit clientseitiger Verschlüsselung eine ausgeklügelte Sicherheitstechnologie nutzt und vom der renommierten Mozilla Organisation betrieben wird, besteht wenig Anlass zur Beunruhigung. Dennoch kann es in manchen Fällen sinnvoll sein, den sogenannten Sync-Server selbst zu hosten.

Mit der Version 1.5 wurde die gesamte Sync-Technologie umgestellt. Viele alte Anleitungen zum Installieren eines Sync-Servers sind daher nicht mehr aktuell. Mozilla stellt eine eigene, leicht verständliche Anleitung zur Verfügung, die im Optimalfall direkt zum Ziel führt.

In unserem Setup gab es mehrfach Schwierigkeiten:

  • Die mitgelieferten Tests (make test) ließen sich nicht fehlerfrei ausführen: raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 401 Client Error: Unauthorized
  • Der ebenfalls beim Test auftretende Fehler _# Tokenserver tests currently broken due to incorrect file paths_ tauchte bei uns nur auf, weil wir versehentlich während des Ausführens des Tests eine andere Instanz des Dienstes betrieben haben
  • Wir sind erst zum Ziel gekommen, nachdem wir zunächst den Sync-Server direkt, ohne vorgeschalteten Web Server in Betrieb genommen haben
  • Wann immer wir die Sync-Server URL geändert haben (about:config > identity.sync.tokenserver.uri), mussten wir auch die Einstellung services.sync.clusterURL zurücksetzen und dann umgehend den Browser neu starten, bevor die Änderung aktiv wurde. Ohne Browserneustart erzeugte Firefox eine Cluster URL mit der jeweils alten Tokenserver Url.
  • Das Eintragen eines _secret _war bei uns notwendig; andernfalls gab es Fehlermeldungen bei der Umstellung von einer Server-URL auf eine andere, beispielsweise bei der Umstellung vom http:// zum https:// Protokoll.

In unserem Fall steht der Sync-Server nun hinter einem Apache 2.4 und einer Firewall und ist aus dem öffentlichen Internet nicht zu erreichen. Wir synchronisieren ausschließlich innerhalb der Firma als eine Art Backup. Die Kommunikation erfolgt mittels selbstsigniertem SSL-Zertifikat und dazugehöriger Ausnahme im Browser. Als Authentifizierungs-Server nutzen wir den öffentlichen Mozilla Service Firefox Accounts. Diese Konfiguration funktioniert einwandfrei.

Im Optimalfall würde der Firefox Accounts Service zur Erhöhung der Sicherheit noch durch einen internen Firefox Accounts-Server ersetzt werden. Wir haben das Risiko durch Nutzung des Firefox Accounts Service als relativ niedrig eingestuft: Zum einen hätte ein Angreifer nach Kompromittierung der Firefox Server kein Klartext-Passwort, zum anderen hätte er dadurch noch keinen Zugriff auf unsere eigentlichen Daten (z. B. Lesezeichen), weil diese innerhalb unseres Netzwerkes liegen.