Surf-Container sind ein Konzept von Mozilla und TorProject.org, um Website-über­greifendes Tracking mit Cookies und EverCookie Techniken zu verhindern. Aber: Surf-Container schützen nicht gegen Tracking anhand des Browser Fingerprint!

Konzepte für Surf-Container in Firefox

Mozilla hat mehrere Konzepte für Surf-Container in Firefox implementiert:
  1. FirstParty.Isolate wurde für den TorBrowser unter dem Titel "Cross-Origin Identifier Unlinkability" entwickelt und ist mit Firefox 58+ auch von Mozilla implementiert worden.

    Um das Feature zu aktivieren, muss man unter "about:config" folgenden Wert setzen: privacy.firstparty.isolate = true Damit wird für jede Domain in der URL-Leiste gemäß Same-Origin-Policy automatisch ein neuer Surf-Container erstellt und alle Daten werden in einem individuellen "Context" gespeichert. Tracking über mehrere Webseiten mit (Ever-)Cookies ist nicht möglich.

    Webseiten könnten die Javascript API windows.postMessage verwenden, um Daten zwischen unterschiedlichen Domains auszutauschen, die in verschiedenen Containern gekapselt sind. Um diese Lücke zu schließen, muss man unter "about:config" folgenden Wert setzen: privacy.firstparty.isolate.block_post_message = true FirstParty.Isolate kann zu Login Problemen bei einigen Websites führen, die Single Sign-on (SSO) Techniken nutzen. Betroffen sind beispielsweise fast alle Google Dienste, SoundCloud u.a.m. die einen Google Account für die Anmeldung verwenden. Bei diesen Login Problemen kann man mit folgender Option den Schutz aufweichen: privacy.firstparty.isolate.restrict_opener_access = false Ein weiterer, kleiner Nachteil von FirstParty.Isolate ist, dass man bei Webseiten, die Googles reCaptcha zur Erkennung von Bots nutzen, immer die visuellen Captchas lösen muss. Google kann die Daten aus dem Surf-Tracking zur Unter­scheidung von "Bots vs. Humans" verwenden und wer sich von Google beobachten lässt, müsste keine Captchas lösen. 

  2. Basierend auf den Erfahrugen mit FirstParty.Isolate hat Mozila das Konzept überarbeitet und komplett neu implementiert. Dabei wurde der Schutz in zwei Komponenten aufgeteilt:
    • Die Netzwerk Partitionierung isoliert alle Cache Speicher (HTTP, Bilder, Fonts), SSL Sessions, HSTS, OCSP, DNS… in getrennten Containern für jede First-Party Domain.

      Damit wird verhindert, das Trackingdienste diese Techniken, die nicht zur Speicherung von Daten vorgesehen sind, für die Markierung mit EverCookies missbrauchen können.

      Seit Firefox 85.0 ist die "Netzwerk Partitionierung" standardmäßig aktiviert:

      privacy.partition.network_state = true
    • Total Cookie Protection ist das Konzept zur Isolation von Cookies, Third-Party Cookies, DOMStorage und IndexDB in getrennten Containern für jede First-Party Domain.

      Dieses Feature kann man unter "about:config" mit mit folgender Einstellung aktivieren:

      network.cookie.cookieBehavior = 5

    HINWEIS: Wenn man "FirstParty.Isolate" aktiviert, dann wird der alte Code verwendet und nicht "Netzwerk Partitionierung" bzw. "Total Cookie Protection"! Für Firefox 86+ ist es empfehlens­wert, "FirstParty.Isolate" zu deaktivieren und statt dessen "Total Cookie Protection" zu nutzen.

  3. userContext steht seit Firefox 50+ zur Verfügung. Es werden mehrere Surf-Container bereit­gestellt, die man selbst aktiv auswählen muss. Um das Feature zu aktivieren, muss man zuerst unter der Adresse "about:config" folgende Werte setzen:
    privacy.userContext.enabled= true
    privacy.userContext.ui.enabled= true
    Die Freigaben für den Zugriff auf Mikrofon, Kamera, Geolocation oder Webnotification können ebenfalls im userContext gekapselt werden und gelten dann nur, wenn die Webseite in einem spezifischen Context aufgerufen wird. Dafür ist folgende Variable zu aktivieren: permissions.isolateBy.userContext = true

    Danach kann man über den Menüpunkt "Datei - Neuer Tab in Umgebung - ..." einen Tab in einem anderen Surf-Container öffnen sowie mit Klick der rechten Maustaste auf einen Link bzw. NewTab Icon wählen, in welchem Surf-Container man den Link/Tab öffnen möchte.

    Anhand einer Farbkennung auf dem Reiter ist erkennbar, zu welcher Umgebung er gehört. Man kann auch selbst weitere Surf-Container definieren. Ob dieses Konzept effektiv eingesetzt wird, hängt in erster Linie von der Disziplin des Anwenders ab.

    In unterschiedlichen Containern kann man sich gleichzeitig mit unter­schiedlichen Accounts bei einem Webdienst anmelden. Das ist eine der Haupt­einsatz­möglichkeiten für dieses Feature.

Hinweis: "userContext" und "FirstParty.Isolate" können (noch) nicht in Kombination mit dem "Private Browsing Mode" verwendet werden und sie funktionieren nicht, wenn man in den Datenschutz­ein­stellungen für die Chronik die Option "niemals anlegen" auswählt.
Lizenz: Public Domain