Firefox Absicherung & Anonymisierung - Seite 2

Datenschutz & Sicherheit

Browser-Datenschutz

Seitenelemente blockieren

( ) Standard
( ) Streng
(X) Benutzerdefiniert
[ ] Elemente zur Aktivitätenverfolgung (Tracker)
[X] Cookies [Alle Cookies von Drittanbietern]
[ ] Heimliche Digitalwährungsberechner (Krypto-Miner)
[ ] Identifizierer (Fingerprinter)

Mit den Einstellungen werden Funktionen zum Schutz vor Aktivitätenverfolgung bzw. Tracking Protection aktiviert oder deaktiviert. Bei Aktivierung werden von Disconnect.me gepflegte Blockierlisten in der „Standard“ oder „Streng“ Variante verwendet, mit der Anfragen zu Domains über Javascripte, Webseiten-Elemente und Werbung in der aufgesuchten Webseite blockiert werden („Content Blocking“), die Aktivitätenverfolgung (Tracking) betreiben. Die Elemente zur Aktivitätenverfolgung (Tracker) Einstellung im benutzerdefinierten Modus entspricht der Auswahl der Standard- oder Streng-Blockierlisten.

Eine Alternative – auch hinsichtlich Kontrolle und Unabhängigkeit – stellen Erweiterungen wie uMatrix und uBlock dar, die über restriktive Standard-Direktiven zunächst generell alle Anfragen zu Dritt-Parteien blockieren und in denen man für einzelne Websites bzw. Webseiten generelle oder daten-/objektspezifische Ausnahmeregeln festlegt. Zusätzlich können in beiden Erweiterungen ebenfalls (umfangreichere) Blockierlisten genutzt werden. Setzt man entsprechende Erweiterungen ein, kann man die Disconnect.me Blockierlisten deaktivieren bzw. den Firefox Tracking-Schutz auf Krypto-Miner und Fingerprinter beschränken oder auch diese Funktionen deaktivieren.

Allerdings sollte man an der Stelle stets generell die Annahme der Cookies von Drittanbietern (3rd-Party Cookies) blockieren.

Richtlinie: EnableTrackingProtection, Cookies

"Do not Track"-Informationen senden

Websites eine „Do Not Track“-Information senden, dass die eigenen Aktivitäten nicht verfolgt werden sollen:

(X) Nur wenn Firefox bekannte Elemente zur Aktivitätenverfolgung blockieren soll

Mit der Einstellungen wird festgelegt, ob die Do Not Track (DNT) Kopfzeile zum Webserver übermittelt wird oder nicht, die dem Webserver bzw. Betreiber signalisiert, ob man dem Anlegen und Nutzen eines Besucherprofils über diverse Tracking-Mechanismen wie z. B. Cookie-Dateien zustimmt (keine DNT Kopfzeile) oder nicht (DNT:1). DNT ist eine Pseudo-Datenschutzfunktion, da Website-Betreiber entweder nicht gesetzlich verpflichtet sind, den DNT-Wert zu beachten, die Nichtbeachtung nicht erkennbar ist oder die Ahndung der Nichtbeachtung nicht erfolgt. Mit der Einstellung und deaktivierten Funktionen zum Blockieren von Seitenelementen wird keine DNT Kopfzeile gesendet.

Cookies und

Siehe Cookie. Zu sogenannten Supercookies siehe Websitedaten bzw. Web Storage und HSTS-Kritik.

Einstellungsname Wert Anmerkungen
network.cookie.cookieBehavior 1 mit 1 werden nur Cookies von der eigentlichen Website, aber keine 3rd-party Cookies von anderen Websites akzeptiert, mit 2 werden alle Cookies abgelehnt und mit 3 werden Cookies von Websites blockiert, die noch nicht besucht wurden

mit 4 werden nur Cookies von 3rd-Party Trackern abgelehnt und deren Nutzung von persistenten Speichern, was allerdings ausgehebelt wird, wenn der Benutzer Interaktionen mit 3rd-Party Trackern auslöst bzw. Firefox wegen „web compatibility heuristics“ meint, die aufgerufene Website würde nicht mehr richtig funktionieren, wenn 3rd-Party Trackern nicht alles erlaubt wird. In dem Fall werden automatische Berechtigungen wie unter WebsitedatenStorage Access API an Tracker vergeben. Die 4er Funktion ist an die Aktivierung der Disconnect.me Tracker-Listen bzw. von Content Blocking/Tracking Protection gebunden. Insofern stellt 4 eine Aufweichung des Schutzes vor 3rd-Party Tracking mittels 1 dar
network.cookie.lifetimePolicy 2 alle Cookie-Daten werden bei Sitzungsende bzw. Schließen des Browsers gelöscht
network.cookie.thirdparty.sessionOnly true 3rd-party Cookies werden nur als Sitzungs-Cookies gespeichert, wenn network.cookie.cookieBehavior auf 0 oder 3 steht

Websitedaten

Die Websitedaten beziehen sich auf einen lokalen Zwischenspeicher, in den Websites über die Storage API bzw. Web Storage API Inhalte und Daten dauerhaft (persistent) oder nicht dauerhaft speichern können. Die Daten im dauerhaften Speicher bleiben solange bestehen, bis man sie manuell löscht, während die Daten im nicht dauerhaften Speicher solange bestehen bleiben, wie Speicherplatz zur Verfügung steht. Die Websitedaten beinhalten auch die Daten webbasierter Anwendungen bzw. von Webinhalten, die offline weiter genutzt werden sollen. Der Application Cache Zwischenspeicher war unter der Offline-Webinhalte und -Benutzerdaten Einstellung aufgeführt und wird seit Firefox Quantum ausgeblendet. Die Offline-Websitedaten können über die Einstellungen zur Chronik automatisch nach Sitzungsende gelöscht werden.

Einstellungsname Wert Anmerkungen
dom.storage.enabled
offline-apps.allow_by_default
offline-apps.quota.warn
false
false
1
deaktiviert die Speicherung und das Auslesen von Objekten / Informationen per DOM Storage und gibt eine Warnmeldung aus, sobald mehr als 1 Kb gespeichert werden soll

Hinweis: Wird dom.storage.enabled deaktiviert, funktionieren einige WebExtensions nicht
dom.storageManager.enabled false der StorageManager als Interface der Storage API ermittelt, wie groß der Speicher ist, in den Websites Daten persistent ablegen dürfen und kann der Website auf Anfrage die Berechtigung erteilen, den Speicher zu nutzen
dom.storage_access.auto_grants
dom.storage_access.enabled
dom.storage_access.max_concurrent_auto_grants
privacy.restrict3rdpartystorage.expiration
false
false
1
3
deaktiviert die Storage Access API, über die 3rd-Party Websites während einer Browsersitzung nach Prüfung von Berechtigungsregeln automatisch auf gespeicherte Daten (Cookies) der originären Website im Hintergrund zugreifen dürfen. Wenn die Storage Access API aktiv ist wird mit 1 eine Berechtigungsanfrage an den Benutzer gerichtet. Falls er die Erlaubnis erteilt, bleibt der Berechtigungsvermerk für 3 Sekunden statt 30 Tage gespeichert

Webinhalte

Webinhalte (Grafikdateien, Textinhalte usw.), die der Darstellung von und der Navigation in Webseiten dienen, können in einem lokalen Verzeichnis (Cache) temporär zwischengespeichert werden, um sie bei erneutem Aufruf schneller in das Browserfenster zu laden oder nur im Arbeitsspeicher vorgehalten werden.

Daten entfernen & verwalten

Über den Daten entfernen Button kann man manuell

[X] Cookies und Website-Daten
[X] Zwischengespeicherte Webinhalte/Cache

löschen, die von allen bisher besuchten Websites abgespeichert wurden. Über den Daten verwalten Button kann man manuell die gleichen Daten spezifischer Websites löschen.

Mit Deaktiveren der Zwischenspeicher für Webinhalte, entsprechender Konfiguration von Firefox und Datenschutz-Erweiterungen kann man das Löschen der Daten automatisiert während der Browser-Sitzung ablaufen lassen. Ansonsten werden [X] Cookies und Website-Daten beim Beenden von Firefox gelöscht.

Richtlinie: SanitizeOnShutdown

Zwischenspeicher deaktivieren

Alle Zwischenspeicher eigenen sich zum Speichern von Daten, die als Cookie-Alternative und damit zum Tracking dienen können. Die Deaktivierung aller Zwischenspeicher wird durch das Setzen von erweiterten Einstellungen ermöglicht:

Einstellungsname Wert Anmerkungen
browser.cache.disk.capacity 0 setzt verfügbaren Speicherplatz für Dateien-Zwischenspeicher auf 0
browser.cache.disk.enable false deaktiviert Dateien-Zwischenspeicher im Cache-Verzeichnis
browser.cache.disk.smart_size.enabled false deaktiviert dynamische Änderung des Speicherplatzes für Dateien-Zwischnespeicher
browser.cache.disk_cache_ssl false Inhalte, die mit TLS Verschlüsselung bezogen wurden, werden nicht dauerhaft im Dateien-Zwischenspeicher zwischengespeichert.
browser.cache.memory.enable false deaktiviert das Zwischenspeichern in Speicherbereiche des Arbeitssspeichers
browser.cache.offline.capacity 0
browser.cache.offline.enable false
browser.cache.offline.insecure.enable false
browser.sessionstore.dom_storage_limit 1
devtools.cache.disabled true
dom.caches.enabled false
dom.prototype_document_cache.enabled false
media.cache_size
media.cache_size.cellular
0
0

Zugangsdaten & Passwörter

[ ] Fragen, ob Zugangsdaten und Passwörter für Websites gespeichert werden sollen
[ ] Master-Passwort verwenden

Da ein Browser immer eine potentiell unsichere Umgebung darstellt, trotz Beteuerungen, bei Browser X Version Y würde es sich um die sicherste Anwendung handeln, immer schwerwiegende Sicherheitslücken auftreten und das in der Vergangenheit auch immer wieder browserinterne Passwort-Manager Funktionen betraf, werden alle Passwort-Manager Funktionen so weit wie möglich deaktiviert. Siehe z. B. No boundaries for user identities: Web trackers exploit browser login managers.

Einstellungsname Wert Anmerkungen
browser.formfill.enable
extensions.formautofill.available
extensions.formautofill.*.enabled
signon.autofillForms
signon.autofillForms.autocompleteOff
signon.autofillForms.http
signon.formlessCapture.enabled
signon.privateBrowsingCapture.enabled
signon.rememberSignons
signon.storeWhenAutocompleteOff
false
off
false
false
false
false
false
false
false
false
es erfolgt bei neuen Anmeldeformularen keine Nachfrage, ob Benutzername-Passwort Anmeldedaten gespeichert werden sollen bzw. werden eingegebene Anmeldedaten nicht gespeichert und automatisch in Formularfelder eingetragen. Darüber hinaus werden Formularfelder auf Webseiten generell nicht automatisch ausgefüllt und die Speicherung persönlicher Daten in Profilen deaktiviert, um sie mittels "Form Autofill Feature" automatisch in Formulare zu übertragen

Richtlinie: DisableMasterPasswordCreation, OfferToSaveLogins

Passwörter

Bei der Erzeugung und Verwendung von Passwörtern sollte man beachten:

  • die Hinweise zur Zusammensetzung sicherer Passwörter im Passwort Beitrag der Wikipedia
  • das ein Passwort nicht mehrmals für verschiedene Benutzerkonten und Dienste verwendet, sondern pro Benutzerkonto/Dienst ein eigenes Passwort gebildet wird

Zur Speicherung, Verwaltung und Verwendung von Zugangsdaten & Passwörtern kann man eine Passwort-Manager Erweiterung mit extern gespeicherten Passwort-Datenbanken oder eine eigenständige, lokale Passwort-Manager Anwendung mit lokal gespeicherter Passwort-Datenabank benutzen. Ich empfehle neben der Deaktivierung des Firefox Passwort-Managers keine Passwort-Datenbanken zu verwenden, die von Passwort-Management Diensteanbietern auf ihren Servern gespeichert und mittels eigener Passwort-Manager verwaltet werden. Auch der Bug 1548973 (armagadd-on-2.0) zeigt exemplarisch auf, warum man keine externen Passwort-Dienste mit Passwort-Manager Erweiterungen nutzen sollte – funktioniert die Erweiterung (oder der Dienst selbst) aus irgendwelchen Gründen nicht mehr und ist der Dienst nur über die Erweiterung zu nutzen, wird man von allen Logins abgeschnitten.

Passwort-Manager KeePassXC

Stattdessen ist die Verwendung des lokal installierten KeePassXC Passwort-Managers zu empfehlen, mit dem man lokal gespeicherte Passwort-Datenbanken managed. Der Zugriff auf und Modifikationen an der KeePassXC Datenbank kann zusätzlich mit einem YubiKey gesichert werden. Benötigt man „Synchronisierung“ für mehrere Geräte, „synchronisiert“ bzw. spiegelt man halt die Datenbank auf die Geräte. Für alle lokalen Passwort-Manager Anwendungen ist sicherzustellen, dass sie Zugangsdaten & Passwörter sicher speichern und als Anwendung genauso abgesichert werden wie der Browser selbst.

KeePassXC Hauptfenster


In KeePassXC werden die Login- und Kontendaten in Gruppen organisiert. Für jedes Konto kann ein Titel, Benutzername, eine URL, ein manuell oder mit Passwort-Generator erzeugtes Passwort, Ablaufdatum, Dateianhänge und ein Kommentar gespeichert werden.

KeePassXC Stammgruppe


Nach der Installation legt man für die Stammgruppe die Standard Auto-Type-Sequenz {USERNAME}{TAB}PASSWORD} fest, die an Untergruppen und Einträge vererbt werden kann, damit sie nicht bei jedem neuen Eintrag manuell eingetragen werden muss. Die obige Sequenz überträgt mit einer Hotkey-Kombination in Anmeldeformulare den Benutzernamen in das erste Eingabefeld und springt dann in das Eingabefeld für das Passwort, in das selbiges übertragen wird. Das Absenden wird nicht automatisiert. In den Auto-Type Einstellungen sollte zusätzlich die Immer vor einem Auto-Type fragen Option aktiviert werden, so dass KeePassXC immer ein Auswahlfenster vor dem Übertragen der Daten einblendet.

KeePassXC Eintrag


Im Eintrag-Editor werden Daten zum Konto eingetragen und über das Würfel Icon ein Passwort und ein Benutzername generiert. Nach Auswahl von Auto-Type wird die Auto-Type-Sequenz aktiviert und der Fenstertitel ausgewählt, mit dem KeePassX dass zum Eintrag passende Konto identifiziert:

KeePassXC Auto-Type


Da anfangs die Vererbung der Auto-Type-Sequenz aktiviert wurde, kann die Standardsequenz ausgewählt werden. Bei abweichender Sequenz schaltet man auf Benutzerdefinierte Sequenz um und trägt sie in das entsprechende Feld ein. Ergänzend kann man die KeePass Helper - URL in title Erweiterung installieren, die den Hostnamen („blablapress.com“) – optional mit Protokollbezeichnung – in die Firefox Titelleiste einsetzt, sodass der Fenstertitel genauer spezifiziert werden kann, was eine versehentliche Falscheingabe bei gleichen oder fehlenden Titelangaben von Websites verhindert. Zu weiteren Informationen zu KeePassXC siehe KeePassXC Wiki und Getting Started With KeePassXC.

Chronik

Im Mittelpunkt der Datenschutzeinstellungen steht die sogenannte Firefox „Chronik“. Die Chronik kann man auch als Gesamtheit aller Zwischenspeicher bezeichnen, in die je nach Einstellung für einen vozugebenden Zeitraum verschiedene Daten abgelegt und vorgehalten werden. Zu den Daten gehören:

  • Besuchte Seiten & Download-Chronik: die Titel, Beschreibungen, URLs besuchter Webseiten und die Namen und URLs von Dateien, die mit dem Firefox Download-Manager heruntergeladen wurden
  • Eingegebene Suchbegriffe & Formulardaten: Begriffe, die in Formularfelder auf Webseiten oder in der Firefox Suchleiste eingegeben oder Kontendaten (Benutzernamen und Passwörter), die für Anmeldevorgänge eingegeben wurden
  • Aktive Logins: Anmeldedaten von verschlüsselten TLS Verbindungen, die nicht mit einem korrekten Abmeldevorgang beendet wurden
  • Cookies: Cookie-Daten
  • Cache: Webseiteninhalte und darin eingebette Dateien, die geladen und lokal auf dem Rechner zwischengspeichert wurden
  • Offline Website-Daten: Webanwendungen und Webseiteninhalte, die von Servern lokal auf dem Rechner gespeichert werden, um sie ohne bestehende Internetverbindung im Offline-Modus zu nutzen
  • Website-Einstellungen: Berechtigungen und Ausnahmen von Standardeinstellungen, die Domains über Seiteninformationen oder Erweiterungen erteilt wurden, Website-spezifische Zoom-Level, HSTS-Einträge in der SiteSecurityServiceState.txt Datei

Jeder Anwender muss zur Frage, wie die Chronik zu nutzen ist, individuell zwischen der Nutzung von Funktionen, die das Arbeiten mit dem Browser und dem WWW erleichtern oder erweitern und dem Leitsatz „So viel Daten wie nötig, so wenige Daten wie möglich“ abwägen. Dabei muss er auch berücksichtigen, dass die hier vorgehaltenen Daten u. U. Dritten zugänglich werden, zum Beispiel bei PCs, die er sich mit Dritten teilt, aufgrund von Sicherheitslücken im Browser und seinen Erweiterungen oder über den Besuch bösartiger Webseiten mit einem ungenügend abgesicherten Browser. Zugriffsmöglichkeiten vorausgesetzt, kann die Auswertung einiger der hier gespeicherten Daten außerdem zur Profil- und Mustererkennung herangezogen werden und so dazu beitragen, den Grad einer Anonymisierung zu beeinträchtigen.

Zur Beantwortung der Fragestellung bietet der Firefox Browser verschiedene Vorgehensweisen:

  1. man lässt mit anlegen Firefox kategorisch eine Chronik für alle obigen Datentypen anlegen und kann dann manuell von Zeit zu Zeit die Chronik löschen, was nicht empfehlenswert ist
  2. man verhindert mit niemals anlegen kategorisch die Anlage und Nutzung einer Chronik, was den Privaten Modus aktiviert
  3. man lässt Firefox für einzelne Datentypen eine Chronik nach benutzerdefinierte Einstellungen anlegen
  4. man lässt Firefox immer den Privaten Modus verwenden

Die Aktivierung des Privaten Modus ist die einfachste und sicherste Methode, die Anlage und den Missbrauch gespeicherter Daten zu unterbinden. Die Zwischenablage-Funktionalität der Betriebssysteme ist vom Privaten Modus ausgenommen, d. h. wenn Inhalte im in die Zwischenablage kopiert werden, bleiben sie auch dort, nachdem der Private Modus beendet wurde. Außerdem können im Privaten Modus keine Tab-Umgebungen verwendet werden. Wenn der Private Modus nicht aktiviert ist, kann man trotzdem über das Kontextmenü eines Links den Link in einem separaten Browserfenster im Privaten Modus öffnen oder über das Datei Menü bzw. Privates Fenster Icon ein neues Browserfenster mit Privatem Modus öffnen.

Wählt man benutzerdefinierte Einstellungen, sollte man:

  • die Chronik (ausgewählte oder alle Datentypen) spätestens dann löschen lassen, wenn Firefox geschlossen wird – besser, wenn das während der Browser-Sitzung oder Schließen eines Tab-Fensters geschieht
  • beachten, dass bei aktivierter Leerung des Cache nur noch der RAM und kein lokaler Zwischenspeicher von Firefox verwendet wird
  • Anlage, Zugriff und Nutzung der Datentypen zusätzlich mit Datenschutz-Erweiterungen und Datenschutz-Einstellungen regulieren
  • ein gutes Cookie-Management betreiben
Einstellungsname Wert Anmerkungen
browser.sessionstore.cleanup.forget_closed_after 3000 geschlossene Browser- und Tab-Fenster werden nach drei Sekunden statt nach zwei Wochen aus dem Sitzungs-Speicher (zur Sizungs-Wiederherstellung) entfernt. Die Entfernung wird einmal am Tag durchgeführt, aber nur, wenn Firefox ermittelt, dass sich Computer/Browser seit einigen Minuten im Leerlaufzustand befinden
browser.sessionhistory.max_entries
browser.sessionhistory.max_total_viewers
browser.sessionstore.max_serialize_back
browser.sessionstore.max_serialize_forward
3
0
3
3
3: per Tab werden nur die Adressen der beiden vorher aufgerufenen und der aktuell angezeigten Website als Tab-Historie im Sitzungsspeicher und in der Tab-Liste des Zurück-/vorwärts-Buttons zwischengespeichert

0: für die Dauer der Browsersitzung werden im Arbeitsspeicher überhaupt keine Webseiten zwischengespeichert, was auch bedeutet, dass sie beim erneuten Laden wieder komplett geparst werden müssen
browser.sessionstore.privacy level 2 sofern die Sitzungswiederherstellung verwendet wird, werden besondere Sitzungsdaten (u. a. Formularinhalte, Cookies) für keine Websites gesichert
places.history.enabled
places.history.expiration.max_pages
false
0
URIs besuchter Websites werden nicht in der Chronik gespeichert

Nach Auswertung des Werts der zweiten Einstellung (0), die manuell mit Integer-Typ angelegt werden muss, setzt Firefox den gleichen Wert für die places.history.expiration.transient_current_max_pages Einstellung ein, die die maximale Anzahl eindeutiger URIs angibt, die zwischengespeichert werden können. Ist die zweite Einstellung nicht gesetzt oder mit einem negativen Wert versehen, kalkuliert Firefox das Maximum anhand des verfügbaren Arbeitsspeichers und Speicherplatzes auf dem Datenträger
privacy.clearOnShutdown.*
privacy.cpd.*
privacy.item.*
true jenseits der grafischen Einstellungen zum Datenschutz und der Chronik sollten die Optionen daraufhin überprüft werden, ob für alle relevanten Daten der Wert tatsächlich auf true steht, um sie löschen zu lassen

Richtlinie: Cookies, DisableFormHistory, SanitizeOnShutdown

Schnelles Leeren der Chronik

Für das akute Leeren der Chronik kann man zwei Methoden mit zwei Icons verwenden, die man über das Anpassen Menü in die Symbolleiste zieht:

Vergessen Icon, auch „Panik Button“ genannt – nach Anklicken des Icon, (einmaliger) Auswahl der Zeitspanne und Anklicken des Löschen Buttons wird die Chronik komplett geleert, alle Tab-Unterfenster und das Hauptfenster geschlossen und danach ein neues Hauptfenster geöffnet
Chronik Icon – nach Anklicken des Icon wählt man Neueste Chronik löschen, wählt (einmalig) die Zeitspanne, über Details die zu löschenden Bestandteile und bestätigt mit dem Jetzt löschen Button zum selektiven Leeren der Chronik

Berechtigungen

Berechtigungen für Websites und mit ihnen einhergehende Daten fließen ebenfalls in die Chronik ein und können mit ihr nach Sitzungsende gelöscht werden. In den Datenschutz & Sicherheit Einstellungen kann man folgende Berechtigungen generell allen Websites entziehen, indem nach Anklicken des jeweiligen Einstellungen Button die [X] Neue Anfragen für den Zugriff auf Standort, Kamera, Mikrofon blockieren und [X] Neue Anfragen zum Anzeigen von Benachrichtigungen blockieren Optionen aktiviert.

  • Standort
    Übermittlung des eigenen Standorts per Geo-Lokalisierung mittels IP-Adresse, WLAN Access Point Informationen und Google Location Service
  • Kamera
    Aktivierung und Verwendung von Webcams
  • Mikrofon
    Aktivierung und Verwendung von Mikrofonen
  • Benachrichtigungen
    Push-Benachrichtigungen, die Webserver per Service Worker „Proxy“ Javaskripten, die Firefox im Hintergrund ausführt und Push API als Pop-up Fenster auf den Desktop des Benutzers senden können

Richtlinie: Permissions

Einstellungsname Wert Anmerkungen
browser.search.geoip.url
browser.search.geoip.timeout
browser.search.geoSpecificDefaults (anlegen)
browser.search.geoSpecificDefaults.url (anlegen)
leer
1
false
leer
zur Ermittlung des Landes und der Bestimmung der Standard-Suchmaschinen (siehe "US-Browser") für US-Nutzer werden Geolokalisierungsanfragen an den location.services.mozilla.com Server gesendet

Mit den gesetzten Werten wird die URL entfernt und ein so geringer Timeout gesetzt, dass keine Anfragen stattfinden oder ins Leere laufen.
dom.IntersectionObserver.enabled false deaktiviert die Nutzung der Intersection Observer API, mit der u. a. das verzögerte Laden von Bildern und Inhalten während des Scollens, unendliches Scrollen ("infinite scrolling") von Webseiten bzw. Nachladen weiterer Inhalte, Ermittlung der Sichtbarkeit von Anzeigen zur Berechnung der Werbeeinnahmen und das Anstoßen von Aktionen und Animationen abhängig von der Sichtbarkeit von Inhalten realisiert werden
dom.push.enabled
dom.push.connection.enabled
dom.push.serverURL
false
false
leer
siehe Benachrichtigungen Berechtigung
dom.webnotifications.enabled
dom.webnotifications.serviceworker.enabled
false
false
schaltet die API für Web-Benachrichtigungen ab, über die Webserver z. B. Pop-up Benachrichtigungsfenster auf dem Desktop des Benutzers anzeigen und einblenden können. Im Gegensatz zu Push-Benachrichtigungen muss die benachrichtigende Webseite im Browser geöffnet sein und bleiben.
dom.webnotifications.requireuserinteraction true ist die API für Web-Benachrichtigungen aktiviert, erfolgt eine Berechtigungsanfrage erst, wenn der Benutzer mit der Webseite interagiert hat
geo.enabled
geo.provider.testing (anlegen)
geo.wifi.uri
geo.wifi.xhr.timeout
false
false
leer
1
deaktiviert die ungefähre Geo-Lokalisierung mittels IP-Adresse / WLAN Access Point Informationen per Google Location Service
media.getusermedia.browser.enabled
media.getusermedia.audiocapture.enabled
media.getusermedia.screensharing.enabled
false
false
false
deaktiviert Funktionen zum Teilen bzw. zur bidirektionalen Übertragung von Bildschirm- und Fensterinhalten in Echtzeit per WebRTC
media.navigator.enabled
media.navigator.*.enabled
media.peerconnection.default_iceservers
media.peerconnection.enabled
media.peerconnection.ice.default_address_only
media.peerconnection.ice.force_interface
media.peerconnection.ice.no_host
media.peerconnection.ice.proxy_only
media.peerconnection.identity.enabled
media.peerconnection.identity.timeout
media.peerconnection.simulcast
media.peerconnection.turn.disable
media.peerconnection.use_document_iceservers
media.peerconnection.*.enabled
media.peerconnection.*.disable
false
false
[]
false
true
nnnn
true
true
false
1
false
true
false
false
true
deaktiviert die Verwendung der MediaStream und PeerConnection Javascript APIs zur Nutzung von WebRTC für P2P Audio-/Video-Streaming, Datenaustausch und damit Zugriff auf angeschlossene Mikrofone und Webkameras

Siehe auch STUN IP Address requests for WebRTC, MozillaWiki: Media/WebRTC/Privacy

Das Setzen von Standard-Einstellungen für Berechtigungen ist nicht möglich, weil Mozilla die Funktionen dafür entfernt hat. Der gesamte Berechtigungskomplex wurde von Mozilla inkonsistent, lückenhaft, intransparent und redundant gestaltet.

Spezifische Berechtigungen für einzelne Websites können im Berechtigungen Tab eingestellt werden, nachdem der Seiteninformationen Button im Adresseingabefeld anklickt wurde. Im Berechtigungen Tab sind folgende Berechtigungen aufgeführt, die teilweise bereits in Kategorien der Datenschutz & Sicherheit Einstellungen reguliert werden (z. B. Pop-up Fenster):

  • Auf Standort zugreifen → siehe Standort oben
  • Canvas-Daten abfragen (mit privacy.resistFingerprinting) → siehe CanvasBlocker
  • Add-ons installieren → siehe Warnen, wenn Websites versuchen, Addons zu installieren
  • Grafiken (Bilddateien) laden
  • Offline Speicher anlegen (und auslesen) → Websitedaten
  • Öffnen von Popup-Fenstern → siehe Pop-up Fenster blockieren unten
  • Tastenkombinationen überschreiben
  • Benachrichtigungen empfangen → siehe Benachrichtigungen oben
  • Cookies setzen (und auslesen) → Cookies
  • Auf Bildschirm zugreifen (Bildschirm übertragen, Screen Sharing)
  • Daten im dauerhaften Speicher speichern → siehe Websitedaten
  • Zu diesem Tab wechseln
  • Kamera verwenden → siehe Kamera oben
  • Mikrofon verwenden → siehe Mikrofon oben

Außer Grafiken laden sollten alle Berechtigungen so restriktiv wie möglich vergeben werden: Blockieren → Immer fragen / Für Sitzung erlauben → Erlauben.

[X] Automatische Wiedergabe von Audio-Inhalten verhindern

Ja, schön. Zusätzlich setzt man besser zur „Autoplay“ Deaktivierung folgende Einstellungen:

media.allowed-to-play.enabled
media.autoplay.allow-extension-background-pages
media.autoplay.allow-muted
media.autoplay.block-event.enabled
media.autoplay.block-webaudio
media.autoplay.default
media.autoplay.enabled.user-gestures-needed
media.block-autoplay-until-in-foreground
false
false
false
false
true
1
false
true
das automatische Abspielen von Audio- und Videoinhalten wird generell deaktiviert

[X] Pop-up Fenster blockieren

ist per Standardeinstellung aktiviert und sollte auch aktiviert bleiben. Die Hostnamen der wenigen Websites, die Pop-up Fenster verwenden, können über den Ausnahme Button aufgenommen werden.

Einstellungsname Wert Anmerkungen
dom.disable_open_during_load true entspricht „Pop-up Fenster blockieren“ bzw. aktivierter PopupBlocking Richtlinie
dom.popup_allowed_events click beschränkt die Erlaubnis, Popup-Fenster per JavaScript Events zu öffnen, auf das aktive Anklicken von Links
dom.popup_maximum 1 beschränkt die Anzahl von Popup-Fenstern, die nicht durch das aktive Anklicken von Links ausgelöst wurden
privacy.popups.maxReported 1 nach einen geöffneten bzw. zugelassenem Popup-Fenster werden weitere Popup-Fenster einer Website stillschweigend blockiert
privacy.popups.disable_from_plugins 3 die Initialisierung von Popup-Fenster durch Plugins wird generell blockiert.

Richtlinie: PopupBlocking

[x] Warnen, wenn Websites versuchen, Addons zu installieren

sollte aktiviert sein, um eine Warnmeldung zu erhalten, wenn eine Website versucht, eine Erweiterung ohne Zustimmung des Benutzers zu installieren. Die Aktivierung verhindert jedoch nicht, dass u. U. trotzdem WebExtensions und Plugins über andere Anwendungen oder Funktionen des Betriebssystemherstellers ohne Nachfrage im Hintergrund installiert werden können. Deshalb sollte die Liste der installierten Erweiterungen und Plugins über den Add-ons Menüeintrag (about:addons) kontrolliert werden.

Über den Ausnahmen Button können die Hostnamen der Websites eingetragen werden, denen die Installation von Addons erlaubt sein soll. Man kann die Ausnahme-Liste leer halten oder auf die https://addons.mozilla.org URL beschränken.

Richtlinie: InstallAddonsPermission

[X] Externen Anwendungen den Zugriff auf Dienste für Barrierefreiheit in Firefox verweigern

Einstellungsname Wert Anmerkungen
accessibility.force_disabled 1 deaktiviert Funktionen für barrierefreies Arbeiten am Computer (a11y).

Datenerhebung durch Firefox und deren Verwendung

[ ] Firefox erlauben, Daten zu technischen Details und Interaktionen an Mozilla zu senden
[ ] Firefox das Installieren und Durchführen von Studien erlauben
[ ] Personalisierte Erweiterungsempfehlungen durch Firefox
[ ] Nicht gesendete Absturzberichte automatisch von Firefox senden lassen

Telemetrie

Mit den Telemetrie- und Absturzmelde-Funktionen werden Daten über Konfiguration und Nutzung des Browsers, den Betriebssystem-Kontext – das, was ein eindeutiges Browserprofil ausmacht – erhoben und an Mozilla gesendet. Bei aktivierter Telemetrie und aktivierten Experiment-Einstellungen können Telemetrie-Experimente über Experiment-Erweiterungen ausgeführt werden, die von einem Mozilla Experiment-Server in den Browser installiert werden. Die Erweiterungen haben ebenfalls Zugriff auf die Telemetrie Daten und Infrastruktur.

Eine verdecktere Form ist die Datenerhebung bezeichnet Mozilla als Hybrid Content Telemetrie. Mozilla definiert Hybrid Content Telemetrie als „Webinhalt, der als Bestandteil von Firefox geladen wird, als Bestandteil von Firefox für den Benutzer in Erscheinung tritt und primär zur Nutzung in Firefox bestimmt ist. Das kann entweder eine Webseite sein, die mit Firefox installiert oder dynamisch von gehosteten Mozilla-Diensten geladen wird. Hybrid Content Telemetry erlaubt Mozilla Webseiten zu überprüfen, ob die Telemetrie Datenerhebung aktiviert ist und Telemetrie-Daten zu versenden.“ Der einzige Bestandteil von Firefox, der bis jetzt die Hybrid Content Telemetrie Berechtigung besitzt und anwendet, ist das Vorschlagen empfohlener Erweiterungen und Funktionen.

Mit Eingabe von about:telemetry, about:crashes und about:support im Adresseingabefeld kann man mit aktivierten Funktionen die Daten einsehen. Die Experiment-Erweiterungen werden wie andere Erweiterungen auch im Add-on Manager unter Experimente aufgeführt.

Richtlinie: DisableTelemetry

Shield-Studien

Außerdem führt Mozilla im Rahmen des Shield Programms sogenannte Shield-Studien aus, mit denen Benutzer zur „Test-Plattform“ werden, die für Mozilla geplante/experimentelle, neue oder bereits existierende „Features“, „Ideen“ und Funktionen zur Datenübermittlung testen, mit der auch in die Konfiguration und Funktionsweise des Browsers eingegriffen wird.

Die Studien werden über Skripte, eingebettet in WebExtensions oder die Shield System-Erweiterung implementiert. Die Shield Erweiterung lädt von Normandy Servern Rezepte, die mögliche Studien enthalten. Bei Aktivierung einer Studie werden danach von Normandy Servern Aktionen heruntergeladen, die von Firefox umgesetzt bzw. ausgeführt werden. Im Rahmen der Aktivierung und Teilnahme an Shield-Studien werden von den Shield Erweiterungen ebenfalls Daten erhoben, von Normandy Servern eingesammelt und an die Telemetrie-Server übermittelt. Weitere Daten können zusätzlich über die Normandy Driver API bzw. den "Normandy-Treiber" erhoben, übermittelt und lokal gespeichert werden. Allgemein wird der „Normandy-Treiber“ als Objekt beschrieben, das allen Aktionen beigefügt wird, wenn sie erstellt werden und Methoden und Attribute bereitstellt, um Operationen auszuführen, die mehr Privilegien benötigen, als JavaScript normalerweise zugebilligt wird.

Studien können offen mit Opt-in Genehmigung oder verdeckt als Opt-out installiert und ausgeführt werden, je nachdem, wie groß die Eingriffstiefe in die Mozilla Datenschutz-Richtlinien ist. Mit Eingabe von about:studies im Adresseingabefeld kann man Informationen zu Shield einsehen. Nach Beendigung von Studien wird der Code der Aktionen entfernt und Änderungen wieder rückgängig gemacht.

Richtlinie: DisableFirefoxStudies

Siehe auch: CVE-2018-12369: WebExtension security permission checks bypassed by embedded experiments (Bug 1454909).

Marionette & geckodriver

Siehe vorab Marionette Protokoll und geckodriver (WebDriver) bzw. SeleniumHQ, die der Fernsteuerung und Automatisierung des Browser dienen können. Firefox muss mit Marionette und geckodriver Unterstützung kompiliert sein und Firefox entweder mit -marionette gestartet oder die MOZ_MARIONETTE Umgebungsvariable gesetzt werden.

Die Archichtekturen und Daten dienen auch der Weiterentwicklung und Optimierung des Firefox Browsers. Wer also diese Zwecke unterstützen möchte, aktiviert die Optionen und Einstellungen zur Datenerhebung und -übermittlung. Andererseits erinnern die Funktionen der Mozilla Architekturen zur Datenerhebung, -übermittlung und -verwendung an die C&C Systeme GENIE/TURBINE der TURBULANCE Architektur der NSA und UKUSA 5-Eyes Geheimdienste – mit Datenschutz, Opt-in, Opt-out und „guten“ Absichten.

Einstellungen

In der Tabelle sind auch die Einstellungen aufgeführt, die über die Datenerhebung und -übermittlung an Mozilla hinaus zur Datenerhebung und -übermittlung an andere Server beitragen können.

Einstellungsname Wert Anmerkungen
app.normandy.enabled
app.normandy.user_id
app.normandy.api_url
app.shield.optoutstudies.enabled
false
leer
leer
false
siehe Shield-Studien
beacon.enabled false deaktiviert die navigator.sendBeacon Funktion, über die Websites den Browser per Javascript veranlassen können, vor dem Verlassen bzw. Entladen einer Webseite (ArrayBufferView, Blob, DOMString, FormData) Daten an den Webserver zu senden, die der „Analyse und Diagnose“ dienen. Siehe auch sendBeacon requests lack an Origin header.
breakpad.reportURL leer Breakpad Absturz-Berichte (falls aktiviert) können nicht mehr an einen Server gesendet werden. Wer Breakpad bzw. Absturz-Berichte komplett deaktivieren will, setzt die Umgebungsvariablen MOZ_CRASHREPORTER_DISABLE=1 und XRE_NO_WINDOWS_CRASH_DIALOG=1
browser.contentblocking.reportBreakage.url
browser.contentblocking.rejecttrackers.reportBreakage.enabled
leer
false
keine Berichte zu Problemen mit Websites wegen Safe Browsing und Tracking Protection
browser.engagement.recent_visited_origins.expiry 1 die Domainnamen (Anzahl/Namen?) der zuletzt besuchten Websites verfallen nach einer Sekunde
browser.ping-centre.production.endpoint
browser.ping-centre.staging.endpoint
browser.ping-centre.telemetry
leer
leer
false
deaktiviert die Anwendung des ping-centre Framework zur Datenerhebung und den Datenversand für Telemetrie und Activity Stream
browser.send_pings
browser.send_pings.max_per_link
browser.send_pings.require_same_host
false
0
true
deaktiviert das Senden von POST-Anfragen im Hintergrund zu zusätzlichen Servern, deren URLs im ping Attribut von Links zwecks Hyperlink auditing bzw. Click-Tracking untergebracht sind. Generell sind Pings mit true nicht zu zusätzlichen, fremden Servern möglich.
browser.slowStartup.notificationDisabled
browser.slowStartup.maxSamples
browser.slowStartup.samples
true
0
0
deaktiviert Kontextdaten, die zur Analyse eines verlangsamten Startvorgangs der Browsers erhoben werden und ggf. Eingang in zu übermittelnde Statusberichte finden
browser.tabs.crashReporting.sendReport
dom.ipc.plugins.reportCrashURL
false
false
es werden keine Absturz-Berichte versendet
datareporting.healthreport.documentServerURI
datareporting.healthreport.uploadEnabled
datareporting.policy.dataSubmissionEnabled
leer
false
false
deaktiviert die Datenübermittlung zum Status („Health“) Bericht an Mozilla
device.sensors.enabled
device.sensors.*.enabled
false
false
keine Erfassung und Auswertung von Sensordaten über Hardware/Geräte
dom.enable_performance
dom.enable_performance_navigation_timing
dom.enable_performance_observer
dom.enable_resource_timing
extensions.geckoProfiler.acceptedExtensionIds
false
false
false
false
leer
keine Zeitmessungen und Übermittlung ihrer Resultate (z. B. Dauer, bis eine Seite vollständig geladen ist) per Navigation Timing API, per Resource Timing API, bezogen auf alle Ressourcen, die in Webdokumenten enthalten sind bzw. per Performance API
dom.event.clipboardevents.enabled false keine Benachrichtigung der Website per Zwischenablage-API, wenn Inhalte über die Zwischenablage kopiert, eingefügt oder ausgeschnitten werden
dom.event.coalesce_mouse_move
dom.w3c_pointer_events.enabled
dom.w3c_touch_events.enabled
false
false
0
deaktiviert die PointerEvent Web-API und TouchEvent Web-API, über die Daten zur Hardware und die Handhabung/Verwendung von Mäusen, Touch-Feldern und Pens ausgewertet werden können
dom.webdriver.enabled
marionette.enabled
false
false
siehe Marionette & geckodriver
dom.workers.maxPerDomain
dom.serviceWorkers.enabled
1
false
keine Installation und kein Ausführen von Dienste-Javaskripten im Hintergrund, über die u. a. im Hintergrund clientseitige Javaskript „Proxys“ eingerichtet oder Push-Daten von Webservern empfangen werden können. Die Deaktivierung der (ausgelagerten) Ausführung (lastiger) Javaskripte im Hintergrund mit dom.workers.enabled=false wurde mit Firefox 60 deaktiviert und kann nur noch nach Anzahl pro Domain begrenzt werden.
extensions.getAddons.cache.enabled false keine Übermittlung und Anzeige von Metadaten zu Erweiterungen über addons.mozilla.org.
network.captive-portal-service.enabled
captivedetect.canonicalURL
captivedetect.maxRetryCount
captivedetect.maxWaitingTime
captivedetect.pollingTime
false
leer
0
0
0
deaktiviert den Captive Portal Dienst für WLAN-Hotspots

Richtlinie: CaptivePortal
network.traffic_analyzer.enabled false „Telemetry of traffic categories“
security.certerrors.recordEventTelemetry false keine Datenübermittlung zur Art und Weise, wie man mit Zertifikat-Fehlermeldungen umgeht
security.identitypopup.recordEventElemetry false keine Datenübermittlung zur Art und Weise, wie man mit Popups der Website-Informationen (z. B. bzgl. Tracking-Protection/Content-Blocking) umgeht
security.ssl.errorReporting.enabled
security.ssl.errorReporting.url
false
leer
deaktiviert die Datenübermittlung an Mozilla Server zu Fehlern bei der Validierung von Zertifikaten
toolkit.telemetry.cachedClientID
toolkit.telemetry.enabled
toolkit.telemetry.*.enabled
toolkit.telemetry.server
toolkit.telemetry.unified
leer
false
false
leer
false
deaktiviert die Datenübermittlung zum Telemetrie-Bericht an Mozilla

Sicherheit

Schutz vor betrügerischen Inhalten und gefährlicher Software

[ ] Gefährliche und betrügerische Inhalte blockieren
[ ] Gefährliche Downloads blockieren
[ ] Vor unerwünschter und ungewöhnlicher Software warnen

Die Schutzwirkung der Anti-Phishing und -Malware Funktionen ist ähnlich wie bei Einsatz eines Virenscanners auf bekannte bösartige Quellen beschränkt und schützt nicht vor aktuellen und neuen Quellen, die noch nicht in die Datenbank aufgenommen wurden. Für den Abgleich von URLs und Dateien verwendet Firefox Datenbanken, die von Google heruntergeladen und regelmäßig aktualsiert werden. Es ist zu beachten, dass bei Nutzung der Safe Browsing Funktionen für jeden Browser eine gleichbleibende Kennung erzeugt wird, die bei jedem Aktualisierungsvorgang an die Google Server übertragen wird und nach dem Aufruf einer bekannten bösartigen Website ein Hashwert der URL an den Google Server gesendet wird, um zu überprüfen, ob der Eintrag in der Datenbank noch aktuell ist.

Die Safe Browsing Funktionen wurden um Download Protection (Application Reputation) Prüfprozeduren erweitert, für die es keine grafischen Deaktivierungsoptionen gibt. Werden auszuführende Binärdateien heruntergeladen, ermittelt Firefox einige Metadaten zur Datei, wie Referer-, Zielserver- und Weiterleitungs-URLs, die SHA-256 Prüfsumme der Datei, Dateiname und -größe. Unter Windows kommen noch Informationen über das Zertifikat hinzu, mit dem die Datei ggf. signiert wurde. Die Metadaten werden mit den Einträgen in einer White- und Blacklist Datenbankdatei abgeglichen, um festzustellen, ob es sich um bekannte Malware, „gutartige“ Software oder unbekannte Software handelt. Beide Datenbankdateien werden ebenfalls vom Lieferanten Google heruntergeladen und lokal genutzt. Unter Windows werden zusätzliche Prüf-Abfragen direkt an Google übermittelt, wenn die lokale Überprüfung ergibt, dass es sich bei der Datei um unbekannte oder nicht bzw. falsch signierte Software handelt. Dabei werden neben der eigenen IP-Adresse auch die oben aufgeführten Metadaten übermittelt.

Deaktivierung

Einstellungsname Wert
browser.safebrowsing.blockedURIs.enabled false
browser.safebrowsing.downloads.enabled false
browser.safebrowsing.downloads.remote.enabled false
browser.safebrowsing.downloads.remote.timeout_ms 1
browser.safebrowsing.downloads.remote.url leer
browser.safebrowsing.malware.enabled false
browser.safebrowsing.phishing.enabled false
browser.safebrowsing.provider.google* leer

Zertifikate

Wenn eine Website nach dem persönlichen Sicherheitszertifikat verlangt
( ) Automatisch eins wählen
(X) Jedes Mal fragen

Bei verschlüsselten TLS Verbindungen wird immer die Identität des Webservers mit dem Webserver-Zertifikat und den Zertifikaten der beteiligten Zertifizierungsinstanzen überprüft. Das geht auch in die andere Richtung, wenn der Webserver ein Benutzer-Zertifikat („persönliches Sicherheitszertifikat“) verlangt oder anfordert.

Ist man im Besitz eines Benutzer-Zertifikats, das ggf. Angaben zur realen Identität (Name, Adresse usw.) enthält und die erste Option ist aktiviert, kann das Benutzer-Zertifikat u. U. nach Anfoderung auch zu einem Webserver im Hintergund übertragen werden, für den das Benutzer-Zertifikat nicht bestimmt ist. Ist man nicht im Besitz eines Benutzer-Zertifikats und die erste Option ist aktiviert, kann Firefox u. U. nach Anforderung automatisch ein Benutzer-Zertifikat im Hintergrund erstellen und zum Webserver übertragen, das eventuell Angaben enthält, mit dem der Browser bzw. Benutzer eindeutig wiederidentifiziert werden kann. Beide Möglichkeiten bergen die Gefahr in sich, dass man trotz Nutzung eines Anondienstes identifiziert und ohne Anondienst noch effektiver identifiziert werden könnte. Deshalb ist immer die zweite Option zu aktivieren. Siehe auch TLS 1.2: Client-Zertifikate als Tracking-Falle.

Muss die erste Option genutzt werden, sollte ein gesondertes Profil für den oder die betroffenen Webserver eingerichtet und mit Firefox gestartet werden.

[ ] Aktuelle Gültigkeit von Zertifikaten durch Anfrage bei OSCP-Server bestätigen lassen

OSCP ist kritisch zu bewerten: mögliches Tracking/Profiling beim OCSP-Responder, falsch konfigurierte OCSP-Responder, http vs. https OCSP URLs oder überhaupt keine OSCP URLs in Server-Zertitikaten, Angriffe gegen OCSP bzw. Auswirkungen auf OSCP bei gefälschten Zertifizierungsstellen und Zertifikaten, MITM, Manipulation der OSCP-Antworten bei unverschlüsselten OSCP-Anfragen über nicht vertrauenswürdige Tor Ausgangs-Knoten usw. Damit bietet OSCP allenfalls eine Pseudo-Sicherheit – siehe u. a. No, don't enable revocation checking – und sollte deshalb deaktiviert werden.

Verschlüsselung

Die Version 3.0 des SSL (Secure Sockets Layer) Protokolls wurde 1996 veröffentlicht und ist der um Sicherheitsmängel bereinigte Nachfolger der Version 2.0 des SSL Protokolls aus dem Jahr 1995. 1999 folgte das von der IETF standardisierte TLS (Transport Layer Security) Protokoll in Version 1.0, die auf SSL 3.0 basiert. Aufgrund der Ähnlichkeiten und gemeinsamen Funktionen wird TLS 1.0 auch als „SSL 3.1“ bezeichnet. Seit 1999 wurde das TLS Protokoll um weitere Funktionen, Erweiterungen, Schutzmechanismen gegen Angriffe, kryptografische Algorithmen und Verfahren ergänzt und liegt zum Zeitpunkt des Artikels in Version 1.3 vor.

Weitere Informationen zum SSL und TLS Protokoll bieten der Transport Layer Security Artikel in der englischsprachigen Wikipedia, die TLS RFCs der IETF und die Einführung in SSL von Markus Repges. Einen Eindruck, welche TLS-Protokolle, TLS Cipher-Suites mit Forward Secrecy und weiteren Sicherheitsmerkmale bei Webservern verbreitet sind, bietet das SSL-Pulse Dashboard von Qualys.

Für die Auswahl der TLS Protokollversion seitens Firefox sind zwei Einstellungen in der erweiterten Konfiguration maßgeblich:

  • security.tls.version.max
  • security.tls.version.min

Für beide Einstellungen kann der Wert 4= TLS 1.3, 3 = TLS 1.2, 2 = TLS 1.1, 1 = TLS 1.0 oder 0 = SSL 3.0 gesetzt werden, um einen Bereich der anzuwendenden Protokollversionen zu definieren. Firefox versucht dann, eine TLS verschlüsselte Verbindung mit dem Webserver über die maximal geforderte Protokollversion aufzubauen und weicht innerhalb des Bereichs bis zur minimal unterstützten Protokollversion aus, wenn der Webserver die höherwertigen Protokollversionen nicht unterstützt oder korrekt implementiert.

Für eine optimale Auswahl:

Einstellungsname Wert Protokoll
security.tls.version.max 4 TLS 1.3
security.tls.version.min 4 TLS 1.3

Mit Fallback bis TLS 1.2:

Einstellungsname Wert Protokoll
security.tls.version.max 4 TLS 1.3
security.tls.version.min 3 TLS 1.2

Mit den Fallback-Einstellungen sind „gefühlt“ 99% aller Verbindungen erfolgreich. Für die restlichen 1% setzt man fallweise security.tls.version.min auf 1 (Bookmark: about:config?filter=security.tls.version.min).

TLS-Konfiguration des Browsers testen:

TLS-Konfiguration von Webservern testen:

Wie sich das Mozilla OpSec Team die serverseitige TLS-Konfiguration für alle Mozilla Websites vorstellt, ist auf der Security/Server Side TLS Seite im Mozilla Wiki nachzulesen. Empfehlungen enthält auch der Applied Crypto Hardening Guide von BetterCrypto.

Beispiel der DCSec Ausgabe

Beispiel der Qualys Ausgabe


Im Beispiel wurden in der erweiterten Konfiguration über about:config?filter=security.ssl3 die Cipher-Suites so gesetzt, dass nur ECDHE/DHE Forward Secrecy Verfahren aktiviert sind. Da nicht alle Webserver auf die Cipher-Suites eingestellt sind, muss man fallweise deaktvierte Cipher-Suites aktivieren – wenn es unbedingt nötig ist.

Wird in die Konfiguration zur Auswahl der Cipher-Suites eingegriffen, sollte man beachten, dass der Eingriff das Browser-Fingerprinting über die Analyse des TLS Handshakes begünstigt.

Bei Nutzung eines Anondienstes mit Firefox sollte man TLS verschlüsselte Verbindungen (mit Überprüfung des Webserver-Zertifikats) bevorzugen, sofern der Webserver bzw. in Anspruch genommene Internetdienst TLS Verschlüsselung ermöglicht. Bei unverschlüsselten Verbindungen ist es dem letzten Knoten des jeweiligen Anondienstes potentiell möglich, übertragene Daten abzufangen und als Angreifer einen Man-in-the-middle-Angriff (MITM) zu unternehmen oder Inhalte vor der Zurückleitung zu manipulieren. Das trifft genauso auf die Nutzung von Firefox ohne Anondienst zu.

Weitere, auf TLS bzw. Verschlüsselung bezogene Einstellungen in der erweiterten Konfiguration finden sich in der folgenden Tabelle. Daneben sind auf der NSS environment variables Seite Umgebungsvariablen aufgeführt, mit denen man auf die Funktionen der NSS (Network Security Services) Krypto-Bibliotheken zur Laufzeit und für ihre Kompilierung einwirken kann.

Einstellungsname Wert Anmerkungen
browser.ssl_override_behavior
browser.xul.error_pages.expert_bad_cert
2
true
bei Websites, bei denen Firefox problematische bzw. fehlerhafte Zertifikate annimmt (z. B. auch, weil sie nur selbstsignierte Zertifikate verwendet), wird das Zertifikat mit 2 (statt 1) als Wert trotzdem vorausgeladen. Mit true für die zweite Option werden bei entsprechenden Zertifikaten zusätzliche Informationen angezeigt und Benutzer explizit aufgefordert, das Zertifikat ausnahmsweise dauerhaft oder temporär zu akzeptieren.
browser.urlbar.trimURLs false im Adresseingaebfeld wird in der URL immer auch das Protokoll (http(s)://) angezeigt
network.http.altsvc.enabled
network.http.altsvc.oe
false
false
deaktiviert HTTP Alternative Services und die Verwendung von Alternative Services für Opportunistic Security for HTTP/2

Siehe auch Isolate/Disable HTTP Alternative-Services, Isolate AlternateService mappings by Origin Attributes, Re-enable Alternate Services, Alternative (ab)uses for HTTP Alternative Services
network.http.spdy.allow-push
network.http.spdy.coalesce-hostnames
network.http.spdy.enabled
network.http.spdy.enabled.deps
network.http.spdy.enabled.http2
network.http.spdy.websockets
false
false
false
false
false
false
deaktiviert das SPDY bzw. HTTP/2 Protokoll
network.security.esni.enabled mit true würde das Server Name Indication (SNI) Feld bei TLS 1.3 Anfragen zu einer bestimmten Domain, die mit mehreren anderen Domains auf einem Server gehostet wird, per ESNI verschlüsselt zum Webserver übertragen und nicht unverschlüsselt wie bisher. Allerdings hat Mozilla ESNI (aktuell) fest an die Aktivierung des internen DoH über Cloudflare gebunden, was in Please allow regular ESNI (without DoH) zu Recht kritisiert wird. Sie auch ESNI: A Privacy-Protecting Upgrade to HTTP
security.cert_pinning.enforcement_level 2 bestimmt, wie streng die Überprüfung von Zertifikaten per HTTP Public Key Pinning (HPKP) ausfällt.

0: PKP deaktiviert
1: „benutzerdefiniertes MITM“ erlaubt (PKP wird bei CA-Zertifikaten, die vom Benutzer importiert wurden, nicht angewendet)
2. PKP wird immer angewendet
security.certerrors.mitm.auto_enable_enterprise_roots
security.certerrors.mitm.priming.enabled
security.certerrors.mitm.priming.endpoint
security.enterprise_roots.enabled
false
false
leer
false
deaktiviert die automatische Akzeptanz und Verwendung von Root-CA Zertifikaten, die nicht im Firefox Zertifikatsspeicher gespeichert sind, sondern im Zertifikatsspeicher des Betriebssystems oder durch Dritt-Parteien wie z. B. Antivirus- oder Malware-Programme hinzugefügt wurden und in die TLS-Verschlüsselung zwischen Browser und Webserver eingreifen (MITM). Siehe auch How to Disable the Enterprise Roots Preference

Richtlinie: Certificates
security.certerrors.permanentOverride false selbtsignierte Zertifikate oder Zertifikate ohne Signaturen bekannter Root-CAs können nur temporär und nicht dauerhaft als Ausnahme akzeptiert werden
security.insecure_connection_icon.enabled true das Vorhängeschloss-Icon vor dem Adresseingabefeld wird bei unverschlüsselten HTTP-Verbindungen zu Servern schwarz eingefärbt und rot durchgestrichen dargestellt.
security.pki.cert_short_lifetime_in_days n falls OCSP genutzt wird, werden OSCP Prüfungen auch bei Zertifikaten mit kleinem Gültigkeitszeitraum bzw. Gültigkeitszeitraum < n Tagen durchgeführt
security.pki.name_matching_mode 3 für den Abgleich des Hostnamens der aufgerufenen URI mit Informationen im TLS-Zertifikat wird statt des Common Name (CN) Felds nur das Subject Alternative Name (SAN) Feld ausgewertet, in dem neben dem spezifischen Hoastnamen weitere (Wildcard-)Domainnamen oder IP-Adressen aufgeführt sein können, für die das Zertifikat gültig ist
security.pki.sha1_enforcement_level 1 mit 1 werden TLS-Zertifikate, die mittels SHA-1 signiert wurden, abgelehnt bzw. erscheint eine Warnung, mit 0 werden sie immer akzeptiert und mit 3 werden sie akzeptiert, wenn sie von Root-CAs signiert wurden, deren Zertifikat importiert wurde
security.remember_cert_checkbox_default_setting false sofern man persönliche Benutzer-Zertifikate nach Anforderung des Webservers (s. o. „Sicherheit“) nutzt, werden die generierten Daten nicht auf Dauer gespeichert, d. h. Benutzer-Zertifikate werden immer erneut angefragt.
security.ssl3.* zu aktivierende (true) und deaktivierende (false) SSL/TLS Cipher-Suites zur Verschlüsselung
security.ssl.enable_false_start false siehe RFC7918 Transport Layer Security (TLS) False Start
security.ssl.require_safe_negotiation
security.ssl.treat_unsafe_negotiation_as_broken
true
true
2009 wurde in den SSL/TLS-Protokollen eine Sicherheitsschwäche in der Funktion zum Neuaushandeln verschlüsselter Sitzungen aufgedeckt, die es Angreifern erlaubt, Man-in-the-middle-Angriff (MITM) Angriffe auf eine bestehende verschlüsselte Verbindung zu unternehmen, um z. B. Daten in die Verbindung einzuschleusen oder aus der Verbindung abzugreifen. Mit RFC 5746 wurde die Schwachstelle behoben, aber von vielen Server-Betreibern (noch) nicht umgesetzt. Mit den Optionen wird die Verwendung von RFC 5746 zum sicheren Neuaushandeln verlangt. Weitere Information im Security:Renegotiation Artikel des MozillaWiki und TLS / SSLv3 renegotiation vulnerability explained von Thierry Zoller.
security.tls.enable_0rtt_data false siehe Security Review of TLS1.3 0-RTT, Playback: a TLS 1.3 story, SuperCooKey – A SuperCookie Built Into TLS 1.2 and 1.3

Richtlinie: DisableSecurityBypass

Mixed Content Blockierung

Mit der Mixed Content Blockierung wird verhindert, dass von einer Website, die TLS-verschlüsselt aufgerufen wurde, weitere aktive oder passive Inhalte geladen, ausgeführt oder angezeigt werden, wenn die Inhalte über nicht verschlüsselte Verbindungen bzw. Links (HTTPS/TLS) bezogen werden sollen. Damit sind gemischte Inhalte, d. h. verschlüsselt und unverschlüsselt übertragene Inhalte auf Websites, zu denen man sich mit TLS Verschlüsselung verbindet, zunächst kategorisch verboten, was das Mitlesen und Manipulieren durch unverschlüsselte Datenübertragungen und die Veränderung der Webseite an sich verhindert.

Einstellungsname Wert Anmerkungen
security.mixed_content.block_active_content true das Laden aktiver Inhalte (Skripte, Applets, Stylesheets) wird blockiert
security.mixed_content.block_object_subrequest true das Laden von Inhalten durch Plugins bzw. in Seiten eingebetteten Plugin-Code wird blockiert
security.mixed_content.block_display_content true das Laden passiver Inhalte (Bild- und Schriftdateien, iFrames) wird blockiert
security.mixed_content.upgrade_display_content true bevor das Laden passiver Inhalte blockiert wird, wird versucht, die passiven Inhalte über verschlüsselte Verbindungen (HTTPS/TLS) zu erhalten

Sync

Ein Firefox-Konto dient vor allem der Synchronisierung der Bookmarks, aller Daten der Chronik, geöffneter Fenster-Tabs, installierter Erweiterungen und Einstellungen zwischen mehreren Firefox Installationen auf verschiedenen Geräten (PCs, Smartphones usw.) über den den Firefox Sync-Dienst und -Server. Für die Nutzung wird Passwort, E-Mail Adresse und Alter angegeben, mit denen nach verschlüsselter Übertragung ein Konto auf dem Sync-Server eingerichtet wird. Wer den Sync-Dienst nicht nutzen will, sollte kein Firefox-Konto einrichten und die Sync-Schnittstellen deaktivieren.

Einstellungsname Wert Anmerkungen
identity.fxaccounts.*.uri
identity.fxaccounts.enabled
identity.fxaccounts.commands.enabled
identity.fxaccounts.pairing.enabled
identity.fxaccounts.remote.root
identity.fxaccounts.toolbar.enabled
identity.sync.tokenserver.uri
leer
false
false
false
leer
false
leer
deaktiviert Firefox-Konto und Sysnc-Dienst
webextensions.storage.sync.enabled
webextensions.storage.sync.serverURL
true
leer
leer
Einstellungen von WebExtensions und Daten, die sie produzieren, werden nicht auf Sync-Servern hochgeladen und gespeichert. Die erste Einstellung muss trotzdem auf true stehen, weil sonst einzelne WebExtensions nicht funktionieren.

Richtlinie: DisableFirefoxAccounts

WebExtensions

Mit Firefox 57 „Quantum“ wurde das System der „Legacy“ Add-ons auf WebExtensions bzw. Browser Extensions umgestellt. Bei WebExtensions fällt auf, dass für verschiedene Erweiterungen Einstellungen zwingend aktiviert sein müssen, die man zuvor mit dem alten Add-on System zur Absicherung und/oder Anonymisierung bedenkenlos deaktivieren konnte, was davon abhängt, wie umfangreich die WebExtension von verschiedenen APIs und Berechtigungen Gebrauch macht (siehe auch Berechtigungen für Websites). Dazu zählt:

  • dom.indexedDB.enabled
  • dom.storage.enabled


Die Berechtigungen aller WebExtensions kann man sich grafisch mit der Project Insight Erweiterung anzeigen und auflisten lassen oder manuell abrufen, indem man about:debugging in das Adresseingabefeld eingibt und auf der Add-on Seite die Manifest URL zu einer WebExtension aufruft.

Project Insight Ausgabe


Ausgabe per Manifest URL

Generell birgt jede Erweiterung das Potential in sich, die Sicherheit oder Anonymisierung der Browsernutzung beeinträchtigen zu können. Das trifft besonders auf Erweiterungen zu, die am Datentransport beteiligt sind oder Dienste und Funktionen nicht lokal bereitstellen, sondern von Dritt-Anbietern über das Internet nutzen. Deshalb sollte sich der Anwender bei jeder Erweiterung vor der Installation fragen, ob eine Erweiterung tatsächlich notwendig ist, die Anzahl der installierten Erweiterungen möglichst gering halten, sich über die Funktionsweise und neue Funktionen (nach Updates) der Erweiterungen informieren und für die zeitnahe Aktualisierung von Erweiterungen sorgen.

Einstellungsname Wert Anmerkungen
extensions.langpacks.signatures.required
xpinstall.signatures.required
true
true
WebExtensions und Sprachpaket-WebExtensions müssen signiert sein, um installiert werden zu können
extensions.webextensions.restrictedDomains
privacy.resistFingerprinting.block_mozAddonManager (anlegen)
leer
true
bewirkt, dass auf den (Mozilla) Websites der angegebenen Domainnamen alle WebExtensions aktiv werden können, was voraussetzt, dass man sich vergewissert hat, dass alle installierten WebExtensions vertrauenswürdig sind

Richtlinie: Extensions, ExtensionSettings, ExtensionUpdate

System-Erweiterungen

Im Rahmen des Go Faster Plans hat Mozilla sogenannte System Add-ons eingeführt. System Add-ons sind Erweiterungen, in die Features und Funktionen, die ansonsten fest in den Browser integriert wären, ausgelagert sind. Die Dateien der Erweiterungen (z. Z. Form Autofill, Pocket) werden mit der Installation im browser/features/ Unterverzeichnis im Firefox Programmverzeichnis gespeichert und bei jeder Neuinstallation bzw. einer Aktualisierung mitinstalliert. Die Erweiterungen werden im Add-on Manager nicht aufgeführt und können auch nicht wie normale Erweiterungen über einen Button aktiviert/deaktiviert werden.

Wer keine System-Erweiterungen nutzt oder installiert bekommen möchte, löscht die Erweiterungsdateien im Unterverzeichnis und entfernt Schreibberechtigungen auf das Unterverzeichnis.

Einstellungsname Wert Anmerkungen
devtools.aboutdebugging.showHiddenAddons true In der Liste der WebExtensions über about:debugging werden auch versteckte und System-Erweiterungen angezeigt
extensions.pocket.api
extensions.pocket.enabled
extensions.pocket.site
leer
false
leer
deaktiviert die Verwendung von Pocket
browser.pagethumbnails.capturing_disabled
extensions.screenshots.disabled
extensions.screenshots.upload-disabled
true
true
true
deaktiviert das "Screenshots Feature" und/oder den Upload von Screenshots auf Firefox Screenshots bei aktivierter Screenshots-Funktion
extensions.systemAddon.update.enabled
extensions.systemAddon.update.url
false
leer
keine Aktualisierungen von System Add-ons

Richtlinie: DisableFirefoxScreenshots, DisablePocket, DisableSystemAddonUpdate

Empfehlungslisten

(DE) Dringend empfohlen
(E) Empfohlen
(I) Informativ

Datenschutz & Sicherheit

Name Beschreibung Anmerkungen
Block Cloudflare MiTM Attack

Detect Cloudflare
fängt Anfragen zu Websites ab, die sich hinter Cloudflare verbergen. Per Einstellungen kann man festlegen, dass solche Anfragen sofort blockiert oder 1st-Party Anfragen automatisch an die Wayback Machine weitergeleitet werden oder eine Warnseite erscheint, auf der eine Website der Whitelist hinzugefügt werden kann. Zusätzlich können auch die Dienste von Incapsula, Google Project Shield und Sucuri blockiert werden.

Wer nur informiert werden möchte, ob eine Website Cloudflare nutzt, kann die Detect Cloudflare Erweiterung installieren.
(E) (I)

Zum Hintergrund siehe:
Block Global Active Adversary Cloudflare

A collaboration to deal with The Great Cloudwall (AKA Cloudflare)

Pinboard:Cloudflare

Cloudflare
Incapsula
Project Shield
Sucuri
CanvasBlocker blockiert bei aktiviertem Javascript die Nutzung der Canvas Javascript-API für Browserprofile und die Verfolgung von Besuchern per Canvas Fingerprinting (E)
Certainly Something zeigt in einem neuen Tab-Fenster die Details zu TLS-Zertifikaten (Host-, Intermediate- und Root-Zertifikate, verwendetes TLS-Protokoll und verwendete Cipher-Suite) nach Anklicken eines Icons in der Adresseingabezeile an (I)
ClearURLs entfernt Tracking-Parameter aus URLs aufgerufener Websites (E)
CSS Exfill Protection überprüft CSS vor dem Parsen und Laden durch den Browser auf bösartige Regeln, über die Daten an einen Angreifer ausgeschleust und übermittelt werden können, um deren Ausführung zu blockieren Zum Hintergrund siehe Stealing Data With CSS: Attack and Defense
Cookie Quick Manager Cookie-Manager und -Betrachter, der auch mit Cookies in mehreren Tab-Umgebungen und weiteren Cookie Erweiterungen klarkommt (E) (I)
Decentraleyes emuliert Content Delivery Networks (CDN), indem Ressourcen bekannter CDNs lokal gespeichert sind. Anfragen zu CDN-Ressourcen werden inspiziert und lokal vorhandene Ressourcen zur Darstellung von Inhalten verwendet, während die Anfragen nicht weitergeleitet werden. In den Optionen kann festgelegt werden, Anfragen zu (noch) nicht vorhandenen Ressourcen zu blockieren und bestimmte Domainnamen von der Inspektion auszunehmen. (E)
Elad Karako WebExtensions Repository von WebExtensions, die nicht auf Firefox Add-ons gehostet werden, aber von Mozilla signiert sind. Die (kleinen) Extensions widmen sich zumeist einer bestimmten Funktion, wie z. B. APIs zu deaktivieren oder unerwünschte Funktionen von Webseiten zu blockieren und können so zum Datenschutz und zur Absicherung, aber auch zum Fingerprinting beitragen (E)

Vor der Installation sollte man sich die Informationen zu jeder WebExtension durchlesen

Getestete Erweiterungen, die keine Einschränkungen mit sich bringen:
API-Killer-Beacon
API-Killer-GeoLocation
API-Killer-IndexedDB
API-Killer-WebAssembly
API-Killer-WebSocket
SPF-Killer
Enterprise Policy Generator mit der Erweiterung nimmt man grafisch in einem Tab über Anklick- und Eingabefelder Einstellungen für Richtlinien vor und lässt Richtlinien-Dateien erstellen, sichen, exportieren und importieren (DE)
HTTPS Everywhere sorgt per URL Umschreibung und Umleitung dafür, dass bei Webservern, die TLS Verschlüsselung anbieten, die TLS Verschlüsselung auch für möglichst alle Anfragen und Antworten verwendet wird ( http:// → https://). (DE)

HTTPS Everywhere Regelsätze
Permission Inspector oder
Project Insight
zeigen auf einer Übersichtseite für alle WebExtensions an, welche Berechtigungen und Zugangsberechtigungen zu externen Domains im Manifest einer WebExtension definiert sind (I)
PinPatrol gibt in lesefreundlicher Tabelle die Inhalte und Daten zu HSTS und HPKP Einträgen in der SiteSecurityServiceState Datei aus (I)

PinPatrol Homepage
Site Bleacher entfernt automatisch alle Daten (Cookies, Storage-Zwischenspeicher, IndexedDB, Service Worker usw.) einer Website, nachdem das Tab-Fenster, in dem die Website läuft, geschlossen wurde. Mit Whitelistfunktion für auszunehmende Websites (E)

GitHub
Skip Redirect versucht, die letztendliche URL aus Weiterleitungs-Links zu extrahieren und nach dem Anklicken der Links die letztendliche URL direkt aufzurufen, so dass die Website mit dem Weiterleitungs-Link nicht erfährt, welche Links angeklickt bzw. Website besucht werden soll. Ausnahmen können über Aufnahme von URL-Mustern in einer Blacklist definiert werden (E)
SwitchyOmega Proxy-Manager für das Management und schnelle Umschalten zwischen verschiedener Proxys mittels Wildcard-, RegEx- und Ausnahme-Regeln, um Websites den jeweiligen Proxys „zuzuteilen“. (E)

SwitchyOmega FAQ
Temporary Containers für das automatisierte Anlegen und Management von Tab-Umgebungen. Die WebExtension kann so eingerichtet werden, dass automatisch alle Links bzw. Ziel-Websites immer in neuen Tab-Umgebungen geöffnet werden, sobald sich die Domainnamen der Ziele von denen des geöffneten Tabs unterscheiden und Tab-Umgebungen automatisch verworfen werden, sobald das letzte Tab einer Tab-Umgebung geschlossen wurde. Statt kerkömmlicher können auch immer History-Delete Tab-Umgebungen verwendet werden, bei denen nach Schließen der Umgebung ihre Chronik gelöscht wird (DE)
uBlock Origin Filtert und blockiert Anfragen zu Servern, für die manuell oder über Filter-Abonnements Regeln eingestellt werden. Zusätzlich können noch ein paar datenschutzförderliche Firefox-Einstellungen gesetzt werden. (DE)

uBlock Wiki
Nano Defender (GitHub) Erweiterung, die Erkennung und Blockierung von uBlock Origin durch Websites aushebelt (E)

Für die Einrichtung nach der Installation der Erweiterung siehe Extra installation steps for uBlock Origin.
uMatrix Wendet Regeln auf erlaubte oder zu blockierende Daten-/Objekt-/Inhalts-Typen wie Cookies, CSS-Ressourcen (Stylesheets und Web-Fonts), Bilddateien, Plugins, Skripte, XHR-Anfragen, Frames und andere Objekte an. Die Festlegung der Berechtigungen bzw. Ausnahmen erfolgt nicht in Listenform, sondern über das Anklicken entsprechender Kategorie-Felder in einer einblendbaren Matrix. Kann gut mit weiteren Erweiterungen wie CanvasBlocker, uBlock usw. kombiniert werden. (DE)

uMatrix Wiki
WebSocket Detector erkennt aktive WebSocket Verbindungen und signalisiert sie über ein Icon im Adresseingabefeld (I)

Tools

Name Beschreibung
Auto Tab Discard per tabs.discard API werden Tabs nach verschiedenen Kriterien, die man in den Einstellungen der Erweiterungen auswählt, in einen „Schlafmodus“ versetzt bzw. ihre Inhalte aus dem Arbeitsspeicher entfernt und wieder hergestellt, sobald ein Tab wiedew aktiviert wird. Für Tabs, die sich nicht deaktivieren sollen, können Ausnahmen festgelegt werden.
Bookmarks Organizer überprüft, ob doppelte Bookmarks, Bookmarks ohne Namen oder Bookmarks mit nicht erreichbaren Links vorhanden sind und bietet die Möglichkeit, sie im Resultat direkt zu editieren oder zu löschen. Leider keine Optionen zur Pausierung der Überprüfung, Angabe von Verbindungs-Pausen und Ex- und Reimport von Zwischenständen.
Context Web Search nach Textauswahl auf Webseiten kann über das Kontextmenü die Suchmaschine aus einer Liste ausgewählt werden, mit der nach dem Text gesucht werden soll
Copy Plain Text entfernt Formatierungen vor dem Kopieren von Inhalten in die Zwischenablage
CustomCSSforFX keine WebExtension, sondern Ersatz für die Classic Theme Restorer (CTR) Erweiterung, die aufgrund fehlender WebExtension-API für Änderungen des Erscheinungsbilds nicht mit Firefox > 56 eingesetzt werden kann. Über einen Katalog von CSS-Dateien, die und deren Direktiven man aktivieren, deaktivieren und abändern kann, ist eine nahezu identische Manipulation der Oberfläche wie mit den CTR möglich
I don't care about cookies blockiert auf Webseiten die überflüssigen Warn- und „Opt-in“ Anzeigen zur Verwendung und Annahme von Cookies
Keep or Delete Bookmarks dient dem zwischenzeitlichen Aufräumen großer Bookmarksammlungen, indem sie zufällig Bookmarks auswählt und danach die Aktionen Behalten, Löschen, Webseite besuchen oder Überspringen anbietet
Scroll Up Folder zeigt im Adresseingabefeld ein Verzeichnis-Icon, über das eine Verzeichnisliste eingebelendet wird, in der man die Verzeichnisebene wechseln kann
SingleFile speichert eine Webseite in einer Datei ab, wobei alle Inhalte (konfigurierbar) in die Datei eingebettet werden
Tab Reloader für das automatische Neuladen geöffneter Webseiten in verschiedenen Zeiträumen per Tab-Kontextmenü oder Icon
View Page Archive & Cache sucht in Web-Archiven und -Caches zwischengespeicherte bzw. archivierte Webseiten, die nicht (mehr) aufrufbar sind. Zu den unterstützen Archiven und Caches zählen u. a. Wayback Machine, Archive.is, Memento Time Travel und die Caches der Suchmaschinen
YouTube Classic verändert das Design der YouTube Webseiten
Zoom Page WE ist ein Manager zum Vergrößern von Webseiteninhalten (ingesamt, nur Text, an der Breite des Browserfensters orientiert) entweder per Tab oder Website-spezifisch. Wird die Website-spezifische Funktion verwendet, muss die browser.zoom.siteSpecific Einstellung auf true stehen, was auch bedeutet, dass ein Merkmal zur Wiedererkennung/Fingerprintig des Besuchers aktiv ist.

Manuelle Anpassungen

Richtlinien

Bestimmte Einstellungen lassen sich vorab, generell und für alle Benutzer verbindlich über die Definition von Richtlinien festlegen. Dazu legt man im Installations- bzw. Programmverzeichnis von Firefox (nicht dem Profilverzeichnis des Benutzers) das distribution Unterverzeichnis an und speichert dort die policies.json Richtlinie-Datei, in der die Einstellungen eingetragen werden. Auf der Richtlinie-Vorlagen Seite oder über about:policies werden die Richlinien bzw. Einstellungen aufgeführt und beschrieben, die man in die policies.json Datei eintragen kann. Mit der Enterprise Policy Generator Erweiterung kann man komfortabel in einem Tab mit Hilfe von Anklick- und Eingabefeldern die Richtlinien-Einstellungen vornehmen und danach die Richtlinien-Datei erzeugen lassen. Eine erstellte oder generierte Richtlinie-Datei kann man auf Fehler überprüfen, indem die Datei file:///pfad/distribution/policies.json mit dem integrierten JSON-Betrachter geöffnet wird.

Beispiel

policies.json
{
  "policies": {
    "BlockAboutProfiles": true,
    "Cookies": {
      "AcceptThirdParty": "never",
      "Default": true,
      "ExpireAtSessionEnd": true,
      "Locked": true
    },
    "DisableAppUpdate": true,
    "DisableBuiltinPDFViewer": true,
    "DisableFeedbackCommands": true,
    "DisableFirefoxAccounts": true,
    "DisableFirefoxScreenshots": true,
    "DisableFirefoxStudies": true,
    "DisableFormHistory": true,
    "DisableMasterPasswordCreation": true,
    "DisablePocket": true,
    "DisableProfileImport": true,
    "DisableProfileRefresh": true,
    "DisableSetDesktopBackground": true,
    "DisableSystemAddonUpdate": true,
    "DisableTelemetry": true,
    "DisplayBookmarksToolbar": true,
    "DisplayMenuBar": true,
    "DontCheckDefaultBrowser": true,
    "EnableTrackingProtection": {
      "Locked": true,
      "Value": false
    },
    "FlashPlugin": {
      "Default": false,
      "Locked": true
    },
    "HardwareAcceleration": false,
    "Homepage": {
      "Locked": true,
      "URL": "https://sub.domain.tld/"
    },
    "InstallAddonsPermission": {
      "Allow": [
        "http://sub.domain.onion"
      ],
      "Default": true
    },
    "OfferToSaveLogins": false,
    "OverrideFirstRunPage": "",
    "OverridePostUpdatePage": "",
    "Permissions": {
      "Camera": {
        "BlockNewRequests": true,
        "Locked": true
      },
      "Location": {
        "BlockNewRequests": true,
        "Locked": true
      },
      "Microphone": {
        "BlockNewRequests": true,
        "Locked": true
      },
      "Notifications": {
        "BlockNewRequests": true,
        "Locked": true
      }
    },
    "PopupBlocking": {
      "Default": true,
      "Locked": true
    },
    "SearchBar": "separate",
    "SearchEngines": {
      "Default": "Suchmaschinenname",
      "PreventInstalls": false,
      "Remove": [
        "Google",
        "Bing",
        "Amazon.com",
        "eBay",
        "Twitter",
        "Wikipedia (en)"
      ]
    }
  }
}

So bleiben z. B. mit „DisableTelemetry“: true die Datenerhebung und -übermittlung (bis auf den Versand von Absturzmeldungen) und die entsprechenden grafischen Einstellungen deaktiviert. Wird eine Richtlinie als gesperrt markiert („Locked“: true), erhält der entsprechende Einstellungsname wie über die Autokonfiguration den locked Status.

Autokonfiguration

Für Einstellungen, die dauerhaft abgeändert und für nachträgliche Änderungen gesperrt werden sollen, damit sie z. B. von Firefox nicht überschrieben werden können, bietet sich die Autokonfiguration an:

  1. im defaults/pref Unterverzeichnis des Firefox Programmverzeichnisses (nicht dem Profilverzeichnis) wird die autoconfig.js Datei mit folgendem Inhalt gespeichert:
    pref("general.config.obscure_value", 0);
    pref("general.config.filename", "name.cfg");
  2. im Hauptverzeichnis des Firefox Programmverzeichnisses wird die name.cfg Datei gespeichert und nach folgendem Schema Einstellungen festgelegt:
    //
    lockPref("das.ist.ein.einstellungsname", "Wert");

Alternativ kann man die Einstellungen auch in die Richtlinie: Preferences aufnehmen.

Erweiterte Konfiguration

In der folgenden Tabelle sind Einstellungen aufgeführt, die über die erweiterte Konfiguration des Firefox Webbrowsers („about:config“ im Adresseingabefeld) vorgenommen werden können. Einige Einstellungen werden bereits mit den Firefox-Einstellungen (s. o.) gesetzt und können zusätzlich durch Erweiterungen gesetzt werden, die dem Datenschutz und der Sicherheit dienen.

Einstellungen können u. U. zu Einschränkungen von Zusatzfunktionen und -diensten, Geschwindigkeitseinbußen (z. B. Laden und Aufbauen v. Webseiten), Browser-Fehlfunktionen und eingeschränkter Webseitennutzung führen. Deshalb sollte man sich vorher informieren, welche Funktionen und Auswirkungen Einstellungen mit sich bringen und vorher ggf. Sicherungen der Profilverzeichnisse, prefs.js, user.js usw. anlegen.

Einstellungsname Wert Anmerkungen
browser.autofocus false Eingabefelder in Formularen werden nicht per HTML5 autofocus Attribut beim Laden einer Seite vorausgewählt
browser.link.open_newwindow
browser.link.open_newwindow.restriction
browser.link.open_newwindow.disabled_in_fullscreen
1
0
true
1: Links werden im aktuellen Tab des Browserfensters statt in einem neuen Browserfenster geöffnet
0: per JavaScript aufgerufene, neue Browserfenster werden stattdessen in Tabs geöffnet
true: während der Vollbildanzeige werden keine zusätzlichen Browserfenster geöffnet
browser.tabs.remote.warmup.enabled
browser.tabs.remote.warmup.maxTabs
false
0
Ein Tab wird nicht im Hintergrund vorausgeladen, weil der Benutzer vermutlich zu diesem Tab wechseln wird, weil sich z. B. sein Mauszeiger über den Tab bewegt hat
browser.uitour.enabled
browser.uitour.url
false
leer
deaktiviert die grafische Präsentation zur Erklärung der Firefox-Oberfläche
browser.urlbar.speculativeConnect.enabled false der spekulative Verbindungsaufbau zu Websites, deren Webseiten möglicherweise aufgerufen werden sollen, während einzugebende URLs im Adresseingabfeld autovervollständigt werden, wird deaktiviert
browser.urlbar.usepreloadedtopurls.enabled false dem Benutzer wird keine hartkodierte Liste von URLs als Vorschläge während Eingaben in der Adresseingabezeile vorgesetzt
browser.zoom.siteSpecific false das einmal auf einer Webseite vorgenommene Zoom-Level wird nicht für die Website gespeichert, um ein Merkmal zur Wiedererkennung/Fingerprinting des Besuchers auszuschließen
canvas.capturestream.enabled false die HTMLCanvasElement captureStream() Methode erzeugt einen MediaStream, der einen MediaStreamTrack enthält, in dem in Echtzeit die Oberflächeninhalte per Video-Capture erfasst und übertragen werden können
clipboard.plainTextOnly
dom.allow_cut_copy
true
false
in die Zwischenablage können nur Daten mit text/plain MIME-Typ und keine Links oder Bilder kopiert werden, während Websites nicht aktiv Daten in die Zwischenablage kopieren oder aus ihr herausschneiden können
devtools.*.enabled false wer keine Webinhalte und -anwendungen entwickeln oder inspizieren muss oder dafür besser externe Anwendungen verwendet, sollte alle integrierten Entwickler-Tools (auch about:devtools) so weit wie möglich deaktivieren

Über die Einstellungen der Toolbox kann man einige Tools und zusätzliche Funktionen deaktivieren
devtools.remote.adb.extensionURL
devtools.webide.*
devtools.webide.*URL
leer
false
leer
zur Deaktivierung der WebIDE alle Einstellungen auf false setzen und damit verbundene URLs löschen.
devtools.remote.wifi.scan false schaltet die WebIDE over WIFI Funktion und den damit verbundenen Server zum Scannen nach WLAN-Geräten/Netzwerken ab.
browser.download.animateNotifications
browser.history_swipe_animation.disabled
browser.stopReloadAnimation.enabled
dom.animations-api.core.enabled
layout.css.prefixes.animations
layout.css.prefixes.webkit
toolkit.cosmeticAnimations.enabled
false
true
false
false
false
false
false
schaltet so weit wie möglich Animationen von Bildern, Oberflächen- und Webseitenelementen per CSS, Web Animation API usw. ab
dom.battery.enabled false deaktiviert die Battery Status API
dom.block_external_protocol_in_iframes
dom.delay.block_external_protocol_in_iframes
true
1
der Aufruf von URLs mit externen Protokollen wie z. B. mailto:, ircs: in iFrames wird nach einer und nicht erst nach zehn Sekunden blockiert
dom.disable_window_* true verhindert die Manipulation von Fenstern und deren Aussehen per JavaScript, d. h. alle Fenster (auch Popup-Fenster) entsprechen dem Browser-Fenster.
dom.event.contextmenu.enabled false das Kontextmenü ist auf allen Webseiten immer zugänglich
dom.gamepad.enabled
dom.gamepad.*.enabled
false
false
deaktiviert die Gamepad API, wenn man keine webbasierten Spiele mit einem Gamepad spielt
dom.indexedDB.enabled false deaktiviert die Speicherung und das Auslesen von Objekten in IndexedDB Datenbanken für „HTML5/Web Datenbanken“ bzw. Web-Applikationen, die im Privaten Modus standardmäßig ebenfalls deaktiviert sind

Hinweis: Wird die indexedDB deaktiviert, funktionieren einige WebExtensions nicht
dom.mapped_arraybuffer.enabled false
dom.pointer-lock.enabled false deaktiviert die Pointer Lock API, um Mauszeiger in Webanwendungen zu fangen und zu verfolgen (z. B. für webbasierte 3D-Anwendungen oder -Spiele
dom.registerProtocolHandler.insecure.enabled false Websites, die sich als Ziel bzw. Bearbeiter von Protokollen (z. B. magnet:, mailto:) registrieren lassen wollen, müssen per HTTPS/TLS verfügbar sein
dom.select_events.enabled
dom.select_events.textcontrols.enabled
false
false
deaktiviert Ereignismeldungen bzw. Funktionen der Selection API, die WebExtensions und Websites per JavaScript nutzen können, um auszuwerten oder zu beeinflussen, was der Benutzer auf Webseiten auswählt

Für webbasierte Editoren oder editor-artige Erweiterungen ggf. nützlich.
dom.targetBlankNoOpener.enabled true fügt Links, die per target Attribut in einem neuen Tab geöffnet werden, das rel=noopener Attribut hinzu, damit die aufgerufene Website nicht den Inhalt der Webseite manipulieren kann, auf der der Links angeklickt wurde
dom.vibrator.enabled false
dom.vr.*.enabled
dom.vr.service.enabled
false
false
wird keine VR/AR Hardware mit Firefox verwendet, kann man auch alle VR relevanten Optionen deaktivieren
dom.webaudio.enabled false deaktiviert die Web Audio API.
dom.webkitBlink.dirPicker.enabled
dom.webkitBlink.filesystem.enabled
false
false
deaktiviert die File and Directory Entries API
extensions.webextensions.tabhide.enabled false Erweiterungen können mittels Tabs Hide Funktion der WebExtensions API keine Tabs verstecken
full-screen.api.enabled
full-screen-api.ignore-widgets
full-screen-api.pointer-lock.enabled
full-screen-api.unprefix.enabled
browser.fullscreen.autohide
false
true
false
false
false
deaktiviert die HTML5 Fullscreen API, über die unabhängig vom Benutzer Inhalte im Vollbildmodus dargestellt werden

Die Vollbilschirmanzeige von z. B. YouTube-Videos funktioniert auch ohne aktivierte API. Wer die API aktivieren will, kann mit der letzten Einstellungen die permanente Anzeige der Toolbar- und Tab-Leiste während des Vollbildmodus erzwingen.
image.animation_mode none animierte GIFs werden nur einmal als normale Bilder angezeigt
layout.css.scrollbar-color.enabled
layout.css.scrollbar-width.enabled
false
false
verhindert, dass Websitegestalter das Design von Scrollbars per CSS modifizieren können
layout.css.visited_links_enabled false die Auswertung besuchter Links bei aktivierter History aufgrund der CSS:visited Farbkennzeichung der Links wird abgewehrt
media.codec.enabled false Unterstützte Multimedia Codecs bzw. Decoder werden so weit wie möglich deaktiviert, was natürlich abhängig vom persönlichen Bedarf ist.
media.video_stats.enabled false schaltet Statistiken zur Videoverarbeitung ab, um Fingerprinting zu erschweren.
media.webspeech.recognition.enable
media.webspeech.synth.enabled
false
false
deaktiviert SpeechRecognition (Sprecherkennung) und SpeechSynthesis (Text-to-Speech) der Web Speech API
narrate.enabled false deaktiviert Text-to-Speech Funktionen zur Sprachausgabe in der Leseansicht
network.auth.subresource-http-auth-allow 0 Dialogfenster zur Anmeldung per HTTP-Authentifizierung können nicht durch Elemente/Subressourcen wie iframe, script und fremde Domains ausgelöst werden

Siehe auch HTTP auth dialog can no longer be triggered by cross-origin resources
network.ftp.enabled false deaktiviert die Verwendung des FTP für das unverschlüsselte Herunterladen von Inhalten über ftp:// Links in Webseiten
network.http.redirection-limit n beschränkt die maximale Anzahl an Umleitungsaufforderungen seitens des Servers, denen der Browser nach einer Anfrage folgt, auf n Umleitungen (z. B. 2 oder 3) statt 20 (Standard)
network.http.speculative-parallel-limit 0 deaktiviert die Aufnahme von TCP-Verbindungen zu Servern im Voraus (ohne Inhalte zu laden wie mit network.prefetch-next), weil Firefox „erwartet“, dass die Server kurz danach aufgesucht werden, da z. B. der Mauscursor über einem Link steht (Standard: 6)
network.IDN_show_punycode true Anzeige des realen Punycode von IDNs, um Phishing/Spoofing Angriffe der Form zu erkennen.
network.prefetch-next false deaktiviert das Vorausladen von Inhalten in den Cache im Hintergrund vom aktuellen oder fremden Servern
network.predictor.enabled
network.predictor.enable-prefetch
false
false
keine DNS-Anfragen, TCP- und TLS-Handshakes im Voraus.
network.websocket.max-*
network.websocket.timeout*
1
1
ab Firefox 35 wurde die Möglichkeit, bidirektionale TCP-Verbindungen zu Servern mit Server-Push Nachrichten über die WebSockets API generell mittels network.websockets.enabled zu deaktivieren, entfernt

Eventuell können mit 1 für alle Integer-Werte der angegebenen WebSockets Einstellungsnamen zumindest WebSocket Verbindungen beschränkt werden. Mittels Privoxy-Filter für WebSockets kommen WebSocket Verbindungen nicht zustande. Mit der WebSocket Detector Erweiterung können aktive WebSocket Verbindungen erkannt und signalisiert werden, mit der API-Killer-WebSocket Erweiterung von Elad Karako meldet der Echo-Test von websocket.org, das Firefox keine Websockets unterstützt
security.data_uri.block_toplevel_data_uri_navigations true der Aufruf von data:// URLs wird eingeschränkt bzw. teilweise blockiert
security.family_safety.mode 0 deaktiviert unter Windows Microsoft Family Features Zensur-Funktionen
webchannel.allowObject.urlWhitelist leer keiner Website ist es erlaubt, über WebChannel Objekte statt nur Strings zu senden
webgl.disable-extensions
webgl.disable-wgl
webgl.disabled
webgl.enable-webgl2
true
true
true
false
deaktiviert das Rendern von 3D-Objekten per WebGL / HTML5 / JavaScript

JavaScript

In Firefox wurden alle grafischen Einstellungen zur Aktivierung von JavaScript und der Einschränkung erlaubter Aktionen komplett auf Kosten der Sicherheit und einer mehr als fragwürdigen "Usability" Ideologie – die z. T. vom Tor Browser Projekt geteilt wird – entfernt. Stattdessen gibt es nur noch die Möglichkeit, JavaScript über die javascript.enabled Einstellung in der erweiterten Konfiguration global zu deaktivieren oder zu aktivieren. Deshalb ist es unabdingbar und dringend geboten, Erweiterungen zur Kontrolle der JavaScript-Verwendung, die in der Liste der Erweiterungen genannt werden, zu installieren und ggf. zusätzliche Einstellungen zu setzen.

Einstellungsname Wert Anmerkungen
dom.ipc.processCount.webLargeAllocation
dom.largeAllocationHeader.enabled
1
false
es werden keine großen Speicherbereiche für Webseiten reserviert und > 1 zusätzliche, separate Prozesse gestartet, die wegen WASM oder asm.js einen größeren Speicherbedarf signalisieren (z. B. Webspiele, WASM und asm.js Anwendungen)
dom.script_loader.bytecode_cache.enabled
dom.script_loader.bytecode_cache.strategy
false
-2
deaktiviert den JavaScript Start-up Bytecode Cache, in den der Javascript-Quellcode und -Funktionen besuchter Webseiten XDR kodiert und komprimiert abgespeichert wird. Bei nachfolgenden Besuchen der gleichen Webseiten wird Javascript nicht erneut heruntergeladen, geparst und ausgeführt, sondern aus dem Zwischenspeicher bezogen, was das Laden und Anzeigen von Webseiten beschleunigen soll. Mit -2 wird auf den Zwischenspeicher nur lesend zugeriffen
javascript.options.asmjs
javascript.options.baselinejit
javascript.options.ion
javascript.options.parallel_parsing
javascript.options.wasm
javascript.options.wasm_baselinejit
javascript.options.wasm_ionjit
false
false
false
false
false
false
false
deaktiviert das OdinMonkey Javascript-Modul für asm.js des IonMonkey JIT Compilers (siehe asm.js files should not be cached to disk in Tor Browser and no linkability risk, außerdem anfällig für Exploits), den Baseline Compiler bzw. den IonMonkey Javascrit JIT Compiler der SpiderMonkey Javascript-Engine und WebAssembly (wasm)

Siehe auch iSEC Partners: Tor Browser Research Engagement, Recent Study Estimates That 50% of Websites Using WebAssembly Apply It for Malicious Purposes. Beeinträchtigungen bzgl. Erweiterungen oder Websites konnten bis jetzt nicht festgestellt werden.
javascript.options.discardSystemSource true „This preference instructs the JS engine to discard the source of any privileged JS after compilation. This saves memory, but makes things like Function.prototype.toSource() fail.“
javascript.options.shared_memory false
jsloader.shareGlobal false „wenn true … wird Arbeitsspeicher eingespart, aber macht es möglich, dass sich Skripte gegenseitig beeinträchtigen“

Verweise auf aktuelle Seite