Firefox "Tuning" zur Absicherung / Anonymisierung
Inhalt
Auf dieser Seite werden Einstellungen für den Firefox 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.
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 GnuPG Signaturdatei, SHA-1 Prüfsummen-Datei und GnuPG Prüfsummen-Signaturdatei aus dem Latest-Verzeichnis (leider ohne TLS) heruntergeladen und nach Überprüfung der Prüfusmmen und Signaturen manuell installiert werden.
GnuPG schlüssel und Informationen
SHA-1 Prüfsummen
SHA-1 Prüfsummen GnuPG Signatur
Vorgehen:
- Download der obigen Dateien
- Import des Schlüssels mit gpg --import KEY
- Überprüfung der Prüfsummen GnuPG Signatur mit gpg --verify SHA1SUMS.asc
- Download der firefox-version.ext und firefox-version.ext.asc Datei aus dem Betriebssystem-Unterverzeichnis im Latest-Verzeichnis
- Überprüfung der GnuPG Signatur mit gpg --verify firefox-version.ext.asc
- Überprüfung der SHA-1 Prüfsummen mit sha1sum firefox-version.ext und Vergleich des Werts mit dem Inhalt der SHA1SUM Datei
- Installation von firefox-version.ext
Ergeben die Überprüfungen der GnuPG Signaturen und SHA-1 Prüsummen Unstimmigkeiten oder negative Statuswerte, kann es sich entweder um Übertragungsfehler handeln, so dass der Download wiederholt werden muss oder um manipulierte Firefox Versionen.
Das gleiche Vorgehen ist für Thunderbird mit dem entsprechenden Latest-Verzeichnis möglich.
Grafisch per Firefox-Einstellungen
Inhalt
JavaScript aktivieren
Eigentlich müsste JavaScript generell deaktiviert werden, was aufgrund der breiten und intensiven Nutzung von JavaScript in Webseiten und für Webanwendungen nicht praktikabel ist. Stattdessen bietet es sich an, das Ausführen von JavaScript mit Einstellungen und Erweiterungen wie z. B. NoScript, Controle de Script, TorButton zu reglementieren.
Schriftarten & Farben → Erweitert → Zeichenkodierung
Die Angabe der bevorzugten Zeichenkodierungen bestimmt den Inhalt der Accept-Charset Kopfzeile, die vom Webbrowser zum Server übertragen wird. Wählt man Zeichenkodierungen aus, die von einer großen Anzahl oder der Mehrheit aller Firefox-Benutzer ebenfalls verwendet werden, trägt die Auswahl zur Anonymisierung des Browserprofils bei.
Sprachen
Die Angaben der bevorzugten Sprachen bestimmt den Inhalt der 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.
Da die Angaben auch zur Content Negotiation für die Anzeige von Inhalten in einer bestimmten Sprache ausgewertet werden, kann z. B. der Eintrag der englischen Sprache auch zur Ausgabe der englischsprachigen Version einer Webseite fü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.
Datenschutz
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 SSL/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-Einstellungen")
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:
- 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
- man verhindert mit "niemals anlegen" kategorisch die Anlage und Nutzung einer Chronik, was mit dem sogenannten "privaten Modus" gleichbedeutend ist
- 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, aber u. U. im täglichen Gebrauch nicht praktikabel.
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
- Anlage, Zugriff und Nutzung der Datentypen zusätzlich mit Datenschutz-Erweiterungen und Datenschutz-Einstellungen regulieren
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. Ein Beispiel ist hier addons.mozilla.org für die Add-ons für Firefox Website, über die Addons auch installiert werden sollten.
[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.
Eine Alternative ist das Mycroft Such Plugin für Googles Safebrowsing Dienst, das über die Firefox Suchleiste oder zusammen mit der Context Search Erweiterung über das Kontextmenü aus Webseiten heraus benutzt wird.
Passwörter
Bei der Erzeugung und Verwendung von Passwörtern sollte man folgende Regeln beachten:
- das Passwort sollte so lang sein, wie es dem Anwender möglich ist, sich das Passwort zu merken, aber mindestens 10 Zeichen umfassen
- das Passwort sollte aus der Kombination aus Groß- und Kleinbuchstaben, Zahlen, Satz- und Sonderzeichen bestehen, die möglichst zufällig gewählt wird und nicht z. B. aus einfachen Aneinanderreihungen, Wörtern und Wortfragmenten oder realen Daten aus dem persönlichen Umfeld des Anwenders
- ein Passwort wird nicht mehrmals für verschiedene Logins bzw. Benutzerkonten verwendet, sondern für jedes Benutzerkonto wird ein eigenes Passwort gebildet
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 externe, lokale Passwort-Manager Anwendung benutzen. Ich empfehle die Deaktivierung des Firefox Passwort-Managers, keine Nutzung von Passwort-Datenbanken, die von externen Dienstleister bereitgestellt werden, auf die man dann per Passwort-Manager Erweiterung zugreift, sondern die Nutzung einer lokalen Passwort-Manager Anwendung wie z. B. KeePass (Windows) / KeePassX (Linux).
[x] 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:
| 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.
Warnmeldungen
Die Warnmeldungen, die sich hier aktivieren lassen, beziehen sich alle auf die Anwendung oder Nicht-Anwendung der SSL/TLS Verschlüsselung. Es ist davon auszugehen, dass die meisten Anwender bei häufigem Gebrauch des Webbrowsers die meisten Warnmeldungen deaktivieren werden, weil ansonsten permanent Warnmeldungen erscheinen.
Eine Sicherheitswarnung anzeigen, wenn
- [ ] eine verschlüsselte Seite angezeigt werden soll:
kann deaktiviert werden, denn bei Aufruf einer Seite, deren URL mit Angabe von https:// für die SSL/TLS Verschlüsselung beginnt, sieht der Anwender, dass eine Seite mit Verschlüsselung aufgerufen wird und es bedarf keiner Warnmeldung - [ ] eine nur schwach verschlüsselte Seite angezeigt werden soll:
kann aktiviert werden, um eine Warnung zu erhalten, wenn nur die Verschlüsselung mit 40-bit langen Schlüsseln möglich ist. Stattdessen oder als Zusatz kann die CipherFox Erweiterung installiert werden, mit der die Schlüssellänge und der verwendete Algorithmus in der Statuszeile eingeblendet wird. - [ ] von einer verschlüsselten Seite zu einer unverschlüsselten gewechselt wird
siehe 1. Option - [ ] Daten unverschlüsselt gesendet werden sollen:
kann aktiviert werden, um sensible Daten nicht versehentlich unverschlüsselt zu versenden. Betrifft allerdings alle Daten, die über Formulareingaben versendet werden, so dass eine Warnung immer auch beim Versand unwichtiger Formulareingaben erfolgt, beispielsweise bei Fahrplan-Auskünften. - [ ] eine verschlüsselte Seite angezeigt werden soll, die unverschlüsselte Elemente enthält:
kann aktiviert werden, um darüber informiert zu sein, ob eine per https:// aufgerufene Webseite nicht "einfache" http:// Links enthält, über die Daten und Inhalte unverschlüsselt geladen oder auch versendet werden
Ab Firefox 4.X sind die Warnkategorien in der erweiterten Konfiguration über security.warn zu finden.
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
Eingabehilfen
[ ] Warnen, wenn Web-Seiten versuchen umzuleiten oder neuzuladen
Das erneute Laden einer Webseite oder die Weiterleitung auf eine andere Webseite, die sich auch auf einem anderen Webserver befinden kann, ist eigentlich eine normale Funktion, die von Inhalteanbietern genutzt wird, kann aber auch verwendet werden, um offen oder unbemerkt im Hintergrund auf Webseiten mit bösartigen Inhalten umzuleiten. Um über Umleitungen informiert zur werden, kann die Warnfunktion aktiviert werden.
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.
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, JonDo oder I2P 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 Protokoll (TLS/SSL) verschlüsselte HTTPS Verbindungen über JonDo geleitet werden.
| Tor | JonDo | I2P | Privoxy → Anondienst[1] | Polipo → Anondienst[2] | |
|---|---|---|---|---|---|
| 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:4445[3] | 127.0.0.1:8118 | 127.0.0.1:8123 |
| FTP-Proxy | - | 127.0.0.1:4001 | 127.0.0.1:4444[4] | 127.0.0.1:8118[4] | 127.0.0.1:8123[4] |
| Gopher-Proxy | - | 127.0.0.1:4001 | 127.0.0.1:4444[5] | 127.0.0.1:8118[5] | 127.0.0.1:8123[5] |
| SOCKS-Host | 127.0.0.1:9050 | 127.0.0.1:4001[6] | 127.0.0.1:4446[7] | 127.0.0.1:Port[8] | 127.0.0.1:Port[8] |
| SOCKS | [x] SOCKS v5 | ||||
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
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
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.). Dadurch werden in den erweiterten Einstellungen von Firefox (einseh- und editierbar über about:config im Adresseingabefeld) die beiden Einstellungen network.proxy.socks:127.0.0.1 und network.proxy.socks_port:9050 bzw. 4001 gesetzt. Zusätzlich wird in den erweiterten Einstellungen die Einstellung network.proxy.socks_remote_dns auf true umgeschaltet.
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.
Offline-Speicher
Während sich die Einstellung, wieviele MB als Speicherplatz für den "Offline-Speicher" 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 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, kann mit Einschalten der Option die ungefragte Nutzung des Offline Cache verhindern.
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 vollständige Deaktivierung der Offline Cache Nutzung wird durch das Setzen von erweiterten Einstellungen ermöglicht:
| Name | Wert |
|---|---|
| browser.cache.offline.capacity | 0 |
| browser.cache.offline.enable | false |
| offline-apps.quota.max | 0 |
Update
[ ] Firefox
Kann aktiviert werden. Bei Betriebssystemen, bei denen Firefox aus Software-Quellen installiert wurde, über die Firefox auch automatisch aktualisiert wird, erübrigt sich die Aktivierung. Wer Firefox manuell installiert, kann sich alternativ über die Mozilla Mailingliste für Ankündigungen zu neuen Firefox Versionen informieren lassen.
[x] Add-ons
Sollte aktiviert werden, um die aktuellen Versionen der Add-ons zu nutzen. 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.
[ ] Suchmaschinen
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. Das Mycroft Projekt bietet oft aktuellere und spezialisiertere Such-Plugins als die Firefox Seite.
Für jedes "Such-Plugin" existert eine XML Datei, die Definitionen und Anweisungen für die Benutzung einer Suchmaschine oder eines Suchdienstes enthält. Eine Firefox Installation beinhaltet bereits einige Such-Plugins, deren XML Dateien sich im searchplugins Verzeichnis innerhalb des Installationsverzeichnisses von Firefox befinden. Die XML Dateien der Such-Plugins, die der Benutzer zusätzlich installiert, befinden sich im searchplugins Verzeichnis innerhalb seines Profil Verzeichnisses.
Wer die vollständige Kontrolle über die verwendeten Such-Plugins und ihren Anweisungen behalten will, sollte die mit Firefox ausgelieferten Such-Plugin XML Dateien löschen, über das Mycroft Projekt die gewünschten Such-Plugins nachinstallieren, in den gespeicherten XML Dateien die Anweisungen kontrollieren und die Option zur Aktualisierung der Suchmaschinen deaktivieren.
- Original-Code für Google v. Firefox 3.6.4
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"> <ShortName>Google</ShortName> <Description>Google Search</Description> <InputEncoding>UTF-8</InputEncoding> <Image width="16" height="16">data:image/png;base64,string</Image> <Url type="application/x-suggestions+json" method="GET" template="http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&hl={moz:locale}&q={searchTerms}"/> <Url type="text/html" method="GET" template="http://www.google.com/search"> <Param name="q" value="{searchTerms}"/> <Param name="ie" value="utf-8"/> <Param name="oe" value="utf-8"/> <Param name="aq" value="t"/> <!-- Dynamic parameters --> <Param name="rls" value="{moz:distributionID}:{moz:locale}:{moz:official}"/> <MozParam name="client" condition="defaultEngine" trueValue="firefox-a" falseValue="firefox"/> </Url> <SearchForm>http://www.google.com/firefox</SearchForm> </SearchPlugin>
- Geänderter Code für Google v. Mycroft
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/"> <os:ShortName>Google US</os:ShortName> <os:Description>Google US</os:Description> <os:InputEncoding>UTF-8</os:InputEncoding> <os:Image width="16" height="16">data:image/x-icon;base64,string</os:Image> <UpdateInterval>7</UpdateInterval> <UpdateUrl>http://mycroft.mozdev.org/updateos.php/id0/googleintl.xml</UpdateUrl> <IconUpdateUrl>http://mycroft.mozdev.org/updateos.php/id0/googleintl.ico</IconUpdateUrl> <SearchForm>https://www.google.com/ncr</SearchForm> <os:Url type="text/html" method="GET" template="https://www.google.com/search?hl=en&q={searchTerms}"></os:Url> </SearchPlugin>
Verschlüsselung
Protokolle
[x] SSL 3.0 verwenden
[x] TLS 1.0 verwenden
Mit beiden Optionen sollte die Verwendung des Secure Sockets Layer (SSL) Version 3.0 und Transport Layer Security (TLS) Version 1.0 Verschlüsselungsprotokolls aktiviert sein, mit denen abgesicherte Verbindungen zu Webservern ermöglicht werden, d. h. verschlüsselte Verbindungen und die Authentifizierung des Servers (ggf. auch des Clients, s. u.).
Die Version 3.0 des SSL Protokolls wurde 1996 veröffentlicht und ist der um Sicherheitsmängel bereinigte Nachfolger der Version 2.0 des SSL Protokolls aus dem Jahr 1995. Wegen der Sicherheitsmängel erscheint SSL 2.0 nicht in den grafischen Firefox Einstellungen, könnte aber über die erweiterte Konfiguration aktiviert werden. 1999 folgte das von der IETF standardisierte TLS 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, 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.
Wenn beide Optionen aktiviert sind, versucht Firefox zunächst, eine TLS verschlüsselte Verbindung mit dem Webserver aufzubauen und weicht auf SSL aus, wenn der Webserver TLS nicht unterstützt oder korrekt implementiert.
Bei Nutzung eines Anondienstes mit Firefox sollte man SSL/TLS verschlüsselte Verbindungen (mit Überprüfung des Webserver-Zertifikats) bevorzugen, sofern der Webserver bzw. in Anspruch genommene Internetdienst SSL/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.
Zertifikate
- Wenn eine Website nach dem persönlichen Sicherheitszertifikat verlangt
[ ] Automatisch eins wählen
[x] Jedes Mal fragen
Bei verschlüsselten SSL/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
[x] Das Online-Zertifikatsstatus-Protokoll (Online Certificate Status Protocol, OCSP) verwenden, um die aktuelle Gültigkeit von Zertifikaten zu bestätigen
[x] 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 vertrauensüwrdige Tor Exit-Knoten usw.
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.
Weitere SSL/TLS bezogene Einstellungen in der erweiterten Konfiguration:
| Name | Wert | Anmerkungen |
|---|---|---|
| browser.cache.disk_cache_ssl | false | Inhalte, die per SSL/TLS 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 |
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 / Funktionen nicht lokal bereitstellen, sondern Dienste / Funktionen 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.
Anpassung von Erweiterungen
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 Compatibility Reporter oder 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.
Liste
| Name | Anmerkung | Einstellungen |
|---|---|---|
| AdBlock Plus | filtert und blockiert Anfragen zu Servern, für die manuell oder über Filter-Abonnements Regeln erstellt wurden | siehe Dokumentation zur Erweiterung |
| BetterPrivacy | löscht beim Start oder Beenden des Browser 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. |
| Cache Status | zur Anzeige der Belegung und zum schnellen Leeren des RAM- und Disk-Caches | Add-on: [x] Automatic Stat Update Set Maximum RAM Cache (KB) Set Maximum Disk Cache (KB) für Firefox 4.X in Einstellungen:Erweitert das [x] Automatische Cache-Management ausschalten |
| 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 SSL/TLS Verschlüsselung angesurfte Website deren SSL/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 | 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 | zeigt bei SSL/TLS verschlüsselten Verbindungen den verwendeten Verschlüsselungsalgorithmus und die Schlüssellänge in der Statuszeile an (z. B. "Organisationsname 2048-RSA 256-AES SHA1") | Add-on: [x] Disable RC4 deaktiviert zusätzlich die Verwendung des RC4 Algorithmus, der dann fallweise über das Extras Menü für einzelne Websites wieder aktiviert werden kann (bis Version 2.3.0) |
| 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 | siehe 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 | Cookie Monster 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 |
| Force-TLS | wertet die X-Force-TLS Kopfzeile des ForceHTTPS Protokolls aus, den ein Server als Antwort übermitteln kann, um dem Browser zu signalisieren, TLS Verschlüsselung zu nutzen. Die Antwort wird in der Datenbank der Erweiterung gespeichert, so dass zukünftig Haupt- und eventuell alle Subdomains des Servers vom Browser automatisch TLS verschlüsselt kontaktiert werden. Zusätzlich kann man selbst manuell Adressen in die Datenbank einpflegen, was auch die Erweiterungen NoScript und HTTPS Everywhere anbieten. | siehe ForceTLS Implementation für Firefox 4.X nicht mehr nötig. |
| FoxyProxy Standard | Erweiterung mit umfangreichen 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" | siehe Dokumentation zur Erweiterung |
| HttpFox oder Firebug | blenden Fenster auf, in denen sich der Traffic (Header, Cookies usw.) zwischen Browser und Servern mitverfolgen lässt | |
| HTTPS Everywhere | sorgt per URL Umschreibung und Umleitung dafür, dass bei Webservern, die SSL/TLS Verschlüsselung anbieten, die SSL/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 SSL/TLS Verschlüsselung, HTTPS Everywhere ist aber flexibler und übersichtlicher. | Add-on: [ ] Aktivierung/Deaktivierung der Webdienste Beschreibung der HTTPS Everywhere Regelsätze |
| HTTPS Finder | in Zusammenarbeit mit HTTPS Everywhere sendet die Erweiterung bei jeder unverschlüsselten Anfrage eine zweite Anfrage per HTTPS an den Server, um festzustellen, ob auch eine verschlüsselte Version erreichbar ist. Bei positiven Reaktionen wird das Server-Zertifikat überprüft und der Benutzer erhält eine grafische Hinweisanzeige, über den er die Site per HTTPS aufrufen und automatisch eine Regel für HTTPS Everywhere erstellen lassen kann. Vor der Abspeicherung der XML Regeldatei können in einem Editor der Regelname und die Regeln für eine Site geändert werden (Beschreibung bezieht sich auf die Entwicklerversion). | die Erweiterung ist bei Mozilla noch als experimentell gekennzeichnet, deshalb sollte man auch die Informationen auf der HTTPS Finder Homepage verfolgen. Über die Einstellungen kann man festlegen, ob die Regelerstellung für HTTPS Everywhere genutzt wird oder nur die HTTPS Prüfung, ob immer automatisch im Hintergrund die Weiterleitung per HTTPS erfolgen und für welche Domainnamen in einer Whitelist keine HTTPS Prüfung erfolgen soll. |
| 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 |
| 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 | siehe FAQ zur Erweiterung |
| OptimizeGoogle | dient der Anpassung und Beeinflussung der Funktionen einer Reihe von Google Diensten wie z. B. Entfernung von Werbeeinblendungen, Entfernen von Funktionen zum Click-Tracking, automatische Nutzung der SSL/TLS-Verschlüsselung ("https:"), Anonymisierung von Google Cookie UIDs, Blockierung des Versands von Cookieinhalten an den Google Analytics Dienst, Deaktivierung der SafeSearch Filterauswahl | Add-on: [x] Remove ads [x] Remove click tracking [x] Secure (switch to https) [x] Anonymize the Google cookie UID [x] Don't send any cookies to Google Analytics SafeSeach [x] Do not filter my search results |
| Perspectives | dient der ergänzenden Überprüfung von SSL/TLS Zertifikaten. Bei einer verschlüsselten Verbindung zu einem Server sendet die Erweiterung die Angaben des Server-Zertifikats an mehrere Perspectives "Notar" Server, die ihrerseits eine Datenbank mit Zertifikaten zum gleichen Server vorhalten, die von den "Notar" Servern "angesurft" wurden, sowie einer Historie über die Zertifikatwechsel des Servers. Mit den Daten der "Notar" Server werden die zuvor gesendeten Angaben anschließend auf Übereinstimmung abgeglichen. Die Idee: Da der gleiche Server von mehreren "Notar" Servern und damit über verschiedene Netzwerkrouten adressiert wird, erhält man aus verschiedenen "Perspektiven" einen Blick auf das Zertifikat, das aus dieser Sicht echt ist, wenn bei allen "Notar" Servern die gleichen Daten zu einem Zertifikat vorliegen und diese Daten mit den abgesendeten Angaben übereinstimmen, während ein Angreifer, der mit einem gefälschten Zertifikat einen Man-in-the-middle-Angriff unternehmen will, gleichzeitig in der Lage sein muss, alle Verbindungen und Netzwerkrouten aller "Notar" Server zu überwachen und zu manipulieren. Bisherige Nachteile: unverschlüsselte Verbindungen zu ron.lcs.mit.edu "Notar" Servern, weshalb bei Nutzung eines Anon-Netzwerks die Adressen der "Notar" Server an vertrauenswürdige Exit-Knoten gebunden sein sollten, alle "Notar" Server gehören zur ron.lcs.mit.edu Domain, so dass die unterschiedlichen Netzwerkrouten fraglich sind, Möglichkeit der Profilbildung bei den "Notar Servern" | Add-on: Security-Level: Bestimmt, wie hoch der prozentuale Anteil bestätigender "Notar" Server für ein Zertifikat sein muss und die Mindestdauer an Tagen, für die das gleiche Zertifikat von den "Notar" Servern protokolliert wurde, damit ein Zertifikat als echt eingestuft wird [ ] Overiding Firefox Security Errors When to contact Notaries [x] Contact Notaries for all HTTPS sites |
| PluginChecker | überprüft bei jedem Start, ob ohne Einwilligung des Benutzers Plugins (Add-ons) im Hintergrund installiert wurden und zeigt das Ergebnis auf der Erweiterungen Seite des Add-on Managers an. | Die Liste legitimer Plugins wird in der pluginChecker.properties Datei im dafizilla Unterverzeichnis des Firefox Profilverzeichnisses gespeichert. Deshalb sollten dem Benutzer bzw. dem Firefox-Prozess Schreibrechte auf die Datei entzogen werden, da sich andenfalls ein Plugin über die Installation selbst in die Liste eintragen kann. Der letztendliche Eintrag kann dann nach Überprüfung des Plugins durchgeführt werden. |
| RefControl | Manipulation der Inhalte in der Referrer 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 den Webserver-Betreiber zu verschleiern, welche Webseiten und Websites zuvor besucht wurden | Add-on: Default for sites not listed: Block Aktion - sendet keine Referrer-Inhalte Forge Aktion - sendet die Stamm-URL "http://host.domain.tld/" der aktuellen Webseite (empfohlen) Custom Aktion - sendet eine einzutragende URL Für Ausnahmen vom Referrer-Spoofing wird der Domainname des Ziel-Webservers ([host.]domain.tld) in die Liste eingetragen und die Normal Aktion zum Senden der realen Referrer Kopfzeile ausgewählt |
| SafeCache | Abwehr der Auswertung von Informationen im Zwischenspeicher, richtet sich nach Einstellungen für Cookies | Firefox/Datenschutz: [x] Use SafeCache to impose cookie policy on cache ab Firefox 4.0 nicht funktionsfähig. |
| SafeHistory | Abwehr der Auswertung besuchter Links (History), richtet sich nach Einstellungen für Cookies | Firefox/Datenschutz: [x] Use SafeHistory to impose cookie policy on history ab Firefox 4.0 nicht funktionsfähig. |
| 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 | |
| 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 |
| SSL Blacklist | überprüft Zertifikate und warnt bei SSL/TLS verschlüsselten Verbindungen vor Zertifikaten des Servers oder der verantwortlichen Zwischen-Zertifizierungsinstanz, wenn die Zertifikate mit dem unsicheren MD5 Algoritmus signiert wurden. Die Verwendung von MD5 ermöglicht die Einrichtung gefälschter Zertifizierungsinstanzen und Zertifikate. Mit der Erweiterung kann eine lokale Datenbank installiert werden, die Informationen zu entsprechenden Zertifikaten enthält | Add-on: [x] Detect and warn about certificate chains signed using the MD5 algorithm |
| Torbutton | über die Erweiterung kann per Mausklick auf einen Button in der Statuszeile die Nutzung von Tor zur Anonymisierung an- und abgeschaltet werden. Zusätzlich wird automatisch bzw. je nach Einstellung der Optionen eine Reihe einzelner Konfigurationen und Funktionen des Webbrowsers aktiviert bzw. deaktiviert, um die Anonymisierung zu gewährleisten. Wenn Torbutton eingesetzt wird und der Browser im "Tor-Modus" läuft, erübrigen sich einige der hier aufgelisteten Erweiterungen und Einstellungen oder sie sind an den Torbutton Einsatz anzupassen | siehe Torbutton Optionen und Torbutton FAQ |
| User Agent Switcher | dient der Manipulation der Angaben, die vom Webbrowser in der User Agent Kopfzeile an Server übertragen werden. Mit der Erweiterung kann man eine Liste verschiedener User Agent Profile anlegen und per Mausklick Profile auswählen und wechseln | wenn nicht nach jedem Browserstart auf den realen Standard-UA zurückgesetzt werden soll, muss in der erweiterten Konfiguration die Einstellung useragentswitcher.reset.onclose mit Wert false gesetzt werden. Weitere Informationen unter User Agent Switcher Features und Help |
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 erreicht werden. |
| RequestPolicy | wg. ausstehender Verwendung von Wildcards/Regular Expressions und damit mangelhafter Usability bei der Regelgestaltung. Ansonsten gute Erweiterung. |
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.
Einstellen 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.
| Name | Wert | Anmerkungen |
|---|---|---|
| browser.autofocus | ? | autofocus Attribut in HTML5 Dokument/Formular |
| 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.link.open_newwindow.restriction | 0 | per JavaScript aufgerufene, neue Browserfenster werden in Tabs geöffnet |
| browser.microsummary.enabled browser.microsummary.updateGenerators | false false | deaktiviert die Microsummaries Aktualisierung in Bookmarks |
| 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.send_pings | false | deaktiviert das Senden von POST-Anfragen im Hintergrund zu zusätzlichen Servern, deren URLs im ping Attribut von Links untergebracht sind |
| browser.sessionstore.privacy level | 2 | sofern die Sitzungswiederherstellung verwendet wird, werden für keine Websites besondere Sitzungsdaten (u. a. Formularinhalte, Cookies) gesichert |
| browser.zoom.siteSpecific | false | das einmal auf einer Webseite vorgenommene Zoom-Level wird nicht für die Website gespeichert |
| dom.disable_window_* | true | verhindert die Manipulation von Fenstern und deren Aussehen per JavaScript, d. h. alle Fenster (auch Pop-up Fenster) entsprechen dem Browser-Fenster |
| dom.event.contextmenu.enabled | false | das Kontextmenü soll auf Webseiten immer zugänglich sein |
| 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 |
| dom.popup_allowed_events | click dblclick | beschränkt die Erlaubnis, Pop-up Fenster per JavaScript Events zu öffnen, auf das aktive 1x oder 2x Anklicken von Links |
| dom.popup_maximum | 1 - 2 | beschränkt die Anzahl von Pop-up Fenstern, die nicht durch aktive Anklicken von Links ausgelöst wurden |
| 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 Broser, vom Server ausgelöst, Funktionen ausführt und Daten versenden kann |
| 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. |
| gfx.downloadable_fonts.enabled | false | per CSS @font-face Funktion eingebundene Schriftart-Dateien werden nicht heruntergeladen und 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 |
| keyword.URL | URL | statt der Deaktivierung von keyword.enabled kann man die URL eines anderen Suchwort-Dienstes eintragen |
| layout.css.visited_links_enabled | false | Abwehr der Auswertung besuchter Links bei aktivierter History aufgrund der CSS:visited Farbkennzeichung der Links |
| media.autoplay.enabled | false | für einige eingebettete Multimediainhalte das automatische Abspielen deaktivieren (per HTML5/Skript-Funktionen u. U. ohne Wirkung) |
| 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 als Sitzungs-Cookies gespeichert werden |
| network.dns.disablePrefetch network.dns.disablePrefetchFromHTTPS | 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 Domainnamen |
| network.dnsCacheExpiration | n | statt der Deaktivierung des DNS Cache kann man die Cache-Einträge nach n Sekunden verfallen lassen |
| network.http.redirection-limit | 3 | beschränkt die maximale Anzahl an Umleitungsaufforderungen seitens des Servers, denen der Browser nach einer Anfrage folgt, auf 3. Standard sind 20. |
| network.http.sendRefererHeader | 0/1/2 | 0: generell kein Versand von Referrer Kopfzeilen oder Setzen von document.referrer (DOM) 1: Versand und Setzen bei Aufruf von Text-Links 2: Versand und Setzen bei Aufruf von Text- und Bild-Links. Ohne Verwendung der RefControl Erweiterung sollte 0 gesetzt werden, mit der RefControl Erweiterung kann 1 (oder 2) gesetzt werden, um dann über RefControl eine generelle Referrer-Regel und Ausnahmen zu definieren. |
| network.http.sendSecureXSiteReferrer | false | deaktiviert das Senden des Referrer beim Wechsel von einem zu einem anderen Webserver, selbst wenn die Verbindung zu beiden Webservern verschlüsselt erfolgt ("https://") |
| network.prefetch-next | false | deaktiviert das Vorausladen von Inhalten (und damit Übertragung von Cookies und Referrer) vom aktuellen oder fremden Server im Hintergrund |
| network.websocket.enabled network.websocket.override-security-block | false | deaktviert bidirektionale TCP-Verbindungen zum Server per WebSockets |
| noscript.doNotTrack.enabled privacy.donottrackheader.enabled | false | das Senden des "Do Not Track" Headers kann mit true aktiviert werden, sobald Firefox 4.X meherheitlich von Benutzern eingesetzt wird bzw. der Header Standard in allen Browsern geworden ist |
| 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 |
| 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.xpconnect.plugin.unrestricted | false | das Scripting von Plugins durch externe (nicht vertrauenswürdige) Javascripte per XPCOM / XPconnect wird verboten |
| services.sync.autoconnect services.sync.engine.* | false | wer den Mozilla Sync Dienst nicht nutzt, kann Sync auch so weit wie möglich deaktvieren |
| webgl.disable | true | deaktiviert das Rendern von 3D-Objekten per WebGL / HTML5 / JavaScript |
Verschiedenes
Flash
Sofern das Adobe Flash-Plugin genutzt wird, sollten grundlegende Optionen mit dem Adobe Flash Player 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.
Anschließend kann man den Eigentümer rekursiv für das gesamte ~/.macromedia Verzeichnis auf root ändern und alle Schreibrechte entziehen, was auch das Setzen sogenannter "Flash-Cookies" unterhalb des ~/.macromedia Verzeichnisses oder eine Manipulation der Flash Einstellungsdatei unterbindet.
Für Flash und weitere Plugins wurde die plugin-container[.exe] Anwendung in Firefox intergiert, 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 nicht immer honoriert. Mit diesen Einstellungen kann man die Nutzung der plugin-container Anwendung aktivieren bzw. deaktivieren:
| dom.ipc.plugins.enabled dom.ipc.plugins.*.dll/so dom.ipc.plugins.timeoutSecs | false false -1 | deaktiviert die Ausführung des plugin-container Prozesses |
MAC/Sandbox/Profile
Die Berechtigungen der Firefox Anwendung sollten über MAC Systeme wie AppArmor und SELinux oder Sandbox Lösungen unter Windows reguliert und eingeschränkt werden. Siehe als Beispiel das im Wiki enthaltene Firefox 4.0 AppArmor Profil.
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 eigner 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" |
CAPS
Mit Sicherheitsrichtlinien bzw. den "Configurable Security Policies (CAPS)" können über eine Standard-Richtlinie (default policy) für alle Websites oder über mehrere Richtlinien (benannte policies) für Gruppen von Websites (Website-Zonen) die Berechtigungen zum Auslesen, Setzen, Ändern und Ausführen von DOM / JavaScript Objekten, Eigenschaften, Werten und Funktionen reguliert werden. Das betrifft u. a. auch browser- und monitorspezifische Eigenschaften, die zwecks "Browser-Fingerprinting" und Wiedererkennung von Websites analysiert werden.
Jede Firefox Installation verfügt bereits über eine vordefinierte Standard-Richtlinie, deren Regeln in der firefox_installationsverzeichnis/getprefs/all.js Datei zu finden sind. Mit eigenen Regeln, die entweder in der user.js oder prefs.js im Profilverzeichnis definiert werden, kann der Anwender die Standard-Richtlinie erweitern oder benannte Richtlinien für Website-Zonen anlegen.
Dabei gilt, dass Firefox zuerst all.js, dann prefs.js und zum Schluss die user.js Datei ausführt und auswertet, d. h. die vom Anwender definierten Regeln der eigenen Sicherheitsrichtlinien überschreiben ggf. die Regeln der mit Firefox ausgelieferten Standard-Richtlinie. Außerdem haben benannte Richtlinien für Website-Zonen Vorrang gegenüber der Standard-Richtlinie bzw. überschreiben sie.
Website-Zonen Richtlinien
Zuerst werden alle Richtlinien mit ihrem Namen definiert:
user_pref("capability.policy.policynames", "richtlinienname1 richtlinienname2");
Danach werden für mehrere Objekte die Berechtigungen definiert, die in der jeweiligen Richtlinie gelten sollen
user_pref("capability.policy.richtlinienname1.Objektklasse.eigenschaft", "Berechtigung");
user_pref("capability.policy.richtlinienname1.Objektklasse.eigenschaft.set", "Berechtigung");
user_pref("capability.policy.richtlinienname1.Objektklasse.eigenschaft.get", "Berechtigung");
Objektklasse.eigenschaft
ist z. B. das DOM window Objekt mit der name Variablen als Eigenschaft, also Window.name, die den Namen des aktuell geöffneten Tab-Fensters enthält oder mit der open Funktion (Methode), also Window.open zum Öffnen eines weiteren Browser-Fensters. Informationen zu weiteren DOM Objekten erhält man über die Gecko DOM Reference.
| "Berechtigung" | |
| noAccess | Auslesen/Setzen einer Eigenschaft oder Aufrufen einer Funktion wird jeder Website generell verboten |
| allAccess | Auslesen/Setzen einer Eigenschaft oder Aufrufen einer Funktion wird jeder Website auch domainübergreifend erlaubt |
| sameOrigin | Auslesen/Setzen einer Eigenschaft oder Aufrufen einer Funktion wird einer Website nur in eigenen Webseiten erlaubt |
| .set "Berechtigung" | schränkt die Berechtigung auf das Setzen/Ändern einer Eigenschaft ein, während das Auslesen verboten bleibt. Kann nicht bei Funktionen wie open oder write verwendet werden. |
| .get "Berechtigung" | schränkt Berechtigung auf das Auslesen einer Eigenschaft ein, während das Stzen/Ändern verboten bleibt. Kann nicht bei Funktionen wie open oder write verwendet werden. |
Zum Schluss werden alle Websites benannt, für die Berechtigungen der Richtlinie gelten
user_pref("capability.policy.richtlinienname1.sites", "http://sub.domain.tld http://domain.tld");
user_pref("capability.policy.richtlinienname1.sites", "http:");
Statt spezielle Websites mit http://adresse zu benennen, kann auch einfach das Protokoll mit protokoll: benannt werden, womit wieder alle Webserver betroffen werden, was eigentlich der Nutzung der Standard-Richtlinie entspricht.
Standard-Richtlinie
Da die Standard-Richtlinie capability.policy.default bereits eingebaut ist, muss sie nicht mit capability.policy.policynames extra benannt werden und da sie für alle Websites gilt, gibt es auch keine Definition der Websites mit capability.policy.default.sites. Statt dessen wird nur verwendet:
user_pref("capability.policy.default.Objektklasse.eigenschaft", "Berechtigung");
user_pref("capability.policy.default.Objektklasse.eigenschaft[.set|.get]", "Berechtigung");
Für das grafische Management von Sicherheitsrichtlinien gibt es die Policy Manager und Controle de Scripts Erweiterungen. Von beiden Erweiterungen ist abzuraten (bei Controle de Scripts nur die Funktionen zur Verwaltung von Sicherheitsrichtlinien), da sie fehlerhaft arbeiten und schlecht mit anderen Erweiterungen zusammenarbeiten. Eine eigen grafische Oberfläche für Sicherheitsrichtlinien hat das Mozilla Projekt bis jetzt nicht hervorgebracht.
Sprachen und Zeichensätze
en-US Browser
| Name | Wert | Anmerkungen |
|---|---|---|
| general.useragent.locale | en-US | |
| intl.accept_charsets | iso-8859-1,*,utf-8 | Ausgabe von HTTP_ACCEPT_CHARSET: ISO-8859-1,utf-8;q=0.7,*;q=0.7 |
| intl.accept_languages | en-us,en | Ausgabe von HTTP_ACCEPT_LANGUAGE: en-us,en;q=0.5 |
| 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 |
Sprachen
- en-us
- en
| spellchecker.dictionary | en-US |
Es ist zu beachten, dass bei Erweiterungen mit deutschsprachigem GUI das GUI danach u. U. ebenfalls englischsprachig wird. Das GUI von Firefox selbst bleibt deutschsprachig. Alternativ kann man auch direkt die aktuelle, englischsprachige Firefox Version aus dem en-US Unterverzeichnis herunterladen und installieren.
de Browser
| Name | Wert | Anmerkungen |
|---|---|---|
| general.useragent.locale | de | |
| intl.accept_charsets | iso-8859-1,*,utf-8 | Ausgabe von HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7 |
| intl.accept_languages | Ausgabe von HTTP_ACCEPT_LANGUAGE:de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 | |
| network.http.accept.default | Ausgabe von HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
Sprachen
- de-de
- de
- en-us
- en

