Firefox Tuning zur Absicherung und Anonymisierung

Einleitung

Auf dieser Seite werden Einstellungen für den aktuellen Firefox ESR Webbrowser aufgeführt, die grafisch über die Firefox-Einstellungen, manuell in der erweiterten Konfiguration über about:config oder über Erweiterungen vorgenommen werden können. Die Einstellungen betreffen die Absicherung und/oder Anonymisierung der Browsernutzung sowie die mögliche Begrenzung der Firefox-Funktionen auf seine Kernaufgabe: Webinhalte anzuzeigen.

Leider wird die Realisierung dieser Ziele mit jeder neuen Firefox-Version schwieriger, weil die Mozilla Foundation und der Mozilla-Entwicklergemeinde jede neue Firefox-Version mit speziellen „Features“ und Funktionen überfrachten, bis der Firefox Browser völlig zur unbenutzbaren, nicht mehr regulierbaren BLOATWARE verkommt. Zusäztlich werden Möglichkeiten, mit denen der Benutzer modifizerend eingreifen kann, schrittweise immer weiter reduziert. Deshalb empfehle ich die Verwendung der aktuellen Firefox ESR (Extended Support Release) Version.

Die Einstellungen bewirken, dass Layouts und Funktionen einzelner Webseiten und -dienste u. U. nur noch eingeschänkt, nach erneuten Eingriffen oder im Extremfall überhaupt nicht mehr benutzbar sind. Für die betroffenen Webseiten und -dienste kann man z. B. Firefox in einer zweiten Instanz mit anderem Browserprofil oder einen anderen Browser starten, die „offener“ eingestellt sind.

Die Einstellungen können auch bewirken, dass einzelne Erweiterungen nicht mehr funktionieren. Manchmal hilft, die betroffene Erweiterung temporär zu deaktivieren und nach einem Neustart des Browsers zu reaktivieren.

Stand: zu FF 45 ESR aktualisiert.

Download / Installation

Anstatt über die Mozilla Website oder Nutzung der automatischen Update-Funktion nur das Programm herunterzuladen, kann die jeweils aktuelle Firefox Version zusammen mit einer SHA-512 Prüfsummen-Datei heruntergeladen und nach Überprüfung der Prüfsummen manuell installiert werden.

Download aus Verzeichnis der aktuellen ESR Version:

  • KEY „Mozilla Software Releases“ GnuPG-Schlüsseldatei
  • SHA512SUMS.asc Prüfsummendatei GnuPG-Signaturdatei
  • SHA512SUMS Prüfsummendatei
  • firefox-version.ext Firefox-Archivdatei aus dem Betriebssystem-Unterverzeichnis

Vorgehen:

  1. Import „Mozilla Software Releases“ GnuPG-Schlüsseldatei: gpg --import KEY
  2. Import Mozilla OpSec/InfoSec GnuPG Schlüssel (mit dem der „Mozilla Software Releases“ Schlüssel zertifiziert sein muss)
  3. Überprüfung der Prüfsummendatei mit GnuPG-Signaturdatei: gpg --verify SHA512SUMS.asc
  4. Überprüfung der Firefox-Archivdatei mit SHA-512 Prüfsummen: sha512sum firefox-version.ext
    und Vergleich des Werts mit der entsprechenden Zeile aus der SHA512SUMS Datei
  5. Installation von firefox-version.ext

Ergeben die Überprüfungen Unstimmigkeiten oder negative Statuswerte, kann es sich entweder um Übertragungsfehler handeln, so dass der Download wiederholt werden muss oder um manipulierte Firefox Versionen.

Informationen zu neu eingeführten Funktionen, behobenen Sicherheits- und Funktionsbugs zur aktuellen Firefoxversion finden sich in den Anmerkungen zur Veröffentlichung, Sicherheits-Hinweisen zu behobenen Schwachstellen und Anmerkungen für Entwickler.

Das gleiche Vorgehen ist für Thunderbird mit den entsprechenden Unterverzeichnissen zum aktuellen Release möglich.

Inhalt

Pop-up Fenster blockieren

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

Schriftarten & Farben

In älteren Firefox-Versionen bestimmte die Angabe der bevorzugten Zeichenkodierungen den Inhalt der HTTP_ACCEPT_CHARSET (Accept-Charset:) Kopfzeile, die vom Webbrowser zum Server übertragen wurde. Ab Firefox 10 wird die Accept-Charset Kopfzeile wie bei anderen Webbrowsern nicht mehr übertragen.

Ist das Flash bzw. Java Plugin installiert und auf Webseiten aktiv, können darüber Informationen zu allen installierten Schriftarten ausgelesen werden. Da fast jeder Anwender eine individuelle Zusammenstellung von installierten Schriftarten pflegt, können die Informationen die Anonymisierung des Browserprofils einschränken. Außerdem verraten betriebssystemspezifische Schriften u. U. die Fälschung des Browserprofils, wenn z. B. ein „Windows-Browser“ vorgetäuscht, aber Schriften einer bestimmten Linux-Distribution gefunden werden.

Sprachen

Die Angaben der bevorzugten Sprache(n) bestimmt den Inhalt der HTTP_ACCEPT_LANGUAGE (Accept-Language:) Kopfzeile, die vom Webbrowser zum Server übertragen wird. Wählt man Sprachen und Sprachkombinationen aus, die von einer großen Anzahl oder der Mehrheit aller Firefox-Benutzer ebenfalls verwendet wird, trägt die Auswahl zur Anonymisierung des Browserprofils bei.

Zur Anonymisierung bietet sich das Vortäuschen bzw. die Verwendung der „en-US“ Firefox-Version an. Da die Angaben auch zur Content Negotiation (MDN: Content Negotiation) für die Anzeige von Inhalten in einer bestimmten Sprache ausgewertet werden, kann das en-US Profil auch zur automatischen Ausgabe der englischsprachigen Version von Webseiten führen. Außerdem ist zu beachten, dass bei Erweiterungen mit deutscher Lokalisierung die Oberfläche danach u. U. ebenfalls englischsprachig wird. Die Oberfläche von Firefox selbst bleibt deutschsprachig, sofern die deutschsprachige „de“ Firefox-Version installiert wurde. Alternativ kann man auch direkt die aktuelle, englischsprachige Firefox Version aus dem en-US Unterverzeichnis herunterladen und installieren.

Für einen en-US Browser setzt man, basierend auf der Original en-US Firefox-Version von mozilla.org, folgende Einstellungen und String-Werte:

Einstellungsname Wert Anmerkungen
browser.search.countryCode
browser.search.region

browser.search.order.n
browser.search.order.US.n
US
US

Name
Name
Für n1-3 kann man statt Yahoo, Google und Bing auch die Namen der bevorzugten Suchmaschinen einsetzen. Zur Ermittlung, ob US gesetzt wird bzw. ob man sich in den USA befindet, kann eine Abfrage zur Geolokalisierung über die browser.search.geoip.url erfolgen, wenn der Wert gesetzt ist
general.useragent.locale en-US Standard (und nicht „en-us“, wie fälschlich auf einigen Browserprofil-Testseiten gefordert)
intl.accept_languages en-US, en definiert in navigator.properties
Ausgabe von HTTP_ACCEPT_LANGUAGE: en-US,en;q=0.5 (Standard)
Kann auch grafisch über die Sprachauswahl für Webseiten gesetzt werden:
1. English/United States [en-us]
2. English [en]
network.http.accept-encoding gzip, deflate Ausgabe von HTTP_ACCEPT_ENCODING: gzip, deflate (Standard)
network.http.accept.default text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Ausgabe von HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 (Standard)
spellchecker.dictionary en-US

Weitere HTTP Kopfzeilen und Browserkennung

An dieser Stelle bietet es sich an, neben den obigen HTTP Kopfzeilen weitere HTTP Kopfzeilen und andere Daten in Betracht zu ziehen, die man manipulieren kann, um die Anonymisierung des Browserprofils und der Browsernutzung zu unterstützen.

Referer

In der HTTP_REFERER (Referer:) Kopfzeile speichert und überträgt der Browser die URL der Website oder Webseite als Quelladresse, über die Links zu weiteren Websites oder Webseites aufgerufen bzw. deren Inhalte in der Quell-Webseite abgerufen wurden. Der Webserver der nach der Quelladresse aufgrufenen Website oder Webseite liest die Kopfzeile aus und kann damit in Erfahrung bringen, welche fremde Website/Webseite oder welche eigenen Webseiten zuvor vom Anwender aufgesucht wurden und kann damit eine Historie der besuchten Ziele aufzeichnen. Gehören zu einem Betreiber verschiedenste Websites bzw. Domains, erhöht sich der Umfang der Historie nochmals.

Ab Firefox Version 28 muss man für die Behandlung der Referer Kopfzeile Grundeinstellungen über die Kombination mehrerer Einstellungsnamen in der erweiterten Konfiguration vornehmen oder durch grafische Erweiterungen setzen lassen, die alle Einstellungen vollständig berücksichtigen:

P Einstellungsname Anmerkungen
A network.http.sendRefererHeader n Der Wert bestimmt generell, ob überhaupt Referer Kopfzeilen gesendet werden oder nicht. Mögliche Werte:

0: kein Versand von Referer Kopfzeilen oder Setzen von document.referrer (DOM)
1: Versand bei Ab- und Aufruf von Text-Links
2: Versand bei Ab- und Aufruf von Text- und Bild-Links.
B network.http.referer.XOriginPolicy n Der Wert bestimmt generell, wann eine Referer Kopfzeile gesendet wird, wenn A auf 1 oder 2 (bzw. B auf true) steht. Mögliche Werte:

0: immer senden
1: senden, wenn die Domainnamen der beteiligten Server übereinstimmen (a.domain.tld → b.domain.tld usw.)
2: senden, wenn Hostnamen der beteiligten Server übereinstimmen (a.domain.tld ↔ a.domain.tld)
C network.http.sendSecureXSiteReferrer n Der Wert bestimmt generell, ob Referer Kopfzeilen (auch domainübergreifend) per HTTPS von einer TLS verschlüsselten zu einer fremden, ebenfalls TLS verschlüsselten Website gesendet werden oder nicht (https://a.domain.tldhttps://a.domain2.tld). Die Einstellung ist der Einstellung von network.http.referer.XOriginPolicy untergeordnet. Mögliche Werte:

true oder false
D network.http.referer.spoofSource n Der Wert bestimmt generell, ob in der Referer Kopfzeile reale Angaben zur Linkquelle übermittelt werden, oder ob die Angaben auf die URL des Zielservers gefälscht werden. Mögliche Werte:

true oder false
E network.http.referer.trimmingPolicy n Der Wert bestimmt, generell, was genau in der Referer Kopfzeile versendet wird. Mögliche Werte:

0: vollständige URL
1: protokoll://hostname(:port)/pfad
2: protokoll://hostname(:port)/

Alle Einstellungen kann man kombiniert zum Beispiel so setzen:

P Wert Anmerkungen
A 2 Referer sind „aktiviert“
B 1 Referer werden nur gesendet, wenn alle beteiligten Server zur gleichen Domain gehören
C true Referer werden (auch domainübergeifend) zwischen TLS Sites gesendet. Da B:1, gilt dies nicht domainübergreifend.
D
E
false
1
Da B:1, werden zu domainfremden Servern keine Referer gesendet, innerhalb der Domain reale, pfadgenaue Referer (Tracking innerhalb der Domain)
D
E
false
2
Da B:1, werden zu domainfremden Servern keine Referer gesendet, innerhalb der Domain reale, auf das Stammverzeichnis bezogene Referer mit (eingeschränktes Tracking innerhalb der Domain)

Für darüber hinausgehende bzw. in die Einstellungen eingreifende Änderungen zur Behandlung der Referer Kopfzeilen kann man Referer Erweiterungen wie RefControl einsetzen.

RefControl Optionen für Ausnahmen und Standard-Referer

In den RefControl Optionen fügt man die Domainnamen der Websites hinzu, zu denen als Ausnahme von der Standard-Referer Aktion die reale Referer-Angabe („Normal“) oder eine spezifische bzw. benutzerdefinierte URL als Referer-Angabe übermittelt wird. Mit den obigen Grundeinstellungen ab Firefox 28 trägt man hier nur noch Domainnamen ein, zu denen explizit gefälschte Referer-Angaben gesendet werden sollen. Für einzelne Websites kann beim Hinzufügen oder Editieren der Website auch die Standard-Referer Aktion (s. u.) eingetragen werden.

Als die New York Times eine Paywall für Artikel einrichtete, konnte man z. B. die Paywall-Restriktion umgehen, indem dem Webserver der New York Times eine Google News URL als Referer-Angabe übermittelt wurde, weil die von Google News aus aufgerufenen Links zu Artikeln der New York Times nicht von der Paywall-Restriktion erfasst wurden. Andere Unternehmen, die Dienste oder Dienstleistungen erbringen, können wiederum überprüfen und verlangen, dass die Webseiten und Unter-Webseiten ihrer Website über originäre Links bzw. reale Ausgangsadressen aufgerufen wurden, so dass hier die normalen/realen Referer-Angaben übertragen werden müssen.

RefControl Standard-Referer Aktionen

Hier wird die Standard-Referer Aktion für alle Websites definiert, deren Domainnamen nicht von den obigen Ausnahmen erfasst werden. Zur Anonymisierung bietet sich als Aktion das Blockieren oder Ersetzen der Referer Kopfzeile an, ggf. mit Ergänzung der Einschränkung, dass die Aktion nur dann zutrifft, wenn über den Aufruf eines Links auf der Ausgangs-Website zu einer anderen Website bzw. Domain („3rd Party request“) gewechselt wird.

Aktion ohne Einschränkung mit Einschränkung
Blockieren zum Webserver der Website wird nie ein Referer gesendet innerhalb der Website werden reale Referer zum Webserver der Website gesendet, zu Webservern anderer Websites werden keine Referer gesendet

Verfolgung innerhalb der Website möglich oder benötigt
Ersetzen zum Webserver der Website wird immer die Stamm-URL der Website als Referer gesendet innerhalb der Website werden reale Referer zum Webserver der Website gesendet, zu Webservern anderer Websites die Stamm-URL der anderen Websites

Verfolgung innerhalb der Website möglich oder benötigt
Spezifisch
(„Custom“)
zum Webserver der Website wird immer die einzutragende URL als Referer übermittelt macht keinen Sinn

Die aktuell übertragenen Referer-Angaben kann man sich in der Statuszeile anzeigen lassen, wenn man die Statuszeilen-Anzeige Option auf Referer schaltet.

User-Agent

Eine weitere wichtige Kopfzeile ist die HTTP_USER_AGENT (User-Agent) Kopfzeile, in der der Browser Informationen zum eingesetzten Betriebssystem, Gerät (z. B. Desktop, Smartphone), seine bzw. die Version der Gecko Engine, das Datum seiner Erstellung und ggf. Branding Kennungen des Firefox Anbieters übertragen kann. Die aktuelle Zusammensetzung des User Agents beschreibt Gecko User Agent String Referenz und Browser detection using the user agent.

Für die Auswahl der User-Agent Werte und weiterer Daten gibt es verschiedene Ansätze und Überlegungen.

Die JonDoFox und Torbrowser Profile gehen davon aus, dass möglichst viele Firefox Anwender weltweit JonDoFox bzw. Torbrowser nutzen, was optimal wäre, da so eine riesige Anonymitätsgruppe von Anwendern existieren würde, die alle die gleiche Browserkennung „aussenden“ und damit kein Anwender über seinen Browser wiederzuerkennen ist. Ist das global gesehen nicht der Fall, bewegt man sich mit den Profilen nur innerhalb der relativ kleinen Gruppe der JonDoFox und Torbrowser Anwender, innerhalb derer man nicht wiedererkennbar ist, dafür aber zum Rest der globalen Gruppe der anderen Firefox Anwender. Zum Teil werden in den Profilen auch Angaben nicht übertragen oder geändert, die von Firefox Versionen, die direkt von mozilla.org heruntergeladen und installiert werden, standarmäßig ausgesendet werden. Im Oktober 2013 zeigten interne Dokumente der beiden Geheimdienste NSA und GCHQ, die von der britischen Zeitung Guardian und der amerikanischen Zeitung Washington Post veröffentlicht wurden, dass die Geheimdienste genau an diesen spezifischen Browserprofilen ansetzen, um Tor Benutzer zu identifizieren und für weitere Überwachungsmaßnahmen zu selektieren.

Ein anderer Ansatz sieht in der permanenten Änderung der User-Agent Kopfzeile die Lösung. Dafür gibt es die Random Agent Spoofer Erweiterung oder das Firefox-User-Agent-Generator Perlscript für den Privoxy Proxy von Fabian Keil, für dessen Nutzung Kurzanleitungen zur Inbetriebnahme unter *nix und Windows bereitstehen. Dabei ist aber zu beachten, dass zum gesamten Browserprofil oder Browser-Fingerprint nicht nur der User Agent gehört, d. h. der übrige Kontext zum User Agent passen muss. Außerdem muss es sich um reale User-Agent Kopfzeilen handeln und nicht um konstruierte User Agent Angaben, weil gerade ein einmaliger User Agent zu einem eindeutigen Merkmal wird, das zur Wiedererkennung führt. Abseits davon gilt für die permanente Änderung der User-Agent Kopfzeile das Gleiche wie für die JonDoFox und Torbrowser Profile – setzt idealerweise ein Großteil der Firefox Anwender das Skript mit dem gleichen User-Agent Kopfzeilenset ein, wären auch konstruierte User-Agent Angaben kein Problem.

Ein dritter Ansatz geht davon aus, das Standard-Profil der Firefox-Versionen von mozilla.org als Tarn-Browserprofil zu verwenden, das vermutlich von einer großen Anzahl der Firefox Anwender weltweit benutzt wird. Da Windows (leider) das vorherrschende Betriebssystem ist, Englisch (abgesehen von Chinesisch und Spanisch) die vorherrschende Weltsprache ist, während die USA („en-US“ Firefox) eine größere Population stellen als Großbritannien („en-GB“ Firefox) und sich die größte Zahl der Internetnutzer neben China in den USA befinden, bietet sich das Browserprofil der US-Amerikaner als Tarnung an, die sich keine großen Gedanken zur Anonymisierung oder dem Einsatz von Anon-Diensten machen und als Betriebssystem eine relativ aktuelle Windows Version einsetzen, auf dem (aufgrund des Mozilla Updatedienstes und Update Hotfix-Rollouts) die jeweils aktuelle Firefox Release-Version läuft. Das mag zwar einige Linux-Anwender schmerzen, die mit ihrem User Agent der Welt, Statistikern und Marktanalysten die Verbreitung von Linux „mitteilen“ wollen, zweckmäßig ist eine derartige Haltung bzgl. Anonymisierung nicht. Die dritte Methode ist aus meiner Sicht zu bevorzugen.

Für einen Firefox 16 unter Windows 7 wären folgende Einstellungen und String-Werte in der erweiterten Konfiguration zu setzen:

Einstellungsname Wert
general.appname.override Netscape
general.appversion.override 5.0 (Windows)
browser.startup.homepage_override.buildID
gecko.buildID
general.buildID.override
toolkit.telemetry.previousBuildID
z. B. 20120627151113
Das Tor Browser und JoDoFox Profil setzt 0 statt einer realen BuildID ein, die u. a. in den Dateien application.ini und platform.ini im Firefox Installationsverzeichnis angegeben ist. Unter Linux kann man die Windows Firefox Setupdatei mit 7z e entpacken.
gecko.mstone Nummer der Firefox- („16.0“) bzw. Geckoversion („rv: 16.0“)
general.oscpu.override Windows NT 6.1
Windows NT 6.1; WOW64
Windows NT 6.1; Win64; x64
general.platform.override Win32
Win64
general.productSub.override 20100101 („geckotrail“) bei Firefox Desktopversion
general.useragent.appName Mozilla
general.useragent.override
32-Bit Windows/x86 CPU
64-Bit Windows + WOW64
64-Bit Windows/x64 CPU
Kompletter User-Agent:
Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20100101 Firefox/16.0
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:42.0) Gecko/20100101 Firefox/42.0
Anmerkungen:
Von Firefox gab es bis Version 41.0 nur eine 32-Bit und erst ab Version 42.0 auch die 64-Bit Version für Windows. WOW64 ist das Untersystem in 64-Bit Windows Versionen ab Windows XP zur Ausführung von 32-Bit Anwendungen.

Ein paar der Einstellungen können auch mit der Random Agent Spoofer Erweiterung gesetzt werden. Die Erweiterung bieten zusätzlich die Möglichkeit, verschiedene User-Agent Profile zu nutzen.

Seit Firefox Version 23.0 genügt es nicht mehr, IDs einheitlich über die erweiterte Konfiguration zu setzen, da Firefox sie immer überschreibt. Deshalb muss man die Einstellungen sperren:

  1. Man speichert im defaults/pref Unterverzeichnis des Firefox Programmverzeichnisses (nicht dem Profilverzeichnis) die local-settings.js Datei mit folgendem Inhalt:
    pref("general.config.obscure_value", 0);
    pref("general.config.filename", "mozilla.cfg");
  2. Man speichert im Hauptverzeichnis des Firefox Programmverzeichnisses die mozilla.cfg Datei mit folgendem Inhalt:
    //
    lockPref("browser.startup.homepage_override.buildID", "yyyymmddnnnnnn");
    lockPref("browser.sessionstore.upgradeBackup.latestBuildID", "yyyymmddnnnnnn");
    lockPref("extensions.lastPlatformVersion", "nn.n");
    lockPref("extensions.addonname.lastAppVersion", "nn.n");
    lockPref("gecko.buildID", "yyyymmddnnnnnn");
    lockPref("gecko.mstone", "nn.n");
    lockPref("general.appname.override", "Netscape");
    lockPref("general.appversion.override", "5.0 (Windows)");
    lockPref("general.buildID.override", "yyyymmddnnnnnn");
    lockPref("general.oscpu.override", "Windows NT 6.1");
    lockPref("general.platform.override", "Win32");
    lockPref("general.productSub.override", "20100101");
    lockPref("general.useragent.appName", "Mozilla")
    lockPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:nn.n) Gecko/20100101 Firefox/nn.n");
    lockPref("toolkit.telemetry.previousBuildID", "yyyymmddnnnnnn");

Auf gleichem Weg können auch andere Merkmale des Browserprofils – wie z. B. die folgenden „Mozilla IDs“ – festgelegt und gesperrt werden. Zusätzlich kann man mit chattr das immutable Attribut an die beiden Dateien vergeben, wenn Firefox im Kontext des Benutzers installiert wird. Die Nachteile: Man muss die mozilla.cfg pflegen bzw. anpassen und das flexible Wechseln des Browserprofils (falls gewünscht) mit Erweiterungen ist nicht mehr möglich.

Mozilla IDs

Wenn sich der Firefox Browser mit Mozilla Servern verbindet, geschieht das zwar TLS verschlüsselt, es werden jedoch ebenfalls eine Reihe von browser- und betriebssystemspezifischen Merkmalen übertragen, die zu einem eindeutigen Browserprofil beitragen. Zum Beispiel, wenn man nach Erweiterungen sucht oder sie aktualisiert, für den Browser, Erweiterungen und Plugins eine Aktualisierungsprüfung manuell oder automatisch durchführt wird, die Firefox Hilfeseite aufgerufen wird usw.

Wer wie oben zusätzlich für diese Verbindungen ein stimmiges Tarn-Browserprofil sicherstellen will, muss ein paar relevante Variablen und die URL-Einstellungsnamen kennen, in deren Angaben die Variablen durch passende, feststehende Werte passend zum Tarn-Browserprofil ausgetauscht werden. Den Austausch kann man in der erweiterten Konfiguration oder in der mozilla.cfg vornehmen.

Variablen

Variable Ersetzung bzw. Wert
%APP% Keine Ersetzung:
immer Firefox
%APP_ABI% x86-msvc (32-bit)
x86_64-msvc (64-bit)
%APP_ID% Keine Ersetzung:
GUID von Firefox selbst:
immer %7Bec8030f7-c20a-464f-9b0e-13a3a9e97384%7D
%APP_LOCALE% en-US
%APP_OS% WINNT
%APP_RELEASE% 16 (z. B. bei 16.0)
%APP_VERSION% 16.0
%BUILD_ID% BuildID
z. B. 20140127194636
%BUILD_TARGET% WINNT_x86-msvc (32-bit)
WINNT_x86_64-msvc (64-bit)
%CHANNEL% release
%CHROME_LOCALE% en-US
%CLIENT_OS% Windows
%COMPATIBILITY_MODE% normal
%CURRENT_APP_VERSION% 16.0
%IDS% Keine Ersetzung:
GUID oder ID (name@domain) einer Erweiterung.
%LOCALE% en-US
%NAME% Keine Ersetzung:
immer Firefox
%OS% WINNT
%OS_VERSION% Windows_NT%206.1

Windows_NT%206.1.1.0%20(x86) bzw.
Windows_NT%206.1.1.0%20(x64) → nur bei app.update.url
%PRODUCT% Keine Ersetzung:
immer Firefox
%VERSION% 16.0
URL-Einstellungsname Zweck
app.support.baseURL Aufruf der Firefox Hilfe
app.update.url Firefox Aktualisierungsprüfung und Aktualisierung
browser.aboutHomeSnippets.updateUrl Aktualisierung der „Snippets“ auf der „Firefox Homepage“
s. a. Erweiterte Konfiguration
extensions.blocklist.url Aktualisierung der Blockliste für Malware-Erweiterungen
extensions.getAddons.get.url Download von Erweiterungsdatei
extensions.getAddons.getWithPerformance.url Download von Erweiterungsdatei im Hintergrund
extensions.getAddons.recommended.url Anzeige empfohlener Erweiterungen
extensions.getAddons.search.browseURL Suche von Erweiterungen
extensions.getAddons.search.url
extensions.update.background.url Aktualisierungsprüfung und Aktualisierung installierter Erweiterungen
werden nicht geändert, s. a. Add-on Update Checker Erweiterung
extensions.update.url
extensions.webservice.discoverURL Add-ons suchen Startseite
media.gmp-manager.url Download und Aktualisierung von GMPs

Browserprofil-Tests

Wie der Browser über die HTTP Kopfzeilen und weitere Daten bei den Webservern vor und nach Manipulationen der Browserkennung in Erscheinung tritt, kann man auf verschiedenen Seiten analysieren lassen. Dabei sollte man die Aufrufe mit und ohne aktiviertem Java, Javascript, Flash, direkt und anonymisiert über ein Anonnetz durchführen.

Anwendungen

Für Dateien und Protokolle kann in Firefox mit verschiedenen Aktionen festgelegt werden, wie Firefox mit Dateien und Diensten umgeht:

  • Datei speichern
  • Jedes Mal nachfragen
  • Plugin (in Firefox) verwenden (z. B. Flash)
  • Lokale Anwendung, Webanwendung oder Firefox-Funktion verwenden (z. B. Thunderbird oder Googlemail für mailto://, Feedreader oder Firefox Dynamische Lesezeichen für RSS-Feeds)

Es kann u. U. sinnvoll sein, einzelne Dateitypen zuerst lokal abzuspeichern, um sie später mit einer Anwendung zu öffnen, Dateitypen nur mit bestimmten Anwendungen öffnen zu lassen bzw. extern und nicht intern in Firefox per Plugin oder sich im Zweifelsfall lieber fragen zu lassen, anstatt Inhalte automatisch mit Anwendungen öffnen zu lassen, deren Dateityp automatisch mit einer installierten Anwendung verknüpft wurde.

Werden Inhalte manuell oder automatisch mit externen Anwendungen geöffnet, sind an diese Anwendungen die gleichen Sicherheits- und Absicherungsanforderungen zu richten wie an den Browser selbst.

Plugins

Generell gilt wie für Erweiterungen, die Anzahl installierter Plugins so klein wie möglich zu halten.

Beliebte Plugins

Flash Plugin

Sofern das Adobe Flash-Plugin genutzt wird, sollten grundlegende Optionen mit dem Adobe Flash Player Einstellungsmanager oder mit dem lokal installierten Flash Einstellungsmanager so restriktiv wie möglich festgelegt werden. Die Einstellungen werden unter Linux in der ~/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/settings.sol Datei gespeichert. Aufgrund der chronischen Sicherheitsmängel und der Deanonymisierung wird dazu geraten, Flash nicht zu verwenden und ein installiertes Plugin zu deinstallieren.

Lokaler Adobe Flash Einstellungsmanager

Anschließend kann man den Eigentümer rekursiv für das gesamte ~/.macromedia Verzeichnis auf root ändern und der Benutzergruppe alle Schreibrechte entziehen, was auch das Setzen sogenannter „Flash-Cookies“ unterhalb des ~/.macromedia Verzeichnisses oder eine Manipulation der Flash Einstellungsdatei unterbindet.

Wenn man unter Linux ein Firefox Profil für AppArmor verwendet, kann man auch für die Flash Einstellungsdatei und das übergeordnete Verzeichnis (sys/settings.sol) für die Benutzergruppe Schreibrechte vergeben, um als Benutzer Flash Einstellungen vorzunehmen, aber das Schreibrecht über das AppArmor Profil verweigern. Für die Dauer von Einstellungsänderungen bei Verwendung des Online Flash Einstellungsmanagers von Adobe versetzt man das Firefox Profil in den complain Modus und danach wieder in den enforce Modus.

Zusätzlich sollte Flash per „Click to Play“ und die NoScript Erweiterung nur fallweise aktiviert werden. Alternativ kann der Link zu einem Flash-Video auch einem Download-Manager wie z. B. youtube-dl übergeben werden, um die Videodatei in verschiedenen Formaten herunterzuladen – mit Weiterleitung über Privoxy, Tor und einen US Tor Ausgangsknoten sogar anonymisiert und von Sperren befreit, die auf Geolokalisierung beruhen.

Java Plugin

Das Java-Plugin sollte nicht installiert werden. Wird es unbedingt benötigt, wird es nur fallweise aktiviert und bleibt ansonsten deaktiviert. Alternativ oder zusätzlich wird ein weiteres Firefox-Profil eingerichtet und das Java Plugin nur mit diesem Firefox-Profil verwendet.

PDF Plugin

Plugins zur Betrachtung von PDF-Dateien sollten nicht installiert werden bzw. deaktiviert sein. Stattdessen kann man PDF-Dokumente mit PDF-Betrachtungsprogrammen wie MuPDF öffnen lassen (wenn man sie nicht zuvor abspeichern lässt), die nur die Grundfunktionen zur Betrachtung von PDF-Dokumenten mitbringen. Zusätzlich sollte das Betrachtungsprogramm mit einem entsprechenden MAC/Sandbox Profil abgesichert werden.

"Open" und EME-CDM GMPs

Merkmale

Ab Firefox 33 implementiert Firefox Gecko Media Plugins (GMPs) von denen es zwei Typen gibt: „Open“ bzw. Codec GMPs und EME-CDM (Encrypted Media Extension-Content Decryption Module) (DRM) GMPs.

Open/Codec GMPs

OpenH264 Plugin von Cisco für Videochats/-konferenzen über WebRTC.

EME-CDM (DRM) GMPs

Adobe Access, Adobe Primetime, Google Wivedine für Webvideos, Video- und TV-Streams.

Gemeinsame Merkmale beider GMP-Typen:

  • Plugins werden als binäre Bibliotheken direkt vom Server des Anbieters (ggf. ohne TLS-Verschlüsselung) heruntergeladen und aktualisiert.
  • Plugins werden im Add-ons Manager unter Plugins aufgeführt, können aber nur permanent aktiviert oder deaktiviert werden, also kein Click to Play.
  • Die Updateprüfung und das Anstoßen des Downloads wird (mit TLS-Verschlüsselung) über Mozilla-Updateserver durchgeführt, die aber über die angefragte update.xml Datei nur SHA512 Prüfsumme liefern bzw. prüfen.
  • Unterhalb des Firefox Profilverzeichnisses wird für jedes GMP ein profilname/gmp-gmpname/version/ Unterverzeichnis angelegt, das die Bibliotheks- und Metadaten-Datei des Plugins enthält. In der Metadaten-Datei stehen Pluginname, Zweckbeschreibung, Versionsangabe und Funktionen der Plugin-APIs.
  • Plugins werden per Plugin Container in einem eigenen Kindprozess geladen und ausgeführt, der zusätzlich in einer Sandbox laufen kann, um das Plugin vom Browserprozess zu isolieren und Zugriffsprivilegien hinsichtlich Dateisystem, Speicher, Netzwerkschnittstelle usw. zu beschränken – auch zur Vermeidung von Fingerprinting-Daten. EME-CDMs sollen immer in einer Sandbox laufen.

"Open" oder Codec GMPs

„Open“ oder propietäre Codec GMPs liefern z. B. Funktionen zum Kodieren und Dekodieren von Multimedia-Inhalten, zukünftig vermutlich auch zum Anzeigen verschiedener Datei- bzw. Dokument-Typen. Für GMPs gelten die gleichen Aussagen wie oben zu Plugins. Deshalb sind Codec GMPs auch nicht anders zu bewerten als z. B. das Flash Plugin und werden vermutlich Plugins diesen Typs ablösen. Die Bewertung des Anbieters (auch hinsichtlich seiner Kooperation mit Geheimdiensten und Sicherheitsbehörden) bleibt dem Benutzer überlassen. Negativ stieß jedenfalls bei der erstmaligen Aktualisierung auf Firefox 33 auf, dass das Cisco OpenH264 GMP automatisch und ohne Nachfrage heruntergeladen, installiert und später aktualisiert wurde und das auch noch ohne TLS-Verschlüsselung. Das Ausnehmen der GMPs von der Click to Play Kontrolle durch den Benutzer ist ebenfalls negativ zu bewerten.

Download des OpenH264 GMP.

EME-CDM GMPs

Die Encrypted Media Extensions (EME) sind eine W3C HTML5 Spezifikation für <video> und <audio> Elemente, die von Apple, Microsoft, Google und Unterhaltungsinhalte-Anbietern wie Netflix für das DRM-beschränkte Abspielen von Video- und Audiodaten entwickelt und beim W3C durchgedrückt wurde. Sie stellen allgemein gesprochen die Browser Javascript API für den Zugriff auf die Plugins dar, die DRM-verschlüsselte Inhalte entschlüsseln und mit einem Multimedia-Dekoder dekodieren (CDM).

Vereinfachtes CDM Modell. Quelle:
Reconciling Mozilla’s Mission and W3C EME

Im Unterschied zu „Open“ GMPs ist ein EME-CDM immer ein propietäres, closed-source GMP, das Mozilla selbst als „Black Box“ bezeichnet. Nach Download und Installation vom Anbieter-Server wird beim Aufruf von EME-DRM Inhalten das CDM wie bei „Open“ GMPs über den Plugin Container in eine Sandbox-Umgebung geladen. Der Plugin Container wird dabei als „CDM Host“ bezeichnet.

Um den Zugriff auf Inhalte an ein Gerät bzw. Browser einschränkend zu binden, generiert der CDM Host für jeden Inhalte-Anbieter (z. B. YouTube, Apple usw.) zuerst eine eigene, eindeutige Geräte- bzw. Browser-ID. Die ID ist ein Hashwert, der aus Gerätedaten und eines zufällig ermittelten Origin-Secret als „Salt“ gebildet wird (wobei es an anderer Stelle auch heißt, der Saltwert wäre einfach der User Agent), um wg. Browser-Fingerprintings keine realen Daten zu verwenden. D. h., das EME-CDM GMP ist an einen speziellen CDM Host bzw. Browser gebunden. Wird der CDM Host manipuliert bzw. ausgetauscht, deaktiviert sich das EME-CDM.

Die ID bleibt für das EME-CDM bzw. einen Inhalte-Anbeiter solange gleich und damit wiedererkennbar, wie man nicht das Origin-Secret löscht und damit die ID zurücksetzt. Diese Möglichkeit soll angeboten werden und muss dann auch genutzt werden, um Benutzerprofile zu vermeiden.

Greift der Benutzer mit seinem Browser auf DRM Inhalte zu, transportiert Firefox über IPC Känale die verschlüsselte Datei oder den verschlüsselten Datenstrom über den CDM Host zum CDM. Das CDM ermittelt die enthaltene Schlüssel-ID und lässt den Entschlüsselungsschlüssel vom Browser über eine TLS-verschlüsselte Verbindung vom CDM Anbieter-Server herunterladen, entschlüsselt und dekodiert die Daten mit dem enthaltenen Dekoder und transportiert die Daten über den CDM Host und IPC Kanäle zu Firefox, der sie anzeigt oder abspielt, aber nicht mehr abspeichern kann.

Ob die GMP und CDM Host „Sandbox“ das CDM bzw. GMP tatsächlich zuverlässig von Browser, Betriebssystem, Dateisystem und Hardware isoliert und genauso zuverlässig dem Browser-Fingerprintig und der Wiedererkennung des Benutzers entgegenwirken kann, bleibt beim CDM angesichts des „Black Box“ Charakters des CDM, der (noch) nebulösen ID-Generierung, dem verschlüsselten Kanal zum Anbieter-Server und einer eventuellen Kooperationsbereitschaft mit Geheimdiensten und Sicherheitsbehörden dahingestellt bzw. zweifelhaft. Siehe z. B. Gecko Media Plugin sandbox escape.

Deaktivierung

Falls man nicht nur auf offene und freie Angebote wie z. B. MediaGoblin ausweichen kann oder will, führt wohl leider kein Weg an EME-CDMs vorbei. Neben der Deaktivierung im Add-on Manager kann man GMPs und EME auch in der erweiterten Konfiguration deaktivieren:

Einstellungsname Wert Anmerkungen
browser.eme.ui.enabled true In den Einstellungen unter Inhalt erscheint die Inhalte mit DRM-Kopierschutz wiedergeben Option, mit der man den Wert der media.eme.enabled Einstellung auf false oder true schaltet.
media.eme.apiVisible false/true Mit false können Websites nicht abfragen, ob EME aktiviert ist oder nicht. Der true Wert bewirkt das Gegenteil, die Website kann ggf. alternative Inhalte anbieten (was unwahrscheinlich ist) und Firefox könnte einen entsprechenden Hinweis einblenden, dass EME nötig ist.
media.eme.enabled false Deaktiviert die EME DOM API.
media.gmp-manager.url leer Keine Downloads und Aktualisierungen von GMPs. Zusätzlich die gmp Unterverzeichnisse im Firefox Profilverzeichnis löschen.
media.gmp-gmpname.enabled
media.gmp-gmpname.provider.enabled
false
false
Deaktiviert die Verwendung des GMP und die Kommunikation zum Anbieter.

Plugin Container

Für Flash und weitere Plugins wurde die plugin-container[.exe] Anwendung in Firefox integriert, mit der die Plugins in einem eigenen Prozess, isoliert vom eigentlichen Browser Prozess, ausgeführt werden, was dem Schutz des Broser vor Abstürzen oder Einfrieren aufgrund der Plugin Prozesse dient.

Es wurde beobachtet, dass der plugin-container Prozess die Vorgaben zur Netzwerk-Verbindung und damit auch die Weiterleitung an Proxys zwecks Anonymisierung weniger honoriert, als wenn das Plugin im Kontext des Browser Prozesses läuft. Generell gilt, dass die Anonymisierung des Datenverkehrs mit aktivierten Plugins nicht garantiert ist und installierte und/oder aktivierte Plugins zur Bildung eines eindeutigen Browserprofils („Browser Fingerprinting“) beitragen.

Mit diesen Einstellungen kann man die Nutzung der plugin-container Anwendung aktivieren bzw. deaktivieren:

Einstellungsname Wert Anmerkungen
dom.ipc.plugins.enabled
dom.ipc.plugins.enabled.pname.dll/so
dom.ipc.plugins.timeoutSecs
false
false
-1
deaktiviert die Ausführung des plugin-container Prozesses. Siehe aber auch „Open“ und EME-CDM GMPs.

Click to Play

Ab Firefox 14 wurde die Opt-in Aktivierung für Plugins – auch „Click to Play“ gennant – integriert. Damit wird vor Ausführung von Plugins die Bestätigung des Benutzers durch Anklicken von Hinweisicons bzw. Akzeptieren von Nachfragen in der Informationsleiste eingeholt. Die Funktion wird mit true für die plugins.click_to_play Einstellung in der erweiterten Konfiguration aktiviert.

Neben der generellen „Click to Play“ Aktivierung kann für jedes Plugin im Add-ons Manager oder in der erweiterten Konfiguration festgelegt werden, wie „Click to Play“ angewendet wird und wie standardmäßig Plugins zu behandeln sind, die neu hinzugefügt wurden:

Einstellungsname Wert Anmerkungen
plugin.default.state 0 neu hinzugefügte Plugins sind zunächst deaktviert. Standard ist 2 (Immer aktivieren)
plugin.state.name n 0 (Nie aktivieren im Add-ons Manager)
1 (Nachfragen, ob aktiviert werden soll im Add-ons Manager - „Click to Play“)
2 (Immer aktivieren im Add-ons Manager)

Eine ähnliche Funktion bot bereits die NoScript Erweiterung. Für das Zusammenspiel der NoScript Funktion mit der Firefox Opt-in Aktivierung existiert die noscript.smartClickToPlay Einstellung in der erweiterten Konfiguration. Mit dem true Wert wird nur das NoScript Hinweisicon genutzt und bei eingeschalteter Firefox „Click to Play“ Option die Erlaubniserteilung an die Firefox Opt-in Aktivierung weitergeleitet. Wer nur die Firefox Opt-in Aktivierung für Plugins nutzen will, muss die Verbote der Plugintypen in den Embeddings Einstellungen von NoScript deaktivieren. Die „Click to Play“ Funktionen kann man mit der Click to Play per-element Erweiterung ergänzen.

Plugin-Fingerprinting

Die Einstellung über den plugins.enumerable_names Einstellungsnamen, ob keine, alle oder nur bestimmte Plugin- und MIME-Typen abgefragt werden können, wurde von Mozilla entfernt. Wer NoScript verwendet, kann die folgenden Einstellungen und String-Werte manuell einpflegen, um die Ermittlung installierter Plugins per Javascript zu unterbinden:

Einstellungsname String-Wert
noscript.surrogate.noplugin.exceptions leer
noscript.surrogate.noplugin.replacement Object.defineProperty(navigator, "plugins", {value: []});
noscript.surrogate.noplugin.sources @^https?://

Datenschutz

Verfolgung

[ ] Websites mitteilen, meine Aktivitäten nicht zu verfolgen

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. Laut dem Mozilla DNT Dashboard ist die Annahme der Einstellung und Aktivierung der DNT: 1 Kopfzeile – global wie in den USA – äußerst gering. Deshalb sollte man die DNT Option deaktiviert lassen. Wer die NoScript Erweiterung einsetzt, setzt zusätzlich die noscript.doNotTrack.enabled Einstellung in der erweiterten Konfiguration auf false.

[ ] Schutz vor Aktivitätenverfolgung in privaten Fenstern verwenden

Mit der Einstellung wird der Schutz vor Aktivitätenverfolgung (Tracking-Protection) bei Verwendung des Privaten Modus (siehe auch Chronik und Privater Modus) aktiviert, indem eine von Disconnect.me gepflegte Blockierliste in der „Basisschutz“ oder „Strenger Schutz“ Variante verwendet wird, mit der Anfragen zu Domains über Javascripte, Webseiten-Elemente und Werbung in der aufgesuchten Webseite blockiert werden, die Aktivitätenverfolgung betreiben.

Eine Alternative – auch hinsichtlich Kontrolle, Unabhängigkeit und Selbstbestimmung – stellen Erweiterungen wie uMatrix, uBlock, RequestPolicy 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.

Chronik und Privater Modus

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

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

Jeder Firefox-Nutzer 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 drei 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 mit dem sogenannten Privaten Modus gleichbedeutend ist
  3. man benutzt für verschiedene Datentypen unterschiedliche, d. h. „benutzerdefinierte“ Einstellungen

Die Aktivierung des Privaten Modus, in den man Firefox über eine Einstellung auch automatisch starten lassen kann, ist die einfachste und sicherste Methode, die Anlage und den Missbrauch gespeicherter Daten zu unterbinden. Ab Firefox 20.0 kann man im Kontextmenü eines Links den Link in einem separaten Browserfenster im Privaten Modus öffnen oder man öffnet über den Menüpunkt Datei ein neues Browserfenster mit Privatem Modus. Der Private Modus kann mit der Private Tab Erweiterung auf Tab-Unterfenster und gespeicherte Bookmarks ausgedehnt werden. Ab Firefox 33.0 wurde die Zwischenablage-Funktionalität der Betriebssystem vom Privaten Modus ausgenommen, d. h. wenn Inhalte im Privaten Modus in die Zwischenablage kopiert werden, bleiben sie auch dort, nachdem der Private Modus beendet wurde.

Wählt man stattdessen die dritte Vorgehensweise, sollte man:

  • die Chronik (ausgewählte oder alle Datentypen) spätestens dann löschen lassen, wenn Firefox geschlossen wird.
  • 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.
    Zum Beispiel kann man die Schreibberechtigungen zur content-prefs.sqlite Datei entfernen, in der die „Website-Einstellungen“ gespeichert werden, so dass auch während einer Sitzung keine Daten gespeichert bzw. wieder ausgelesen werden können.
  • gute Cookie-Manager Erweiterungen installieren.

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:

Ab Firefox 33 kan man das Vergessen Icon, auch „Panik Button“ genannt, verwenden. 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.
Wenn man nur Teile der Chronik leeren will, weil man z. B. mit gesetzten Cookies angemeldet ist und nur den Zwischenspeicher leeren will, kann man besser das Chronik Icon verwenden. 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.

Website-Berechtigungen

Die Website-Berechtigungen und mit ihnen einhergehenden Daten fließen ebenfalls in die Chronik ein. Die Regulierung der Standard-Berechtigungen für alle Websites mit dem Berechtigungs-Manager über die Eingabe von about:permissions + Enter in der Adressleiste wurde ab Firefox Version 45.0 entfernt. Spezifische Berechtigungen für einzelne Websites können im Berechtigungen Tab eingestellt werden, nachdem der Seiteninformation Button in der Adresseleiste anklickt wurde.

Zu den Berechtigungen zählen:

  • Speichern von Passwörtern im internen Firefox Passwort-Manager
  • Übermittlung des eigenen Standorts per Geo-Lokalisierung mittels IP-Adresse / WLAN Access Point Informationen und Google Location Service
  • Aktivierung und Verwendung angeschlossener Mikrofone und Kameras
  • Setzen/Speichern verschiedener Cookie-Typen
  • Öffnen von Popup-Fenstern
  • Speichern und Abrufen von Daten im Offline Speicher
  • Aktivieren des Vollbild-Modus per Fullcreen API
  • Installieren von Erweiterungen

Die Berechtigungen sollten optimal auf Blockieren eingestellt sein, gefolgt von Jedes Mal nachfragen bis Erlauben.

Sicherheit

Addons-, Phishing- und Malware-Schutz

[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 Erweiterungen („Add-ons“) 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 ab und zu über das Menü Extras → Add-ons kontrolliert werden.

Über den Ausnahmen Button können die Hostnamen der Websites eingetragen werden, denen die Installation von Addons erlaubt sein soll. Die Ausnahme-Liste sollte generell immer leer sein.

[x] Hinweis anzeigen, falls die besuchte Website als attackierende Website | Betrugsversuch eingeschätzt wird

Kann aktiviert werden, um eine Warnmeldung zu erhalten, wenn sich die Adresse der Website in der Datenbank wiederfindet, die bekannte Websites enthält, die dem Phishing dienen oder wenn sich ein Hinweis zur Software, die der Benutzer herunterlädt, in der Datenbank wiederfindet, die Merkmale bekannter Malware enthält.

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.

Als Lieferant der Datenbank dient Firefox Google. In Firefox-Versionen < 3 enthielt der Phishing Schutz einen erweiterten Modus, über den jede aufgerufene Adresse zu Google übertragen wurde, um sie zu „überprüfen“. Ab Firefox Version 3 gibt es nur noch die lokale urlclassifier2.sqlite SQLite Datenbank, die der Firefox Browser nach dem Start von Google herunterlädt und regelmäßig aktualisiert.

Allerdings ist zu beachten, dass bei Nutzung der Safebrowsing 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 Adresse des Google Servers ist als Wert des browser.safebrowsing.provider.0.gethashURL Einstellungsnamens angegeben. Wer die Übertragung unterbinden will, kann den Wert löschen.

Application Reputation Überprüfung

Mit Firefox 31.0 wurden die Safebrowsing Funktionen um Application Reputation Prüfprozeduren erweitert, für die es keine grafischen Deaktivierungsoptionen gibt. Werden später 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. Ab Firefox 32.0 werden – nur unter Windows – 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 und Alternativen

Als Alternative zu den Safebrowsing-Funktionen kann man das Mycroft Such Plugin für Googles Safebrowsing Dienst installieren, das über die Firefox Suchleiste oder zusammen mit der Context Search Erweiterung über das Kontextmenü aus Webseiten heraus benutzt wird. Selbst installierte Antivirus Anwendungen sind auch eine Alternative, sofern man den Sicherheitsversprechungen der Hersteller Glauben schenken will und sie sind genauso gut bzw. schlecht wie Safebrowsing.

Wer die Safebrowsing-Funktionen so weit wie möglich deaktivieren will, setzt folgende Einstellungen über die erweiterte Konfiguration:

Einstellungsname Wert Anmerkungen
browser.safebrowsing.downloads.enabled false
browser.safebrowsing.downloads.remote.enabled false
browser.safebrowsing.enabled false
browser.safebrowsing.malware.enabled false
browser.safebrowsing.*URL leer alle Werte löschen, die auf URL enden

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 Passwörtern kann man entweder den Firefox eigenen Passwort-Manager, eine Passwort-Manager Erweiterung mit „Online“ Passwort-Datenbanken oder eine eigenständige, lokale Passwort-Manager Anwendung benutzen.

Ich empfehle die Deaktivierung des Firefox Passwort-Managers und keine Nutzung von Passwort-Datenbanken, die durch externe Anbieter von Dienstleistungen zum Management von Konten bzw. Passwörtern bereitgestellt und durch eigene Passwort-Manager verwaltet werden. Stattdessen ist die Verwendung des lokal einzusetzenden KeePass Passwort-Managers zu empfehlen, den es für gängige Betriebssysteme und jede mobile Plattform gibt, sodass man die gleiche KeePass Passwort-Datenbank auf alle Geräte spiegeln bzw. „synchronisieren“ kann.

KeePassX Hauptfenster

In KeePass werden die Login- und Kontendaten in Kategorien 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.

Im Kommentarfeld wird die Auto-Type Sequenz hinterlegt, die Daten (zumeist Benutzernamen, Sprungmarke und Passwort) angibt, die manuell über eine Hotkey-Kombination in Anmeldefelder einer Webseite übertragen werden, die über den Auto-Type-Window String von KeePass identifiziert wird. Alternativ wird das KeePass Hauptfenster über das Anklicken des KeePass Icon im Systemabschnitt geöffnet und dann Benutzername und Passwort zuerst in die Zwischenablage eingefügt und danach in die Anmeldefelder der Webseite kopiert.

Ergänzend kann man die Hostname in Titlebar Erweiterung installieren, die den Hostnamen der URL in die Firefox Titelleiste einsetzt – optional mit Angabe der Protokollbezeichnung HTTP bzw. HTTPS, sodass der Auto-Type-Window String genauer spezifiziert werden kann, was eine versehentliche Falscheingabe bei gleichen oder fehlenden Titelangaben von Websites verhindert.

komplexe Passwörter mit dem KeePassX Passwort-Generator

[ ] Passwörter speichern

Mit Aktivierung der Option wird der Firefox eigene Passwort-Manager verwendet. Firefox speichert dann Benutzername-Passwort Kombinationen, die mit den jeweiligen Domainnamen der Websites verknüpft sind, in der lokalen signons.sqlite SQLite Datenbank ab. Wird die Website aufgerufen, kann Firefox die zugehörige Benutzername-Passwort Kombination automatisch in Anmelde-Formularfelder eintragen. Das kann mit folgenden Optionen in den erweiterten Einstelungen gesteuert werden:

Einstellungsname Wert Anmerkungen
signon.autofillForms bzw.
signon.prefillForms
false Benutzername-Passwort Kombinationen werden nicht automatisch in Formularfelder eingetragen

[x] Master-Passwort verwenden

Will man den Firefox eigenen Passwort-Manager verwenden, sollte diese Option aktiviert und ein Master-Passwort eingegeben werden, um die Daten der obigen Datenbank zu verschlüsseln. Danach ist der Zugriff auf Klardaten der Datenbank nur noch möglich, wenn die Datenbank nach Eingabe des Master-Passworts entschlüsselt wurde.

Liegt die Datenbank nach Eingabe des Master-Passworts im entschlüsselten Zustand vor, können u. U. unberechtigte Zugriffe auf Logindaten in der Datenbank über die Ausnutzung von Sicherheitslücken im Browser oder dem Passwort-Manager Modul oder mittels Script-Funktionen in bösartigen Webseiten und -anwendungen nicht ausgeschlossen werden. Deshalb ist die Anwendung eines externen Passwort-Managers, in dem Logindaten verwaltet und z. B. mit Hotkey-Kombinationen ebenfalls in Formularfelder übertragen werden können, zu bevorzugen. Dabei ist sicherzustellen, dass externe Passwort-Manager Anwendungen ihrerseits Logindaten sicher speichern und abgesichert zur Verfügung stellen.

Wer dennoch den Firefox Passwort-Manager verwenden möchte, kann seinen Gebrauch z. B. mit der Secure Login und der Master Password Timeout Erweiterung zusätzlich absichern.

Passwort-Manager Erweiterungen können Websiteadressen und Logindaten entweder wie externe Passwort-Manager und der Firefox Passwort-Manager in einer eigenen verschlüsselten Datenbank lokal verwalten, in einer entfernten Datenbank auf dem Server eines Dritt-Anbieters über eine verschlüsselte oder unverschlüsselte Verbindung oder eine zuvor lokal verschlüsselte Datenbank bei einem Dritt-Anbieter ablegen und danach Daten über verschlüsselte oder unverschlüsselte Verbindungen abrufen. Dabei ist zu bedenken, dass der Transport der Daten von und zu der entfernten Datenbank ohne verschlüsselte Verbindung generell als unsicher anzusehen ist, dass die Speicherung, Verwaltung und der Abruf u. U. jenseits der Versprechungen des Dritt-Anbieters ohne nötige Absicherungen und Vorkehrungen vor unautorisierten Mitlesen erfolgen kann und über die Speicherung und Zuordnung der Websiteadressen u. U. ein zentrales Nutzer-Profil beim Dritt-Anbieter entsteht.

Sync (Weave)

Der Firefox Sync Dienst dient der Synchronisierung der Bookmarks, aller Daten der Chronik, geöffneter Fenster-Tabs und Einstellungen zwischen mehreren Firefox Installationen auf verschiedenen Geräten (PCs, Smartphones usw.). Für die Nutzung des Sync Dienstes wird zunächst über Firefox-Sync einrichten ein Benutzername, Passwort und eine E-Mail Adresse angegeben, mit denen nach verschlüsselter Übertragung ein Konto auf dem Sync Server eingerichtet wird. Zusätzlich wird ein weiteres Passwort angegeben, mit dem die zu synchronisierenden Daten lokal verschlüsselt werden, bevor sie zwecks Synchronisierung ebenfalls verschlüsselt zum Sync Server übertragen und später mit einer anderen Firefox Installation abgerufen werden.

Wer den Sync Dienst nicht nutzen will, sollte Firefox-Sync nicht einrichten.

Erweitert

Allgemein

Browsing

[ ] Hardware-Beschleunigung verwenden, wenn verfügbar

Deaktivieren, um das Browser-Fingerprinting per Hardware-Fingerprinting zu erschweren.

Datenübermittlung

[ ] Telemetrie
[ ] Firefox-Statusbericht
[ ] Absturz-Melder

Mit den Telemetrie-, Status- (FHR, "Health") und Absturzmelde-Funktionen werden Daten über Konfiguration und Nutzung des Browsers, dem Betriebssystem-Kontext – das, was ein eindeutiges Browserprofil ausmacht – erhoben und an Mozilla gesendet. Ab Firefox 30 können bei aktivierter Telemetrie und aktivierten Experiment-Einstellungen 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/FHR Daten und Infrastruktur. Andererseits dienen die Daten auch der Weiterentwicklung und Optimierung des Firefox Browsers. Wer also diese Zwecke unterstützen möchte, aktiviert Kategorien der Datenübermittlung.

Mit Eingabe von about:telemetry, about:healthreport, 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.

Netzwerk

Verbindung

In den Verbindungs-Einstellungen wird festgelegt, wie Verbindungen zwischen Firefox und Servern aufgebaut werden und verlaufen. Damit sind die Verbindungs-Einstellungen der zentrale Punkt für die Anonymisierung der Firefox Nutzung.

Firefox Verbindungs-Einstellungen

In der folgenden Tabelle sind die IP-Adressen (immer 127.0.0.1) und Portnummern aufgeführt, die für die verschiedenen Protokolle einzutragen sind, wenn man einen der Anondienste Tor, I2P oder JonDo direkt oder indirekt über den Filter-Proxy Privoxy oder Caching-Proxy Polipo zur Anonymisierung der Verbindungen nutzen will. Zur Installation von Privoxy und Nutzung seiner erweiterbaren Blockier- und Filterfunktionen wird besonders geraten.

Natürlich ist es auch möglich, parallel alle der genannten oder weitere Anondienste zu nutzen, sofern die jeweiligen Anwendungen der Anondienste auf dem Rechner installiert sind, um Verbindungen über unterschiedliche Anondienste zu leiten. Zum Beispiel kann Tor immer installiert sein, um Tor generell als SOCKS-Proxy für die anonymisierte Namensauflösung zu verwenden, während HTTP Verbindungen über I2P oder mit dem Transport Layer Security (TLS) Protokoll verschlüsselte HTTPS Verbindungen über JonDo geleitet werden.

Tor JonDo I2P Privoxy → Anondienst1) Polipo → Anondienst2)
HTTP-Proxy - 127.0.0.1:4001 127.0.0.1:4444 127.0.0.1:8118 127.0.0.1:8123
SSL-Proxy - 127.0.0.1:4001 127.0.0.1:44453) 127.0.0.1:8118 127.0.0.1:8123
FTP-Proxy - 127.0.0.1:4001 127.0.0.1:44444) 127.0.0.1:81185) 127.0.0.1:81236)
Gopher-Proxy - 127.0.0.1:4001 127.0.0.1:44447) 127.0.0.1:81188) 127.0.0.1:81239)
SOCKS-Host 127.0.0.1:9050 127.0.0.1:400110) 127.0.0.1:444611) 127.0.0.1:Port12) 127.0.0.1:Port13)
SOCKS [x] SOCKS v5

1) Eintrag in der Privoxy config Datei, um alle Verbindungen an einen Anondienst weiterzuleiten:
für Tor:
forward-socks5 / localhost:9050 .
für JonDo:
forward-socks5 / localhost:4001 . oder
forward / localhost:4001
für I2P:
forward / localhost:4444
forward :443 localhost:4445
2) Eintrag in der Polipo config Datei, um alle Verbindungen an einen Anondienst weiterzuleiten:
für Tor:
socksParentProxy=localhost:9050
socksProxyType=socks5
für JonDo:
socksParentProxy=localhost:4001
socksProxyType=socks5 oder
parentProxy=localhost:4001
für I2P:
parentProxy=localhost:4444
3) Um I2P als „SSL-Proxy“ für TLS verschlüsselte Verbindungen zu nutzen, muss in I2P mindestens ein zusätzlicher I2P Client-Tunnel vom Typ CONNECT/SSL mit mindestens einem I2P SSL-Outproxy eingerichtet werden. Siehe I2P https FAQ
4), 5), 6) Das File Transfer Protocol (FTP) wird von den Proxys nicht unterstützt. Mit dem Proxy-Eintrag wird verhindert, dass der Browser über FTP-Links in Webseiten direkte bzw. nicht anonymisierten Verbindungen aufbaut.
7), 8), 9) Gopher ist ein nicht mehr gebräuchlicher Informationsdienst. Das Gopher-Protokoll wird von den Proxys nicht unterstützt. Sollten Webseiten dennoch Gopher-Links enthalten, werden mit dem Proxy-Eintrag direkte bzw. nicht anonymisierte Verbindungen unterbunden.
10) Für die Verwendung von JonDo als SOCKS-Proxy muss der erste Knoten der Mix-Kaskade das SOCKS-Protokoll und die im Browser angegebene SOCKS Version unterstützen bzw. müssen Mix-Kaskaden genutzt werden, die in den JonDo Einstellungen unter Netzwerk → Dienste → Anonymität mit „S“ für „Unterstützt SOCKS“ gekennzeichnet sind.
11) Um eine lokale I2P SOCKS-Schnittstelle zu aktivieren, muss in I2P ein zusätzlicher I2P Client-Tunnel vom Typ SOCKS 4/4a/5 eingerichtet werden. Siehe I2P SOCKS Seite. Verbindungen über die I2P SOCKS-Schnittstelle sind jedoch nur zu internen I2P Adressen (*.i2p) möglich.
12), 13) Als Port kann der Tor (9050) oder JonDo (4001) SOCKS-Port eingetragen werden
FoxyProxy Erweiterung: Eine Möglichkeit, viele Proxys und Anondienste zu verwalten und zu nutzen.

Für die anonymisierte Namensauflösung wird entweder Tor oder JonDo als SOCKS-Proxy verwendet und die entsprechende IP-Adresse und Portnummer in den Verbindungs-Einstellungen eingetragen (s. o.). In den erweiterten Einstellungen von Firefox (einseh- und editierbar über about:config im Adresseingabefeld) werden folgende Einstellungen gesetzt:

Einstellungsname Wert
network.proxy.socks 127.0.0.1
network.proxy.socks_port 9050 (Tor) 4001 (JonDo)
network.proxy.socks_remote_dns true
network.proxy.socks_version 5

Sofern Privoxy oder Polipo als Proxy mit Weiterleitung an Tor oder JonDo als SOCKS-Proxy (s. o.) zwischen Firefox und den Anondienst geschaltet wird, übernehmen die Proxys die Firefox Anfragen zur Namensauflösung und leiten sie an den Anondienst weiter.

Zusätzlich, als Ersatz oder zur Gewährleistung, dass Namensauflösungen immer, also auch durch das Betriebsystem selbst, anonymisiert durchgeführt werden, sollte auch die Konfigurationen eines lokalen DNS-Resolvers bzw. der Funktionen des Betriebssystems zur Namensauflösung so ausgerichtet werden, dass Anfragen zur Namensauflösung stets über einen der Anondienste erfolgen und nicht durch die Nameserver des Internetzugang-Providers. Für Anregungen siehe Namensauflösung ohne Zensur und Überwachung.

Lokaler und Offline Speicher (Cache)

Während sich die Einstellung, wieviele MB als Speicherplatz für Zwischengespeicherte Webinhalte verwendet werden können, auf den lokalen Zwischenspeicher im Cache Verzeichnis innerhalb eines Firefox Profils („Disk Cache“) bezieht, in das u. a. Webseiteninhalte temporär zwischengespeichert werden, um sie bei erneutem Aufruf schneller in das Browserfenster zu laden, betrifft Offline-Webinhalte und -Benutzerdaten bzw. die Option „[x] Nachfragen, wenn Websites Daten für die Verwendung im Offline-Modus speichern möchten“ einen weiteren lokalen Zwischenspeicher, in den Inhalte und Daten für Web-Anwendungen und von Websites dauerhaft abgespeichert werden, um sie auch bei nicht bestehender Internet-Verbindung („Offline-Modus“) weiter zu nutzen („Offline Cache“).

Wer keine Web-Anwendungen offline nutzen und damit auch keine weiteren Daten vorhalten will, die dauerhaft bestehen und abzurufen sind, schaltet die Option (browser.offline-apps.notify Einstellungsname in der erweiterten Konfiguration) ab und setzt die unten angegebenen Einstellungen in der erweiterten Konfiguration. Wer Web-Anwendungen nur für die Dauer der aktuellen Browser-Sitzung offline nutzen möchte, kann das automatische Löschen von „Offline-Website-Daten“ in den Chronik Datenschutzeinstellungen aktivieren (s. o.).

Wer zum Beispiel zu Archivierungszwecken nur Websites bzw. Webseiten-Inhalte speichern und ohne Internet-Verbindung offline nutzen möchte, kann zum Beispiel die Scrapbook Plus bzw. Scrapbook Erweiterung installieren und damit die Inhalte auch an jedem anderen Ort außerhalb des Firefox Profils abspeichern lassen.

Die Deaktivierung aller Zwischenspeicher wird durch das Setzen von erweiterten Einstellungen ermöglicht:

Einstellungsname Wert
browser.cache.disk.capacity 0
browser.cache.disk.enable false
browser.cache.disk.smart_size.enabled false
browser.cache.disk_cache_ssl false
browser.cache.memory.enable false
browser.cache.offline.capacity 0
browser.cache.offline.enable false
devtools.cache.disabled true
dom.caches.enabled false
gfx.downloadable_fonts.disable_cache true
offline-apps.allow_by_default false

Update

Firefox-Updates

[ ] automatisch
[ ] suchen und nachfragen
[ ] nicht suchen

Bei Betriebssystemen, die Firefox aus eigenen Software-Quellen installieren und automatisch aktualisieren, erübrigt sich die Aktivierung. Wer Firefox manuell installiert oder sich nicht allein auf den Update-Hinweis verlassen möchte, kann die zweite Option auswählen und/oder sich über die Mozilla Mailingliste für Ankündigungen zu neuen Firefox Versionen informieren lassen. Die Veröffentlichung neuer Firefox-Versionen zu ignorieren oder nicht einzuspielen, verbietet sich von selbst.

Sofern Add-ons über die Add-ons Firefox Seite bezogen wurden, werden die Add-ons regelmäßig über verschlüsselte Verbindungen zu Mozilla auf vorliegende Aktualisierungen überprüft und auch über verschlüsselte Verbindungen von Mozilla aktualisiert. Bei Add-ons von anderen Websites bzw. direkt vom Programmierer wird die Überprüfung und Aktualisierung ggf. über diese Websites und ohne verschlüsselte Verbindung durchgeführt.

Wer vor Add-on Aktualisierungen informiert werden und sie selbst anstoßen möchte, kann die Add-on Update Checker Erweiterung nutzen.

Suchmaschinen

Die automatische Aktualisierung kann aktiviert werden, sofern man ausschließlich die mit Firefox ausgelieferten Such-Plugins benutzt.

Plugins für Suchmaschinen und Suchdienste, die man u. a. mit der Firefox Suchleiste oder mit weiteren Such-Erweiterungen nutzen kann, können entweder über das Mycroft Projekt oder die Firefox Add-ons Seite für Firefox Suchmaschinen-Plugins gefunden und installiert werden. Einige Websites veröffentlichen über ihre Webserver eigene Such-Erweiterungen, die sich über die Drop-down Liste des Suchmaschinen-Eingabefelds hinzufügen lassen. Viele Such-Plugins enthalten etliche Bilddateien, Bibliotheken, Javaskripte, die völlig überflüssig sind und eventuell schädliche Funktionen ausführen.

Wer die vollständige Kontrolle über die verwendeten Such-Plugins und ihren Anweisungen behalten will, sollte die mit Firefox ausgelieferten Such-Plugins mit der Context Search X Erweiterung „löschen“ oder in den Suchen Firefox-Einstellungen deaktivieren, über das Mycroft Projekt die gewünschten Such-Plugins oder eigene Such-Plugins nachinstallieren, in XML-Dateien von Such-Plugins die Anweisungen (z. B. wird TLS-Verschlüsselung genutzt oder nicht) kontrollieren und die Option zur Aktualisierung der Suchmaschinen in den Firefox Einstellungen deaktivieren.

Suchmaschinen anpassen

Ab Firefox 45 wird laut den Anmerkungen für Entwickler bzw. Store user-installed search plugins in a JSON file and stop loading [profile] das searchplugins Unterverzeichnis innerhalb des Profil-Verzeichnisses des Benutzers nicht mehr verwendet, um darin eigene XML-Dateien von Such-Plugins zu speichern und zu nutzen. Stattdessen wird einmalig ein existierendes searchplugins Verzeichnis ausgelesen und die Daten aller XML-Dateien in die LZ4 komprimierte JSON-Datei search.json.mozlz4 transferiert. Danach wird das Verzeichnis nicht mehr verwendet oder gelöscht, solange die search.json.mozlz4 Datei existiert. Um die Daten von Such-Plugins zu modifizieren oder eigene Such-Plugins einzubringen, müsste der Benutzer die JSON-Datei mit lz4 dekomprimieren (z. B. mit lz4json, dejsonlz4) und nach dem Editieren wieder komprimieren. Will er die Daten der Such-Plugins wieder als XML-Dateien vorliegen haben, muss er die dekomprimierte JSON-Datei in XML konvertieren und weiter modifizieren – Danke Mozilla.

Es gibt zwei Methoden, eigene, angepasste Such-Plugins für Suchmaschinen weiter zu nutzen.

1. Methode
  1. man erstellt weiterhin XML-Dateien nach der OpenSearch Spezifikation – per Webinterface z. B. bei Ready2Search oder lädt fertige XML-Dateien von Mycroft und speichert/managed sie zunächst außerhalb des Firefox Profil-Verzeichnisses in einem searchplugins Verzeichnis
  2. Firefox beenden
  3. die search.json.mozlz4 Datei löschen
  4. das externe searchplugins Verzeichnis in das Firefox Profil-Verzeichnis kopieren bzw. ein existierendes Verzeichnis überschreiben
  5. Firefox erstellt aus dem searchplugins Verzeichnis eine neue search.json.mozlz4 Datei.
    Achtung: Schlüsselwörter müssen neu vergeben werden.
2. Methode
  1. in der erweiterten Konfiguration setzt man devtools.chrome.enabled auf true
  2. über Tools → Entwickler-Werkzeuge ruft man die Browser-Konsole auf
  3. Eingabe von
    Services.search.addEngine("file:///stamm/pfad/such-plugin.xml", null, null, false);

    fügt der JSON-Datei eine neue Suchmaschine hinzu. Für das Ändern Suchmaschine in der Firefox-Konfiguration entfernen und nach Ändern der XML-Datei erneut hinzufügen

Auf der Firefox Such-Plugins Seite sind einige Such-Plugins als XML-Dateien aufgeführt, die man mit beiden Methoden hinzufügen kann.

Zertifikate

Siehe auch Verschlüsselung.

  • 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 wäre 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 wäre 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.

Muss die erste Option genutzt werden, sollte ein gesondertes Profil für den oder die betroffenen Webserver eingerichtet und mit Firefox gestartet werden: firefox -no-remote -P profilname.

Validierung

[ ] Das Online-Zertifikatsstatus-Protokoll (Online Certificate Status Protocol, OCSP) verwenden, um die aktuelle Gültigkeit von Zertifikaten zu bestätigen
[ ] Wenn eine OSCP-Server-Verbindung fehlschlägt, das Zertifikat als ungültig betrachten

Die erste Option macht nur Sinn, wenn auch die zweite Option aktiviert wird. Dennoch ist OSCP 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 kann deshalb deaktiviert werden.

Eine Verbesserung der Situation könnte sich erst durch OneCRL in Verbindung mit OCSP (must) Stapling ergeben. Zusätzlich wurden ab Version 32.0 Public Key Pinning (PKP) Funktionen implementiert. Mit PKP werden vor der eigentlichen Datenübermittlung die Zertifikate von Zertifizierungsstellen und/oder Websites bzw. die Zugehörigkeit von Zertifikaten zum Domainnamen einer Website über den Abgleich von Prüfsummen kontrolliert, um MITM-Angriffe aufgrund kompromitierter Zertifizierungsstellen und gefälschter Zertifikate zu erschweren. Für die Domainnamen bzw. Website Zertifikat-Pins wird eine Liste verwendet, die fest in Firefox kodiert ist. Zukünftig kann auch eine PKP HTTP-Kopfzeile vom Webserver an den Browser (möglichst ebenfalls TLS verschlüsselt) übermittelt werden, die SHA-256 Prüfsummen gültiger Zertifikate für die Domain enthalten. Wie streng die Überprüfung per PKP „Pins“ ausfällt, bestimmt der security.cert_pinning.enforcement_level Einstellungsname (s. u. Verschlüsselung).

Zertifikate anzeigen

Fallen Zertifizierungsstellen negativ auf, kann Zertifizierungsstellen im Zertifikat-Manager über den Vertrauen bearbeiten oder Löschen oder Vertrauen entziehen Button ihre Funktion der Identitätsbestätigung für Server-, Personen/Mail- und Software-Zertifikate entzogen werden. Wird der zweite Button gewählt, werden eingebauten CA-Zertifikaten das Vertrauen entzogen, manuell hinzugefügte bzw. importierte CA-Zertifikate gelöscht.

Firefox Tuning zur Absicherung und Anonymisierung [2]

Erweiterungen

Allgemein

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.

Erweiterungen anpassen

Wenn eine Erweiterung von den Entwicklern noch nicht für aktuelle Firefox Versionen aktualisiert wurde, eine Erweiterung als nicht kompatibel für die aktuell genutzte Firefox Version ausgewiesen wird oder eine Erweiterung nach der Aktualisierung des Browsers wegen Inkompatibilität deaktiviert wurde, kann man die Erweiterung u. U. trotzdem verwenden.

  • Vor den folgenden Manipulationen sollte eine Sicherung des Profilverzeichnisses durchgeführt werden
  • Vor der Installation jeder Erweiterung sollte man sich auf Firefox Add-ons und der angegebenen Homepage zur Erweiterung über die Funktionen und den Zweck der Erweiterung informieren.

Mit der Nightly Tester Tools Erweiterung kann die automatische Überprüfung von Erweiterungen auf Kompatibilität deaktiviert und jede Erweiterung aktiviert werden. Alternativ kann die Kompatibilitätsprüfung manuell und ohne zusätzliche Erweiterung deaktiviert werden, indem für die aktuell verwendete Browserversion der extensions.checkCompatibility.<version> Einstellungsname mit Typ boolean angelegt und auf false gesetzt wird.

Bei Erweiterungen, die beide oben genannte Erweiterungen nicht manipulieren können, muss man die Erweiterung zunächst als add-on-name.xpi Datei herunterladen und mit Beibehaltung der Verzeichnisstruktur entpacken (*.xpi Dateien sind ZIP komprimierte Archive). In der install.rdf Datei wird danach die folgende Versionsangabe auf die aktuell genutzte Firefox Version geändert:

<em:maxVersion>3.6.1</em:maxVersion>

oder mit Wildcard:

<em:maxVersion>3.6.*</em:maxVersion>

Danach wird die entpackte, komplette Verzeichnisstruktur wieder mit der einfachsten ZIP-Komprimierung gepackt (deflate, normal) und das Archiv als add-on-name.xpi gespeichert. Danach wie gewohnt die xpi-Datei über den Add-on Manager installieren.

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. Pocket und Hello) 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 (Stand FF 45 ESR).

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

Liste

(DE) Dringend empfohlen
(E) Empfohlen

Name Anmerkung Einstellungen
Add-on Update Checker Prüft nach dem Start von Firefox und in einem festzulegenden Zeitintervall auf vorliegende Aktualisierungen für Add-ons. Liegt eine Aktualisierung vor, wird eine entsprechende Meldung und/oder die Verfügbare Aktualisierungen Seite im Add-ons Manager geöffnet. Die Aktualisierung kann entweder selbst angestoßen oder automatisch durchgeführt werden, was dem Firefox Standard entspricht. (E)
Add-on:
[x] Open 'Available Updates' page if an update is found und/oder
[x] Show alert when updates available
[ ] Automatically install updates
[ ] Restart after installation if needed

Zusätzlich setzt man in der erweiterten Konfiguration – falls noch nicht geschehen:
extensions.update.autoUpdateDefault und extensions.update.enabled auf false

Die Namen der Erweiterungen, die nicht aktualisiert werden sollen, können kommagetrennt in das Items not to check Feld oder als Wert des extensions.UpdateAddon.BlackList Einstellungsnamens eingetragen werden.
BetterPrivacy Löscht beim Start oder Beenden des Browsers oder automatisch in Intervallen „Flash-Cookies“ (LSOs), deaktiviert DOM Storage und das Senden von Link-Pings. Add-on:
[x] Delete flash cookies on Firefox exit oder
[x] Add LSO item to Firefox 'Clear History' dialog and settings
[x] Delete flash cookies on application start
[x] Delete flash cookies by timer, Time intervall: n Sekunden - Tage
[x] On coookie deletion also delete empty cookie folders
[x] Auto-Delete DOMStorage file
[x] Disable Ping Tracking

Mit den anderen hier genannten Einstellungen und einer restriktiven Rechtevergabe für die Macromedia Unterverzeichnisse ist die Erweiterung unnötig.
CanvasBlocker Blockiert bei aktiviertem Javascript die Nutzung der Canvas Javascript-API für Browserprofile und die Verfolgung von Besuchern per Canvas Fingerprinting. (E)
Add-on:
Den Zugriffs- bzw. Blockier-Modus auf die API kann man per Black- und Whitelists und/oder Blockier-Regeln steuern. Zum Beispiel:
Blockier-Modus: Blockiere alles oder Frage bei sichtbaren Canvas Elementen nach, wenn Black- und Whitelists nicht verwendet werden.
Cert Viewer Plus Erweitert den Firefox Zertifikate-Manager um zusätzliche Funktionen und Anzeigen. Add-on:
In PEM view window, precede each certificate with: [x] Subject, issuer, validity and extensions
Certificate Patrol Sobald man für eine erstmalig mit TLS Verschlüsselung angesurfte Website deren TLS Zertifikat erhält und wenn für diese Website zukünftig ein anderes (neues oder gefälschtes) Zertifikat ausgestellt wurde, zeigt die Erweiterung eine Warnmeldung an, so dass die Angaben des Zertifikats überprüft werden können. (E)
Die Zertifikate der besuchten Server werden in der CertPatrol.sqlite Datenbankdatei vorgehalten und sind über den Zertifikate-Manager Erweiterungen für SQLite Datenbanken einsehbar, also bei entsprechender Rechner- bzw- Betriebssystemnutzung auch für weitere Personen. Über Neueste Chronik löschen und aktivieren der Certificates stored by CertPatrol Auswahlbox können die gespeicherten Zertifikate gelöscht werden.
CipherFox oder Calomel SSL Validation Zeigen bei TLS verschlüsselten Verbindungen Informationen zu verwendeten Cipher-Suites, Schlüssellängen und Verschlüsselungs- und Signieralgorithmen an.

Zum Beispiel kann man in den CipherFox Einstellungen in das Cipher: Feld $PROTOCOL:$CIPHERSUITE eintragen, um sich in der Statuszeile TLS1.2:TLS_ECDHE_RSA_usw anzeigen zu lassen.
Click to Play per-element Dient der Einschränkung der Aktivierung eines Plugins auf ein einzelnes Element, das auf einer Seite angeklickt wurde und vereinfacht die Click to Play Handhabung. Zusätzlich sollte man zur zeitlichen Begrenzung der Aktivierungserlaubnis die beiden Einstellungsnamen in der erweiterten Konfiguraton auf den Wert 0 setzen:

plugin.persistentPermissionAlways.intervalInDays
plugin.sessionPermissionNow.intervalInMinutes
Controle de Scripts Zusätzliche Reglementierung der Ausführung von Javascripten, die auch dann aktiv ist, wenn z. B. per NoScript Erweiterung oder den Firefox JavaScript Einstellungen JavaScript zugelassen wurde. Die CAPS Security Policies sind ab Firefox 29 ohne Funktion. Siehe die Dokumentation zur Erweiterung.
Cookie Monster Für das Management von Cookie-Berechtigungen, Einsehen von Cookie-Inhalten und Blockieren von Cookies mit Ausnahmeliste für berechtigte Websites. (E)
Add-on:
[x] Block all cookies
[x] Use 2nd level domain names
[x] Automatically reload affected page
[x] Delete cookies when changing access to deny
FoxyProxy Standard oder
Proxy Selector
FoxyProxy beinhaltet umfangreiche Funktionen für das Management und die (parallele) Nutzung verschiedenster Proxys (auch Tor, I2P, JonDonym), arbeitet mit Regular Expressions oder Wildcard Regeln, um Websites den jeweiligen Proxys „zuzuteilen“

Wer keine Regular Expressions und Wildcards benötigt bzw. Weiterleitungen mehrheitlich über einen lokalen Proxy wie Privoxy reguliert und nur sporadisch auf andere Proxys wechselt, kann auch die Proxy Selector Erweiterung einsetzen.
(E)
siehe Dokumentation zu FoxyProxy
HttpFox oder Firebug Blenden Fenster auf, in denen sich der Datenverkehr (Kopfzeilen, Cookies usw.) zwischen Browser und Servern mitverfolgen lässt.
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://). Für jeden Webdienst existiert eine XML-Datei, die Regeln mit Mustern mittels Javascript Regular Expressions zum Umschreiben der URLs enthält. Der bereits mitgelieferte Regelsatz kann durch eigene Regeldateien erweitert werden.

Die NoScript Erweiterung verfügt über die „Force HTTPS connection“ und „Force cookie encryption over HTTPS“ Optionen ebenfalls über Funktionen zur „Erzwingung“ der TLS Verschlüsselung, HTTPS Everywhere ist aber flexibler und übersichtlicher.
(DE)
Add-on:
[ ] Aktivierung/Deaktivierung der Webdienste
Beschreibung der HTTPS Everywhere Regelsätze
Master Password Timeout Sperrt nach einem anzugebenden Zeitraum der Inaktivität die Datenbank des Passwort-Manager, so dass die erneute Eingabe des Master-Passworts nötig wird, um die Datenbank wieder zu entschlüsseln Add-on:
Firefox will aks for master password after [ n ] seconds of inactivity
No Resource URI Leak Deaktiviert den externen Zugriff auf Firefox Programmdateien per Javascript und resource:// URIs. Siehe auch Support No Resource URI Leak
NoScript Blockiert die Ausführung von Javascripten, Javaapplets, Plugins, verhindert oder erschwert die Ausnutzung von Schwachstellen und Sicherheitslücken und die Anwendung von Techniken zur Überwachung und Auswertung des Nutzerverhaltens. Einer Blacklist können Adressen der Server hinzugefügt werden, die als nicht vertrauenswürdig eingestuft werden und denen deshalb generell alles verboten wird, während für vertrauenswürdige Server Restriktionen entweder fallweise oder generell über ihre Aufnahme in eine Whitelist wieder aufgehoben werden können. (DE)
Siehe FAQ zur Erweiterung

iFrames können mit dem Wert 0 für den noscript.forbidIFramesContext Einstellungsnamen komplett blockiert werden, d. h. auch dann, wenn der iFrame von der ursprünglichen Domain geladen werden soll. Über das NoScript Blocked Objects Menü können iFrames dann nachträglich freigeschaltet werden.
PassSec+ Untersucht Formularfelder auf Webseiten, in die Anmelde-, Finanztransaktions- und Kontakt-/Adressdaten eingegeben werden, ob die Daten TLS-verschlüsselt übertragen werden oder nicht und markiert die Felder entsprechend in Grün, Gelb und Rot, warnt bei Websites ohne EV-Zertifikat, die Domain des Webservers zu überprüfen und enthält ähnlich wie die HTTPS Finder Erweiterung Funktionen, um per TLS zugängliche Websites zukünftig immer mit TLS-Verschlüsselung aufzurufen. Zusätzlich kann man über Anfragen an Web of Trust (WOT) prüfen lassen, ob die aktuelle Domain als Phishing-Auftritt bekannt ist und über Anfragen bei Startpage, ob mit deren Korrekturfunktionen Unstimmigkeiten in Domainnamen erkennbar werden, die ebenfalls auf Phishing-Versuche hinweisen können. (E)
[ ] Classify BROKEN-HTTPS (siehe Mixed Content "Blocker") connection as safe.
Private Tab Links können in ein Tab-Unterfenster im privaten Modus statt einem neuen Browserfenster geöffnet werden. Mit private:///#http(s)://host.domain.tld gespeicherte Bookmark-URLs werden automatisch in Tab-Unterfenster im privaten Modus geöffnet. In der erweiterten Konfiguration können über die extensions.privateTab.* Einstellungsnamen zusätzliche Optionen gesetzt werden.
Random Agent Spoofer Dient der Manipulation der Angaben, die vom Webbrowser in der User Agent Kopfzeile an Server übertragen werden. Zusätzlich kann eine Zufallsauswahl von Browserprofilen aus einer Liste aktiviert werden, so dass in einem Intervall das Browserprofil ständig wechselt. Unterstützend werden alle anderen Kopfzeilen im Kontext des User Agent ebenfalls passend zum gesamten Browwserprofil gesetzt. Darüber hinaus können einige Einstellungen aktiviert werden, die man ansonsten manuell in der erweiterten Konfiguration vornehmen kann wie z. B. Deaktivierung von DOM Storage, Geolokalisierung oder Link Prefetching.
RefControl Manipulation der Inhalte in der Referer Kopfzeile, die vom Browser an Webserver übertragen wird, die den Herkunfts-Link der Webseite enthält, über den die aktuelle Webseite aufgerufen wurde, um dem Webserver-Betreiber zu verschleiern, welche Webseiten und Websites zuvor besucht wurden (E)
RequestPolicy Blockiert domainübergreifende Anfragen und die damit möglichen Cross-Site Request Forgery (CSRF) Angriffe und Tracking-Kanäle. Alternativen zu RequestPolicy sind die uMatrix und uBlock Erweiterungen (s. u.). Es wird empfohlen, Versionen ab 1.0 einzusetzen, da ab 1.0 neben Verbesserungen und zusätzlichen Funktionen u. a. Wildcards, Erlaubnis-Richtlinien für Subdomains und die Wahl zwischen Blacklist- und Whitelist-Modus eingeführt wurden.
Secure Login Sofern Benutzernamen und Passwörter von Benutzerkonten nicht extern über spezielle Passwort-Manager verwaltet und genutzt werden, sondern über den Firefox integrierten Passwort-Manager, kann die Erweiterung Login-Vorgänge und die gespeicherten Kontendaten zusätzlich absichern
Self-Destructing Cookies (SDC) Kann entweder als Ersatz oder als Ergänzung zu anderen Cookie-Managern wie z. B. Cookie Monster installiert werden. Ohne zusätzlichen Cookie-Manager geht SDC von der Idee aus, dass zunächst alle Cookies akzeptiert werden.

SDC löscht automatisch alle Cookies nach Ablauf einer vorzugebenden Zeitdauer („Grace Period“) und Sitzungsdaten, sobald das Tab-Unterfenster der Website geschlossen wird, die Cookies gesetzt hatte. Die Domainnamen der Websites, die von der Regel auszuschließen sind, werden wie bisher auch in die Ausnahmeliste des Firefox Cookie-Managers aufgenommen. Sofern DOM Storage (s. u.) nicht per se deaktiviert wurde, werden mit Aktivierung der „Include LocalStorage“ Option auch die Inhalte im DOM Storage entfernt. Zusätzlich können die Zwischenspeicher geleert werden, wenn der Browser n Minuten nicht benutzt wurde („Clear Browser Cache when Idle“).
(DE)
Add-on:
Strict Cookie Access Policy [x]
nach RFC 6265

Wenn:
a) Cookie Monster installiert ist
b) Cookies in den Firefox Einstellungen generell deaktviert sind
c) Domainnamen mit Sitzungscookie Genehmigung als Ausnahmen im Cookie-Manager gespeichert sind
fügt man einen speziellen Einstellungsnamen1) als Boolean Typ mit dem Wert true hinzu.

Danach werden die Cookie-Typen so behandelt: Temporäre Cookie-Genehmigungen für eine Website werden mit Cookie Monster erteilt und zusätzlich wird die Website über das SDC Icon auf „Löschen nach Schließen des Tabs“ (rot) umgestellt. Die Sitzungscookies der Websites, die als Ausnahmen gespeichert sind, werden automatisch von Cookie Monster akzeptiert. In beiden Fällen werden Cookies automatisch von SDC entfernt, nachem das Tab-Unterfenster der Website geschlossen wird, die temporäre Cookies oder Sitzungscookies gesetzt hatte.
SQLite Manager Dient allgemein dem Management von SQLite Datenbanken, die auch von Firefox benutzt werden, um u. a. Cookies, Websiteberechtigungen, Bookmarks zu speichern. Wer keine ständigen Bearbeitungen von SQLite Datenbanken vornimmt bzw. keine Firefox SQLite Datenbanken manipulieren will, kann die Erweiterung zumindest fallweise aktivieren, um gespeicherte Inhalte zu inspizieren und zu kontrollieren. Siehe SQLite Manager Wiki.
Toggle Cipher Suites Über ein Icon wird die Liste der Cipher-Suites eingeblendet. In der Liste können mit einem Button einzelne Cipher-Suites fallweise aktiviert werden, was ganz praktisch ist, wenn man die Cipher-Suites restriktiv eingestellt hat.
uBlock Origin Filtert und blockiert Anfragen zu Servern, für die manuell oder über Filter-Abonnements Regeln eingestellt werden. (DE)
Für den schnellen Zugriff auf die Einstellungen kann man sich ein Bookmark für die chrome://ublock0/content/dashboard.html URL anlegen.
uMatrix Bietet die gleiche Funktionalität wie RequestPolicy (siehe dort). Im Unterschied zu RequestPolicy können 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 abgestimmt werden. 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 NoScript, Canvas Blocker, uBlock kombiniert werden. (DE)
Für den schnellen Zugriff auf die Einstellungen kann man sich ein Bookmark für die chrome://umatrix/content/dashboard.html URL anlegen. Es empfiehlt sich, sich die Dokumentation im uMatrix Wiki anzuschauen.

Die Standard-Einstellungen unter „My rules“ kann man noch restriktiver fassen, so dass z. B. außer Bilddateien und CSS-Ressourcen, die von Servern der gleichen Domain stammen, alles verboten wird:
matrix-off: about-scheme true
matrix-off: behind-the-scene true
matrix-off: localhost true
* * css allow
* * frame block
* * script block
* 1st-party image allow
User-Agent JS Fixer Während Erweiterungen zum Fälschen des User-Agent oder die general.usergent.override Einstellung nur den Inhalt der übertragenen User-Agent HTTP Kopfzeile ändern, wird mit der User-Agent JS Fixer Erweiterung der gleiche Inhalt auch für die navigator.userAgent Eigenschaft gesetzt, die per Javascript ausgelesen werden kann.

Erweiterungen mit Vorbehalten

Name Anmerkung
Ghostery wg. Verbindungen und Nähe zur Werbeindustrie. Gleiche Funktionen können durch entsprechende Browserkonfiguration, Einsatz von Filter-Proxys und entsprechende Erweiterungen wie NoScript, uBlock, uMatrix usw. erreicht werden.

Manuell per about:config

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
app.update.backgroundMaxErrors 1 Maximale Anzahl fehlgeschlagener Update-Prüfungen im Hintergrund, bevor der Benutzer über Fehlschlag informiert wird (Standard: 10)
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.apps.URL
dom.mozApps.signed_apps_installable_from
leer
leer
Es können keine eigenständigen, auf Firefox basierenden Apps aus dem Firefox Marketplace AppStore installiert werden.
browser.autofocus false Eingabefelder in Formularen werden nicht per HTML5 autofocus Attribut beim Laden einer Seite vorausgewählt.
browser.fixup.alternate.enabled false Schaltet das „Domain Guessing“ ab, d. h. die automatische Namensauflösung bzw. Verbindungsaufnahme mit (www.)domain(.com), wenn der Hostname falsch eingegeben bzw. nicht aufgelöst werden konnte.
browser.formfill.enable false In Formularfelder eingetragende Inhalte werden nicht zum erneuten Gebrauch gespeichert.
browser.history.allow*State false Keine Manipulation der Historie besuchter Sites und Seiten im Rahmen der Chronik per HTML5 JavaScript History API.
browser.link.open_newwindow
browser.link.open_newwindow.restriction
browser.link.open_newwindow.disabled_in_fullscreen
1
0
true
Mit 1 werden Links im aktuellen Tab des Browserfensters statt in einem neuen Browserfenster geöffnet.
Mit 0 werden per JavaScript aufgerufene, neue Browserfenster in Tabs statt geöffnet.
Mit true werden während der Vollbildanzeige keine zusätzlichen Browserfenster geöffnet.
browser.newtabpage.enabled
browser.newtabpage.columns
browser.newtabpage.directory.ping
browser.newtabpage.directory.source
browser.newtabpage.enhanced
browser.newtab.preload
browser.newtabpage.rows
browser.newtab.url
false
0
leer
leer
false
false
0
about:blank
Wenn eine neue Tab-Seite geöffnet wird, bleibt sie einfach eine neue, leere Seite und es werden alle „Erweiterungen“ wie Screenshots besuchter Websites oder Werbebanner, die Mozilla in der neuen Tab-Seite unterbringen will, deaktiviert.
browser.pocket.api
browser.pocket.enabled
browser.pocket.site
leer
false
leer
Deaktiviert die Verwendung von Pocket.
browser.search.geoip.url
browser.search.geoip.timeout
browser.search.geoSpecificDefaults
browser.search.geoSpecificDefaults.url
leer
1
false
leer
Zur Ermittlung des Landes zur 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.
browser.search.suggest.enabled false Deaktiviert die unmittelbare Übermittlung der im Sucheingabefeld eingetragenen Begriffe an Suchmaschinen, um Listen mit Suchwort-Vorschlägen zu generieren und anzuzeigen.
Grafisch können die Suchvorschläge deaktiviert werden, indem man über die Drop-Down Liste neben dem Suchfeld den Menüeintrag Suchmaschinen verwalten auswählt und dann sicherstellt, dass [ ] Suchvorschläge anzeigen nicht aktiviert ist.
browser.selfsupport.url leer Deaktiviert das "Heartbeat" Telemetrie-Experiment.
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 Click-Tracking untergebracht sind. Generell sind Pings mit true nicht zu zusätzlichen, fremden Servern möglich.
browser.sessionstore.privacy level 2 Sofern die Sitzungswiederherstellung verwendet wird, werden besondere Sitzungsdaten (u. a. Formularinhalte, Cookies) für keine Websites gesichert.
browser.startup.homepage
browser.startup.homepage_override.mstone
browser.aboutHomeSnippets.updateUrl
about:blank
ignore
leer
Firefox wird immer mit einer leeren Startseite bzw. der Start-Aktion gestartet statt der „eigenen Firefox Homepage“ (about:home) und wenn die Homepage verwendet wird, werden keine Snippet-Inhalte von Mozilla im Hintergrund geladen.
browser.uitour.enabled
browser.uitour.url
false
leer
Deaktiviert die grafische Tour zur Erklärung der Firefox-Oberfläche ab Australis. Wem übrigens die Australis Oberfläche nicht zusagt, dem sei die Classic Theme Restorer Erweiterung empfohlen.
browser.zoom.siteSpecific false Das einmal auf einer Webseite vorgenommene Zoom-Level wird nicht für die Website gespeichert.
datareporting.healthreport.about.reportUrl
datareporting.healthreport.documentServerURI
datareporting.policy.dataSubmissionEnabled
datareporting.healthreport.service.enabled
datareporting.healthreport.uploadEnabled
datareporting.healthreport.logging.consoleEnabled
leer
leer
false
false
false
false
Deaktiviert die Datenübermittlung zum Status (Health„) Bericht an Mozilla.
device.sensors.enabled false Keine Erfassung von Hardware/Geräte Sensordaten.
devtools.*.enabled false Wer keine Webinhalte und -anwendungen entwickeln oder inspizieren muss oder dafür besser externe Anwendungen verwendet, sollte alle integrierten Entwickler-Tools so weit wie möglich deaktivieren. Über die Einstellungen der Toolbox kann man einige Tools und zusätzliche Funktionen deaktivieren.
devtools.webide.*[URL] false bzw. 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.
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.enable_performance false Keine Übermittlung von benutzerspezifischen Resultaten von Zeitmessungen (z. B. Dauer, bis eine Seite vollständig geladen ist).
dom.enable_resource_timing false Keine Übermittlung von benutzerspezifischen Resultaten von Zeitmessungen per Resource Timing API, bezogen auf alle Ressourcen, die in Webdokumenten enthalten sind.
dom.enable_user_timing false Keine Übermittlung von Resultaten zur Zeitmessung von Web-Applikationen per User Timing 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.contextmenu.enabled false Das Kontextmenü soll auf Webseiten immer zugänglich sein.
dom.gamepad.enabled false Deaktiviert die Gamepad API, wenn man keine webbasierten Spiele mit einem Gamepad spielt.
dom.idle-observers-api.enabled false Deaktiviert die Idle API zur Überwachung der Aktivität des Browserbenutzers (Maus- oder Tastaturaktivität).
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.

Ab Firefox 35 hat Mozilla die IndexedDB Nutzung so implementiert, dass mit dem Wert false zahlreiche Erweiterungen entweder nicht mehr installiert werden können oder nach der Installation nicht mehr korrekt zu verwenden sind. Lässt man deshalb die IndexedDB Verwendung mit true aktiviert (siehe z. B. Use-after-free in IndexedDB), kann man nach Installation der Erweiterungen mittels MAC (s. u.) oder entsprechenden Dateizugriffsberechtigungen dem Benutzer die Scheibberechtigung auf das storage Verzeichnis und dessen Unterverzeichnisse im Firefox Profilverzeichnis entziehen. Ab Firefox 36 werden Erweiterungen immer die IndexedDB-Speicherung verwenden können, auch wenn sie mit false für Webseiten bzw. Webserver deaktiviert wurde.
dom.keyboardevent.code.enabled false Keine Übermittelung von Ereignismeldungen zur Bedienung von Tasten der Tastatur per KeyboardEvent Interface.
dom.popup_allowed_events click dblclick Beschränkt die Erlaubnis, Popup-Fenster per JavaScript Events zu öffnen, auf das aktive 1x oder 2x 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.
dom.push.enabled
dom.push.connection.enabled
dom.push.serverURL
false
false
leer
siehe Push API.
dom.storage.enabled false Deaktiviert generell die Speicherung und das Auslesen von Objekten / Informationen per DOM Storage.
dom.server-events.enabled false Deaktiviert HTML 5 server-side DOM Events, über die der Browser, vom Server ausgelöst, Funktionen ausführt und Daten versenden kann.
dom.vibrator.enabled false
dom.webnotifications.enabled
dom.webnotifications.serviceworker.enabled
false
false
Schaltet die API für Web-Benachrichtigungen ab, über die z. B. ungefragt Popup-Fenster angezeigt und eingeblendet werden können.
dom.workers.enabled
dom.serviceWorkers.enabled
false
false
Keine (ausgelagerte) Ausführung (lastiger) Javaskripte im Hintergrund oder Installation und 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.
full-screen.api.enabled

browser.fullscreen.animateUp
browser.fullscreen.autohide
false

0
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.
geo.enabled
geo.wifi.uri
false
leer
Deaktiviert generell die ungefähre Geo-Lokalisierung mittels IP-Adresse / WLAN Access Point Informationen per Google Location Service.
extensions.getAddons.cache.enabled false Keine Übermittlung und Anzeige von Metadaten zu Erweiterungen über addons.mozilla.org.
gfx.downloadable_fonts.enabled
gfx.downloadable_fonts.woff2.enabled
layout.css.font-loading-api.enabled
false
false
false
Per CSS @font-face Funktion direkt eingebundene oder per Javascript CSS Font-Loading API zu ladende Schriftart-Dateien (auch im WOFF Format) werden nicht heruntergeladen und gerendert. Um trotzdem Schrift-Webicons auf Seiten angezeigt zu bekommen, installiert man die nötigen Schriftarten lokal wie in Laden von Schrift aus dem Web deaktivieren beschrieben.
gfx.font_rendering.graphite.enabled false Der Graphite Schriften-Renderer ist im Normalfall unnötig
gfx.font_rendering.opentype_svg.enabled false In Schriftarten eingebettete SVG Grafiken werden nicht gerendert.
keyword.enabled false Deaktiviert die Übermittlung von Begriffen und falsch eingetippter URLs im Adresseingabefeld an Suchmaschinen, wenn Firefox die Informationen nicht selbst in URLs der Bookmarks oder History findet.
layout.css.visited_links_enabled false Abwehr der Auswertung besuchter Links bei aktivierter History aufgrund der CSS:visited Farbkennzeichung der Links.
loop.enabled
loop.server
loop.textChat.enabled
false
leer
false
Deaktiviert Funktionen zur Nutzung der Loop Architektur für VoIP-Telefonie, Video/Audio Chats („Hello“) und geteilte Bildschirminhalte über den Browser bzw. WebRTC/Websockets/Social API usw. usf.
media.autoplay.enabled false Für einige eingebettete Multimediainhalte das automatische Abspielen deaktivieren (per HTML5/Skript-Funktionen u. U. ohne Wirkung).
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.getusermedia.browser.enabled
media.getusermedia.screensharing.enabled
false
false
Deaktiviert ab Firefox 33 Funktionen zum Teilen bzw. zur bidirektionalen Übertragung von Bildschirm- und Fensterinhalten in Echtzeit per WebRTC.
media.navigator.enabled
media.peerconnection.default_iceservers
media.peerconnection.enabled
media.peerconnection.identity.enabled
media.peerconnection.identity.timeout
media.peerconnection.turn.disable
media.peerconnection.use_document_iceservers
media.peerconnection.video.enabled
false
leer
false
false
1
true
false
false
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.
media.video_stats.enabled false Schaltet Statistiken zur Videoverarbeitung ab, um Fingerprinting zu erschweren.
network.allow-experiments false Keine Experimente, über die Meta-Verkehrsdaten und Parameter zu Verbindungen erhoben und analysiert werden.
network.cookie.cookieBehavior 1/2 Mit 1 werden nur Cookies von der eigentlichen Site, aber keine Cookies von anderen Sites akzeptiert. Verwendet man einen Cookie-Manager, mit dem man beide Cookie-Typen selektiv reguliert, können mit 2 (zunächst) generell alle Cookies abgelehnt werden.
network.cookie.lifetimePolicy 2 Alle Cookies werden bei Sitzungsende bzw. Schließen des Browsers ungültig.
network.cookie.thirdparty.sessionOnly true Jenseits der Blockierung, Löschung von Cookies oder ihres Managements mit Cookie-Managern generell festlegen, dass Cookies von einer anderen als der besuchten Site nur als Sitzungs-Cookies gespeichert werden.
network.dns.disablePrefetch true Deaktiviert Anfragen zur Namensauflösung von Domainnamen in Links/URLs einer Website, die im Voraus und im Hintergrund vorgenommen wird.
network.dnsCacheEntries 0 Deaktiviert den Zwischenspeicher mit den IP-Adressen aufgelöster Hostnamen.
network.dnsCacheExpiration n Statt der Deaktivierung des DNS Cache kann man die Cache-Einträge nach n Sekunden verfallen lassen.
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, weil z. B. der Mauscursor über einem Link steht (Standard: 6).
network.prefetch-next false Deaktiviert das Vorausladen von Inhalten (und damit Übertragung von Cookies und Referrer) in den Cache im Hintergrund vom aktuellen oder fremden Servern.
network.predictor.enabled 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 kann mit 1 für alle Integer-Werte der angegebenen WebSockets Einstellungsnamen zumindest verhindert werden, dass WebSocket Verbindungen erfolgreich zustande kommen.
pdfjs.disabled true Deaktiviert das Ausführen des integrierten Javascript PDF Betrachters. Zur Betrachtung kann man einen externen PDF-Viewer verwenden, der keine bzw. nur geringe Zusatzfunktionen aufweist und z. B. mittels MAC isoliert und ohne Netzwerkrechte läuft.
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.
privacy.popups.disable_from_plugins 3 Die Initialisierung von Popup-Fenster durch Plugins wird generell blockiert.
reader.parse-on-load.enabled false Deaktiviert die Lesemodus- bzw. Leseansicht-Funktionen.
security.csp.experimentalEnabled true Ab Firefox 29 werden mit true auch die Werte der hash-source und script-nonce Direktiven bzw. Attribute der W3C Content-Security-Policy (CSP) 1.1 ausgewertet, um Cross-Site-Scripting (XSS) Angriffe zu erschweren, wenn der Websitebetreiber die CSP Funktionen verwendet.
security.xpconnect.plugin.unrestricted false Das Scripting von Plugins durch externe (nicht vertrauenswürdige) Javascripte per XPCOM / XPconnect wird verboten.
identity.fxaccounts.remote.signin.uri
identity.fxaccounts.remote.signup.uri
services.sync.enabled
services.sync.engine.*
services.sync.jpake.serverURL
services.sync.serverURL
leer
leer
false
false
leer
leer
Wer den Mozilla Sync Dienst nicht nutzt, kann Sync auch so weit wie möglich deaktvieren.
social.directories
social.remote-install.enabled
social.share.activationPanelEnabled
social.shareDirectory
social.toast-notifications.enabled
social.whitelist
leer
false
false
leer
false
leer
Deaktiviert so weit wie möglich die Verwendung der Social API zur Installation von SocialAPI-Erweiterungen, die man über das SocialAPI Verzeichnis beziehen kann, um „soziale“ Netzwerke/Dienste in Firefox zu integrieren.
svg.*.enabled false Zusätzliche Optionen bzgl. SVG Grafiken, die man deaktivieren kann. SVG Grafiken können weiterhin (statisch) angezeigt werden.
toolkit.telemetry.archive.enabled
toolkit.telemetry.enabled
toolkit.telemetry.server
toolkit.telemetry.unified
experiments.activeExperiment
experiments.enabled
experiments.manifest.uri
experiments.supported
false
false
leer
false
false
false
leer
false
Deaktiviert die Datenübermittlung zum Telemetrie-Bericht an Mozilla und die Optionen zur Durchführung von Telemetrie-Experimenten.
webgl.disable
webgl.disable-extensions
true
true
Deaktiviert das Rendern von 3D-Objekten per WebGL / HTML5 / JavaScript.

Verschiedenes

JavaScript

Beginnend mit Version 23.0 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 (Standard).

Deshalb ist es unabdingbar und dringend geboten, Erweiterungen zur Kontrolle der JavaScript-Verwendung, die in der Liste der Erweiterungen genannt werden, zu installieren und zu beherrschen.

Verschlüsselung

Siehe auch Validierung.

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.2 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.

August 2013
August 2014
August 2014

TLS-Protokolle und TLS Cipher-Suites mit Forward Secrecy, die laut TIM SSL-Pulse von Webservern unterstützt werden. Nicht gerade ein bedeutender Fortschritt seit Beginn der Snowden-Enthüllungen im Sommer 2013. Darüber freute sich auch die CES (Cryptanalysis and Exploitation Service) Abteilung der NSA in einem Dokument mit den Worten: „Even though SSL 3.2 (TLS 1.1) and SSL 3.3 (TLS 1.2) have been out for a while, they are not seen!“

Beginnend mit Version 23.0 wurde die grafische Einstellung, ob SSL 3.0 und/oder TLS 1.0 aktiviert sein soll, entfernt. Stattdessen sind zwei Einstellungen in der erweiterten Konfiguration für die Wahl der TLS Protokollversion maßgeblich:

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

Für beide Einstellungen kann der Wert 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. Ab Firefox Version 26.0 versucht Firefox 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 die vorherige, grafische Einstellung mit Aktivierung von SSL 3.0 und TLS 1.0 (und Standard in Version 23.0) würde die Einstellung lauten:

Einstellungsname Wert Protokoll
security.tls.version.max 1 TLS 1.0
security.tls.version.min 0 SSL 3.0

Für eine optimale Auswahl:

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

Mit Fallback bis TLS 1.1:

Einstellungsname Wert Protokoll
security.tls.version.max 3 TLS 1.2
security.tls.version.min 2 TLS 1.1

Für verschlüsselte Verbindungen mit den meisten Webservern:

Einstellungsname Wert Protokoll
security.tls.version.max 3 TLS 1.2
security.tls.version.min 1 TLS 1.0

Ab Firefox 34 wurde SSL 3.0 (0) deaktiviert, so dass die letzte Kombination der Standardeinstellung entspricht. Mit Firefox 38 wird eine hartcodierte Whitelist von Firefox verwendet, in die von Mozilla Websites (intransparent) eingepflegt sind, die automatisch auf unsichere TLS-Versionen zurückfallen dürfen, weil sie nur so überhaupt verschlüsselt aufgerufen werden können. Die hartcodierte Whitelist kann man über den ersten Einstellungsnamen deaktivieren und stattdessen einzelne Hostnamen betroffener Websites in einer kommagetrennte Liste als Wert des zweiten Einstellungsnamen einsetzen:

Einstellungsname Wert
security.tls.insecure_fallback_hosts.use_static_list false
security.tls.insecure_fallback_hosts hostname1,hostnameN

Hinweise:

  • Obwohl es aufgrund von Angriffen gegen Protokollversion < 1.2 dringend geboten wäre, TLS 1.2 zu aktivieren, unterstützt nur ein Teil der Webserver-Betreiber TLS 1.2 und TLS 1.1. TLS 1.2 wird ab Firefox 24/NSS 3.15.1 in Teilen unterstützt.
  • Ab NSS 3.15.2 werden mit TLS 1.2 die AES-GCM (Galois Counter Mode) Cipher-Suites gemäß IETF RFC 5288 und 5289 unterstützt, darunter: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256.
    In Firefox wurden die AES-GCM Cipher-Suites TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 und TLS_ECDHE_ECDSA_WITH_AES_28_GCM_SHA256 ab 11.11.2013 in der Firefox Nightly aktiviert, in der Release-Version ab Firefox 27.

Über die SSL Cipher Suite Details of Your Browser Seite der DCSec (Distributed Computing & Security) Forschungsgruppe der Universität Hannover, den Enhanced Multi-Threaded SSL/TLS Test Server von Mike's Toolbox (Eigenzertifikat) oder die SSL/TLS Capabilities of your Browser Seite von Qualys kann man testen, wie sich der Browser mit verschiedenen TLS Einstellungen verhält und welche TLS Version maximal unterstützt wird. Und auf der SSL Server Test Seite von Qualys kann man testen, wie Webserver zum Thema TLS Verschlüsselung konfiguriert sind. 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 die Suche mit security.ssl3 die Cipher-Suites so gesetzt, dass nur ECDHE/DHE Forward Secrecy Verfahren mit RSA und AES für den symmetrischen Algorithmus ohne DSA/DSS, 3DES, RC4 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. Für den Zweck kann man die CipherFox Erweiterung – original oder abgeändert – verwenden, die auch in der Statuszeile die aktuell verwendete Cipher-Suite anzeigt.

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/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.cache.disk_cache_ssl false Inhalte, die mit TLS Verschlüsselung bezogen wurden, werden nicht dauerhaft im Festplattencache zwischengespeichert.
browser.ssl_override_behavior
browser.xul.error_pages.expert_bad_cert
1/2
true/false
Bei Sites, bei denen Firefox problematische bzw. fehlerhafte Zertifikate annimmt (z. B. auch, weil die Site nur selbstsignierte Zertifikate verwendet), wird mit Wert „1“ das Zertifikat nicht automatisch vorausgeladen, aber mit Wert „2“. Mit Wert „true“ der zweiten Option werden bei entsprechenden Zertifikaten zusätzliche Informationen angezeigt und Benutzer explizit aufgefordert, das Zertifikat ausnahmsweise dauerhaft oder temporär zu akzeptieren, mit Wert „false“ kann der Benutzer solche Zertifikate sofort als dauerhafte oder temporäre Ausnahme akzeptieren.
network.http.altsvc.enabled
network.http.altsvc.oe
false
false
Die erste Einstellung deaktiviert HTTP Alternative Services (siehe auch Isolate/Disable HTTP Alternative-Services). Die zweite Einstellung deaktiviert die Verwendung von Alternative Services für Opportunistic Encryption (Security) for HTTP.
security.cert_pinning.enforcement_level 2 Bestimmt, wie streng die Überprüfung von Zertifikaten per Public Key Pinning (PKP) 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.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 akzeptiert.
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.ssl.errorReporting.enabled
security.ssl.errorReporting.url
false
leer
Deaktiviert die Datenübermittlung zu Fehlern bei der Validierung von Zertifikaten an Mozilla Server.
security.ssl3.* Zu aktivierende (true) und deaktivierende (false) SSL/TLS Cipher-Suites zur Verschlüsselung
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.unrestricted_rc4_fallback false Deaktiviert ab Firefox 38 das automatische Akzeptieren von RC4, wenn Cipher-Suites mit RC4 in Firefox aktiviert sind und der Webserver nur Cipher-Suites mit RC4 anbietet.

Mixed Content "Blocker"

Mit den unten angegebenen Einstellungen in der erweiterten Konfiguration wird der Mixed Content „Blocker“ aktiviert, der mit der ersten Einstellung das Laden und Ausführen aktiver Inhalte (Skripte, Applets, Stylesheets) und mit der zweiten Einstellung das Laden und Anzeigen passiver/darstellender Inhalte (Bild- und Schriftdateien, iFrames) auf Webseiten blockiert, die per TLS verschlüsselt übertragen wurden, wenn die aktiven und passiven Inhalte nicht ebenfalls von der Website TLS verschlüsselt übertragen werden. 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
security.mixed_content.block_active_content
security.mixed_content.block_display_content
true
true
Ausgabe der TLS Capabilities of your Browser Test-Seite von Qualys

Trifft Firefox auf eine TLS verschlüsselt übertragene Website mit gemischten Inhalten, wird in der Adresszeile ein entsprechendes Icon eingeblendet. Klickt man das Icon an, kann der Webseite über den ersten Eintrag „Deaktiviere Schutz auf dieser Seite“ vorübergehend das Laden und Ausführen der unverschlüsselt zu übertragenden Inhalte erlaubt werden:

Mixed Content Blocker Menü

Nach Aktivierung der Erlaubnis ändert sich das Icon entsprechend und die Webseite wird mit allen Inhalten geladen:

Mixed Content Blocker inaktiv

MAC/Sandbox/Profile

Die Berechtigungen der Firefox Anwendung sollten über Mandatory Access Control (MAC) Implementationen wie AppArmor und SELinux und/oder Sandbox Lösungen wie Firejail reguliert und eingeschränkt werden. Siehe als Beispiel das im Wiki enthaltene Firefox AppArmor Profil. Schreibberechtigungen für einzelne Verzeichnisse oder Dateien kann man auch über eine entsprechende Rechtevergabe oder sudo chattr +i einschränken.

Zusätzlich kann man für das Surfen zu besonderen Adressen (z. B. Bank für Online-Banking) zuerst ein eigenes Profil mit firefox -ProfileManager -no-remote erstellen und anschließend Firefox mit dem Profil in einer eigenen Programm-Instanz starten:

firefox -P profilname -no-remote Start mit speziellem Profil in eigener Instanz
firefox -P profilname -no-remote -safe-mode zusätzlich mit „sicherem Modus“ (deaktivierte Erweiterungen und Themes)
firefox -P profilname -no-remote -private zusätzlich mit „privatem Modus“ (s. o.)
firefox -P profilname -no-remote -safe-mode -private zusätzlich mit „sicherem“ und „privaten Modus“

Verweise auf aktuelle Seite