Überflüssige Cloud-Dienste in Firefox deaktivieren

Firefox bietet mehrere Dienste, die die "User Experience" verbessern sollen und dafür irgendwelche Daten auf irgendwelche Cloud Server hochladen:
  1. Pocket-API ist eine Erweiterung, mit der man Webseiten komplett in einem "Pocket" in der Cloud speichern und später lesen kann. In der Praxis kann man natürlich auch Lese­zeichen dafür nutzen oder die Download Funktion, wenn man eine Webseite später in genau diesem Zustand lesen möchte.

    Die Pocket-API ist überflüssig, kann man unter "about:config" deaktivieren: extensions.pocket.enabled = false
  2. Screenshots ist eine Erweiterung, mit der man Bildschirmfotos erstellen kann, die automatisch auf den Cloud-Server "screenshots.mozilla.com" hoch­geladen werden und von dort mit einem Klick auf Social Media Webseiten verbreitet werden könnten.

    In den Datenschutzhinweisen weist Mozilla darauf hin, dass nicht nur der Upload der Screenshots protokolliert wird, sondern auch jeder Abruf durch Dritte, die Screenshot auf irgendwelchen Social Media Webseiten betrachten, wo sie veröffentlicht wurden.

    Den Upload von Screenshots kann man mit folgendem Parameter deaktivieren: extensions.screenshots.upload-disabled = true

    Wenn ich einen Screenshot haben möchte, dann gibt es dafür genügend Tools, die Screen­shots erstellen können und ich entscheide dann, wie ich sie publiziere.

    Die Screenshot Extension von Firefox kann man auch komplett deaktivieren: extensions.screenshots.disabled = true

Keine Daten beim Ausfüllen von Formularen speichern

Firefox bietet die Möglichkeit, Daten aus Formularen zu speichern und später ähnliche Formulare automatisch auszufüllen. Seit Version 55 können Adressdaten erkannt und gespeichert werden, Firefox 58+ kann Kreditkartennummern erkennen und speichern. Damit soll vor allem "Power-Shoppern" das Einkaufen im Internet etwas erleichtert werden.

Firefox bietet einige Schutzfunktionen gegen Phishing Angriffe auf automatisch ausgefüllte Formularedaten. Trotzdem ist es nicht auszuschließen, dass raffinierte Angreifer Wege finden werden, um unsichtbare Formulare automatisch ausfüllen zu lassen und die Daten auslesen.

Lokale Angreifer (z.B. jüngere Familienangehörige?) könnten unerlaubt Einkäufe ausführen.

Unter "about:config" kann man das Speichern von Formulardaten abschalten: browser.formfill.enable = false Zusätzlich kann man folgende Features deaktivieren:
extensions.formautofill.addresses.enabled  false
extensions.formautofill.creditCards.enabled  false
extensions.formautofill.heuristics.enabled  false
Damit wird nicht(!) der Login Manager konfiguriert, der die Credentials für Webseiten speichert. Die Konfiguration des Login Managers ist unter Passwörter & 2FA beschrieben.

Geolocation API

Mit Hilfe der Geolocation API kann die geografische Position des Surfer relativ genau bestimmt werden. Zur Ortsbestimmung können je nach vorhandener Hardware im Rechner die WLANs in der Umgebung genutzt werden oder GPS-Hardware...

Aktuelle Firefox Versionen fragen nach, bevor der Zugriff auf die Geolocation API erlaubt wird. Das ist als Schutz gegen unerwünschte Lokalisierung ausreichend.

Ein vollständiges Abschalten der Geolaction API (wie es früher nötig war) oder das standard­mäßige Blockieren des Zugriffs über die Berechtigungen schafft ein Erkennungs­merkmal beim Finger­printing des Browsers, welches den Browser von der Masse der anderen Nutzer unterscheidet.

Die Standortbestimmung anhand der IP-Adresse kann man nicht deaktivieren, da eine Webseite diese Standortbestimmung immer ohne Mithilfe des Nutzers vornehmen kann. Es ist relativ ungenau, lediglich die Stadt lässt sich mit einiger Sicherheit anhand der IP-Adresse bestimmen. 

WebGL

WebGL stellt eine Javascript-API für das Rendering von 3D-Objekten bereit. Anhand der Debug Renderer Inormationen kann der Typ der Grafikkarte ausgelesen, was sich gut für das Fingerprinting der Hardware eignet. Diese Information sollte man immer deaktivieren: webgl.enable-debug-renderer-info = false WebGL kann für das Fingerprinting der Performance von Hardware und OpenGL genutzt werden, wie die Studie Perfect Pixel: Fingerprinting Canvas in HTML5 zeigt. Das Finger­printing via WebGL kann mit folgenden Einstellungen verringert werden:
webgl.disable-extensions= true
webgl.min_capability_mode= true
webgl.disable-fail-if-major-performance-caveat  = true
Außerdem kann WebGL ein (unnötiges) Sicherheitsrisiko sein, weil Angriffe auf das Betriebs­system möglich werden. Durch nachgeladene Schriften können Bugs in den Font Rendering Bibliotheken ausgenutzt werden, das gab es für Linux (CVE-2010-3855), Windows (ms11-087) oder OpenBSD (CVE-2013-6462). Die WebGL Shader Engines haben auch gelegentlich Bugs, wie z.B. MFSA 2016-53. Für hohe Sicherheits­anforderungen kann man WebGL komplett zu deaktivieren, um das Risiko zu reduzieren: 
webgl.disabled = true
webgl.enable-webgl2   = false

Timing APIs deaktivieren

Die hochgenauen Timing APIs können von Webanwendungen zur Analyse des Ladens von Resourcen oder des Nutzerverhaltens missbraucht werden (Timing Attacks on Web Privacy, PDF). Wenn man seinen Browser zum Lesen von Webseiten und nicht vorrangig für Games verwendet, sollte man die APIs deaktivieren: dom.enable_resource_timing = false
dom.enable_performance = false
dom.enable_performance_navigation_timing = false

Clipboard Events deaktivieren

Mit den Clipboard Events informiert Firefox eine Webseite, dass der Surfer einen Ausschnitt in die Zwischenablage kopiert hat oder den Inhalt der Zwischenablage in ein Formularfeld eingefügt hat. Es werden die Events oncopy, oncut and onpaste ausgelöst, auf die die Webseite reagieren könnte. Man kann diese Events unter "about:config" deaktivieren: dom.event.clipboardevents.enabled = false Da es mit der Deaktivierung häufig Probleme bei einigen Webseiten gibt, ist diese Einstellung nur in der strengen user.js aktiviert. 

Spekulatives Laden von Webseiten

Firefox beginnt in einigen Situationen bereits mit dem Laden von Webseiten, wenn sich der Maus­zeiger über einem Link befindet, also bevor man wirklich klickt. Damit soll das Laden von Webseiten einige Millisekunden beschleunigt werden. Wenn man Verbindungen mit unerwünschten Servern vermeiden möchte, kann man es abschalten: network.http.speculative-parallel-limit = 0

Kill Switch für Add-ons abschalten

Die Extension blocklist kann Mozilla nutzen, um einzelne Add-ons im Browser zu deaktivieren. Es ist praktisch ein kill switch für Firefox Add-ons und Plug-ins. Beim Aktualisieren der Blockliste werden detaillierte Informationen zum realen Browser und Betriebssystem an Mozilla übertragen. https://addons.mozilla.org/blocklist/3/%7Bec8030f7-c20a
-464f-9b0e-13a3a9e97384%7D/10.0.5/Firefox/20120608001639
/Linux_x86-gcc3/en-US/default/Linux%202.6.37.6-smp%20
(GTK%202.24.4)/default/default/20/20/3/
Ich mag es nicht, wenn jemand remote irgendetwas auf meinem Rechner deaktiviert oder deaktivieren könnte. Unter "about:config" kann man dieses Feature abschalten: extensions.blocklist.enabled = false

Update der Metadaten für Add-ons deaktivieren

Seit Firefox 4.0 kontaktiert der Browser täglich den AMO-Server von Mozilla und sendet eine genaue Liste der installierten Add-ons und die Zeit, die Firefox zum Start braucht. Als Antwort sendet der Server Statusupdates für die installierten Add-ons. Diese Funktion ist unabhägig vom Update Check für Add-ons, es ist nur eine zusätzliche Datensammlung von Mozilla. Unter "about:config" kann man diese Funktion abschalten: extensions.getAddons.cache.enabled = false

HTML5 Beacons deaktivieren

Mit Beacons kann ein Browser beim Verlassen/Schließen einer Webseite Daten zur Analyse an den Webserver senden, die via Javascript gesammelte wurden. Unter "about:config" kann man dieses Feature abschalten: beacon.enabled = false Wenn man HTML5 Beacons abschaltet, kann es vorkommen, dass eine Webseite nach einem Klick nicht aktualisiert wird. eBay.com ist ein Beispiel dafür. Man muss oft den Reload Button klicken, um eine wirklich aktuelle Seite zu sehen. Deshalb ist dieses Feature nur in der strengen user.js Konfiguration deaktiviert. 

Safebrowsing deaktivieren

Wenn die Safebrowsing Funktion aktiv ist, dann holt Firefox alle 30min aktualisierte Block­listen von den Safebrowsing Providern. Alle Seitenaufrufe werden lokal mit den Listen abgeglichen. Bei einem Treffer sendet Firefox einen Hash der URL an den Safebrowsing Provider, um zu prüfen, ob die Seite noch auf der Liste steht.

Unter Windows werden außerdem alle Downloads von Anwendungen geprüft. Firefox sendet Informationen zur heruntergeladenen Datei (Name, Herkunft, Größe, Hash) an den "Google Safe Browsing Service". Dabei gelten die Datenschutzbestimmungen von Google.

Um Safebrowsing zu deaktivieren kann man unter "about:config" folgende Werte setzen:
browser.safebrowsing.phishing.enabled  false
browser.safebrowsing.malware.enabled  false
browser.safebrowsing.blockedURIs.enabled  false
browser.safebrowsing.downloads.enabledfalse
browser.safebrowsing.downloads.remote.enabled  false
browser.safebrowsing.downloads.remote.block_dangerous  false
browser.safebrowsing.downloads.remote.block_dangerous_host  false
browser.safebrowsing.downloads.remote.block_potentially_unwanted  false
browser.safebrowsing.downloads.remote.block_uncommon  false
browser.safebrowsing.downloads.remote.url(leerer String)
browser.safebrowsing.provider.*.gethashURL(leerer String)
browser.safebrowsing.provider.*.updateURL(leerer String)
Gegen Phishing Angriffe schützen keine technische Maßnahmen vollständig sondern in erster Linie das eigene Verhalten. Und gegen Malware schützen regelmäßige Updates des Systems besser als Virenscanner und URL-Listen. 

Healthreport und Telemetriedaten für Mozilla

Firefox ist einer der wenigen Browser, bei denen man die Übertragung von Telemetriedaten an den Hersteller abschalten kann. Seit Firefox 41 gibt es dafür einen globalen Kill-Switch: datareporting.policy.dataSubmissionEnabled = false Daneben gibt es Parameter für einzelne Reports, die man zusätzlich deaktivieren kann, was aber eigentlich mit dem globalen Kill-Switch erledigt ist.
datareporting.healthreport.uploadEnabled= false
Zur Deaktivierung des Telemetrie Toolkit setzt man folgenden Werte unter "about:config": toolkit.telemetry.unified = false Einzelne Aktionen der Telemetrie können mit folgenden Optionen deaktiviert werden:
toolkit.telemetry.archive.enabled  = false
toolkit.telemetry.firstShutdownPing.enabled= false
toolkit.telemetry.hybridContent.enabled= false
toolkit.telemetry.bhrPing.enabled  = false
toolkit.telemetry.newProfilePing.enabled= false
toolkit.telemetry.shutdownPingSender.enabled  = false
toolkit.telemetry.updatePing.enabled= false

Im August 2018 hat Mozilla festgestellt, dass es keine Daten darüber gibt, wie viele Nutzer die Übertragung der Telemetriedaten abgeschaltet haben. Deshalb wurde das Add-on Telemetrie Coverage gebaut und an 1% der Nutzer verteilt. Das Add-on ignoriert die Einstellungen zur Telemetrie und sendet folgende Daten an Mozilla: Firefox Version, Update Channel, Betriebs­system und -version sowie die Information, ob die Über­tragung von Telemetriedaten deaktiviert wurde.

Um diese Datenübertragung an Mozilla ebenfalls zu deaktivieren, muss man unter "about:config" folgende Variablen neu anlegen: 
toolkit.coverage.endpoint.base = ""(leerer String)
toolkit.coverage.opt-out = true   (laut Mozilla Doku)
toolkit.telemetry.coverage.opt-out   = true(im Code verwendet)

Firefox Location Tracking

Seit Firefox 80 trackt Firefox den Standort der Nutzer. Bei jedem Start wird der Server location.services.mozilla.com angepingt und anhand der IP-Adresse das Land ermittelt, in dem der Nutzer sich aufhält. Die Daten werden in zwei Varibalen gespeichert:

Region.current  (das aktuelle Land, in dem der Nutzer sich aufhält)
Region.home (das vermutete Heimatland des Nutzers)

Laut Dokumentation verwendet Mozilla diese Daten, um irgendwelchen "relevanten" Content auszuwählen und die Standardsuchmaschine zu definieren (in Abhängigkeit von den Verträgen, die Mozilla mit unterschiedlichen Suchdiensten abgeschlossen hat).

Das Aktualisieren des Standortes verhindert man mit folgenden Einstellungen:

browser.region.update.enabled  = false
browser.region.network.url = "" (leerer String)

Speicherung von Screenshots der besuchten Webseiten

Firefox speichert Screenshots von jeder besuchten Webseite auf der Festplatte, um sie später als Thumbnails auf der New Tab Page einzublenden. Diese Speicherung gefällt mir nicht, da ich mein Surfverhalten nicht protokollieren möchte, auch nicht auf dem eigene Rechner.

Um diese Speicherung abzuschalten, kann man eine neue Variable vom Typ Boolean unter "about:config" erstellen und auf "true" setzen:  browser.pagethumbnails.capturing_disabled = true

Mozillas Werbung nach einem Update

Nach jedem Update von Firefox wird eine Webseite aufgerufen, die Mozilla für Werbung sowie statistische Auswertungen nutzt und die ein bisschen nervt. Unter der Adresse "about:config" kann man diese Einblendung abschalten:  browser.startup.homepage_override.mstone = ignore

Mozillas Bewertungsfeature

Im Rahmen von Stichproben bittet Mozilla die Nutzer, ihre Erfahrungen mit Firefox zu bewerten. Die Bewertungsfunktion baut bei jedem Start von Firefox eine Verbindung zum Mozilla Server auf. Mit folgender Option unter \textit{about:config} deaktiviert man die Bewertungsfunktion und die Verbindungsaufbau:  app.normandy.enabled = false

Deaktivierung der Add-ons auf Mozillas Webseiten

Standardmäßig werden Add-ons auf Webseiten von Mozilla deaktiviert, um die Funktionalität der Dienste sicherzustellen, die auch für interne Funktionen von Firefox genutzt werden:

Damit gibt es auf diese Webseiten zum Beispiel praktisch keinen Trackingschutz mehr, obwohl die Webseiten teilweise Trackingcode einbinden, den uBlock blockieren würde.

Man kann die Deaktivierung der Add-ons auf diesen Webseiten verhindern, wenn man folgende Variable unter "about:config" auf einen leeren String setzt: extensions.webextensions.restrictedDomains = Diese Einstellung kann aber in Abhängigkeit von den installierten Add-ons zu Problemen bei einigen internen Funktionen von Firefox führen, die diese Webdienste nutzen. 

Systemfarben der Desktop Umgebung

CSS Attribute für Farbe und Hintergrund von HTML Elementen können die Systemfarben der Desktop Umgebung verwenden. Damit sieht die Webseite einer nativen Desktop Anwendung ähnlich. Diese individuellen Farben können via Javascript ausgelesen werden und für das Fingerprinting des Browsers verwendet werden. Gleiches gilt für den Darkmode.

Um das Auslesen der Desktop Einstellungen zu verhindern, kann man die eingebauten Standard­werte für die Systemfarben verwenden und den Darkmode deaktivieren:
ui.use_standins_for_native_colors   = true
ui.systemUsesDarkTheme = 0
In CSS Color Module L3 ist die Verwendung von Systemfarben als "veraltet" markiert. 

Wi-Fi Hotspot Portal Erkennung deaktivieren

Firefox erkennt die Portalseiten von Wi-Fi Hotspots und öffnet sie in einem neuen Tab. Für die Wi-Fi Hotspot Erkennung ruft Firefox beim Start die URL "http://detectportal.firefox.com/success.txt" mit einem XMLHttpRequest ab. Wenn dabei ein Redirect gefunden wird statt der erwarteten Antwort, öffnet Firefox den Hinweis zum notwendigen Login auf einer Portal Seite.

Microsoft Family Safety deaktivieren

Microsoft Family Safety ist ein lokaler man-in-the-middle Proxy in Windows 10, der die Zugriffsrechte auf Webseiten steuern kann und damit per Definition ein Zensur­tool ist. Ab Firefox 52 ist die Verwendung von Microsoft Family Safety standardmäßig aktiviert. Mit folgender Option kann man unter "about:config" die Nutzung abschalten:  security.family_safety.mode = 0

Browser Slow Startup Notifications

Bei jedem Start prüft Firefox die Zeit, die der Browser zum Starten benötigt. Falls Firefox der Meinung ist, dass er zu langsam startet, wird die Deinstallation von Add-ons empfohlen.

Da man sich überlegt, welche Add-ons man braucht und gern verwenden möchte und über­flüssige Add-ons natürlich nicht installieren würde, ist dieses Feature überflüssig. Man kann es unter "about:config" deaktivieren:
browser.slowStartup.notificationDisabled  = true
browser.slowStartup.maxSamples= 0
Lizenz: Public Domain