
Das moderne Web besteht aus vielen verschiedenen Technologien, die eine Vielzahl von Möglichkeiten bieten ... aber auch eine beträchtliche Anzahl von Bedrohungen verursachen. Moderne Browser waren lange Zeit die komplexesten Anwendungen auf dem Computer, vor der Komplexität sogar des Kerns des Betriebssystems (in Firefox um ein Vielfaches mehr Codezeilen als im Linux-Kernel oder in Office-Suiten). Wir verbringen die meiste Zeit im Browser, daher ist es nicht verwunderlich, dass der Browser unter Druck steht: Sie versuchen ständig, ihn zu hacken, im Botnetz zu verwenden, unsere Daten zu stehlen, den Datenverkehr zu hören, die von uns besuchten Websites und unsere Aktionen auf diesen Websites zu verfolgen .
Jetzt ist die Zeit zu sagen, dass nicht alles so schlimm ist und all diese Probleme gelöst werden können ... aber das ist nicht so. Standardmäßig tun Browser bereits viel: Sie aktualisieren regelmäßig, versuchen, Sicherheitslücken zu schließen, führen neue Schutztechnologien ein und bieten die Möglichkeit, ihre Funktionalität mit Erweiterungen von Drittanbietern zu erweitern. Es gibt jedoch keinen ernsthaften Schutz , und es ist unwahrscheinlich, dass er jemals auftritt: Er wird mit einer Komplikation der Browser-Oberfläche und einer teilweisen Deaktivierung seiner Funktionalität geliefert , wodurch die Websites „beschädigt“ werden und normale Benutzer wahrscheinlich nicht angesprochen werden. Das Traurigste ist jedoch, dass es selbst bei einem solchen Preis unmöglich ist, den Browser vollständig zu schützen - er ist zu kompliziert geworden.
Sie können jedoch viel tun, um die Browsersicherheit zu verbessern. Es gibt einige gute (englische) Projekte, die umfassende Ansätze für zusätzlichen Firefox-Schutz bieten: Artikel zum Firefox-Konfigurationshandbuch für Datenschutzfreaks und Leistungsverbesserungen (oder dessen Version für reguläre Benutzer Das Firefox-Datenschutzhandbuch für Dummies! ) Von 12bytes.org und ghacks-user .js von Thorin-Oakenpants, Earthlng und Claustromaniac. Sie konzentrieren sich auf maximalen Schutz, aber die Verwendung eines solchen Browsers für normale tägliche Aufgaben wird äußerst problematisch und unpraktisch. Meiner Meinung nach sollten Sie sich auf einen moderaten Firefox-Schutz beschränken, um ein Gleichgewicht zwischen der Stärkung der Sicherheit, der Aufrechterhaltung der Funktionalität der von uns benötigten Websites und dem dafür aufgewendeten Aufwand herzustellen .
Inhalt:
Bedrohungsmodell
Sicherheit
Vertraulichkeit
Fingerabdruck
Tracking
Anonymität
Verfügbare Möglichkeiten zur Verbesserung des Schutzes
Erweiterungen
Canvasblocker
CSS Exfil-Schutz
Decentraleyes
ETag Stoppa
Header-Editor
HTTPS überall
Ordentliche URL
uBlock Origin
uMatrix
ghacks user.js
Ich habe wenig mäßiges Härten, ich will alles maximal!
Die Seite funktioniert nicht - wer ist schuld, wo kann man das Problem beheben?
Lustige Fakten
Bedrohungsmodell
Lassen Sie uns zunächst das Bedrohungsmodell analysieren, was genau wir schützen und vor was.
Sicherheit
Dies ist ein ziemlich allgemeines Konzept, aber in unserem Fall geht es darum, die Verwendung des Browsers durch andere auf ungewöhnliche Weise zu behindern oder zu erschweren: Dies umfasst eine breite Palette von Bedrohungen, vom Hacken des Browsers durch Exploits bis zum Schutz vor Phishing.
Natürlich wird es immer Löcher geben, daher kann es hier im Prinzip keinen 100% igen Schutz geben. Zum größten Teil geht es darum, einige Funktionen eines Browsers oder einer Webtechnologie zu deaktivieren, um die Angriffsfläche zu verringern.
Vertraulichkeit
Niemand außer dem Absender und dem Empfänger sollte in der Lage sein, die übertragenen Informationen zu lesen.
Hier geht es hauptsächlich um die Verbesserung des Schutzes von https-Verbindungen. Die Standard-Browsereinstellungen konzentrieren sich eher darauf, sicherzustellen, dass die Verbindung hergestellt werden kann, auch wenn die Möglichkeit verloren geht, die Vertraulichkeit zu gewährleisten.
Fingerabdruck
Der Benutzer sollte in der Lage sein, zu verhindern, dass die Website feststellt, dass vergangene und aktuelle Site-Ansichten von demselben Benutzer ausgeführt wurden.
Hier beginnt die Hölle. Vergessen Sie die gesegneten Zeiten, in denen es ausreichte, Cookies zu löschen und von einer anderen IP-Adresse aus auf die Website zuzugreifen, sodass er diese beiden Besuche im Prinzip nicht verbinden konnte. Jetzt haben Websites Zugriff auf so viele verschiedene und einzigartige Daten über den Browser, das Betriebssystem und die Benutzerhardware, dass es unmöglich wurde, sie zu stoppen. Ehrlich gesagt habe ich bei der Vorbereitung dieses Artikels viele Dinge gelernt, die ich jetzt gerne "sehen" würde - obwohl ich bereits viel über das Geschehen in diesem Bereich wusste, habe ich mir das Ausmaß der Katastrophe nicht einmal vorgestellt.
Eine unvollständige Liste der Websites, die Informationen zu Ihrem System enthalten können:- Auf dem Server:
- Details zur Netzwerkverbindung (IP, MTU).
- SSL-Sitzungs-ID. Wechselt normalerweise einmal am Tag. Dies bedeutet beispielsweise, dass Sie beispielsweise bereits heute unter einem Konto zu https://gmail.com gegangen sind und dann Cookies usw. gelöscht haben. und das VPN so geändert, dass es von einer anderen IP-Adresse zu https://gmail.com wechselt. Google kann weiterhin feststellen, welche Besuche beide über denselben Browser durchgeführt haben.
- Alles, was HTTP-Header offenlegen: Browserversion, Betriebssystem, Sprache.
- Über CSS:
- Die Größe des Browserfensters. Darüber hinaus ist dies eine der einzigartigsten Eigenschaften des Browsers.
- DPI / Skala.
- Installierte Schriftarten. Mit CSS können Sie überprüfen, ob nur zuvor bekannte Schriftarten vorhanden sind (mit JS können Sie alle Schriftarten abrufen). Dies ist jedoch mehr als ausreichend. Letztendlich ist die Liste aller vorhandenen Schriftarten endlich und bekannt.
- Betriebssystem (in typischen Schriftarten).
- Über JS:
- Eisen:
- Die Anzahl der parallelen Browserprozesse (Parallelität).
- Hersteller und Modell der Grafikkarte (via WebGL).
- Browser:
- Name und Version.
- Betriebssystem
- Das Gebietsschema.
- Sprache.
- Zeitzone.
- Einstellungen für Zugriffsrechte (Zugriff auf Standort, Mikrofon usw.) - sind zulässig, verboten, werden vom Benutzer abgefragt (was auch einen ziemlich eindeutigen Satz gemäß den Einstellungen des Benutzers bildet).
- Wird der private Browsermodus verwendet?
- Bildschirm:
- Abmessungen (Auflösung) des Bildschirms, verfügbar, externes Fenster, internes Fenster, Ansichtsfenster.
- Ist der Vollbildmodus aktiviert?
- Bildschirmausrichtung.
- Farbtiefe.
- DPI
- Wird HiDPI verwendet?
- Die aktuelle Zoomstufe der Seite.
- devicePixelRatio.
- Data Warehouses (Möglichkeiten zum Speichern der Benutzer-ID):
- Cookies
- localStorage.
- sessionStorage.
- indexedDB.
- appCache.
- Web Worker.
- Geteilter Arbeiter.
- Servicemitarbeiter.
- Service Worker Cache.
- Benachrichtigungen
- Normaler Cache (einschließlich Tricks mit ETag usw.).
- Schriftarten (ein weiterer der einzigartigsten Faktoren).
- Canvas (Sie können einen eindeutigen Fingerabdruck erhalten, indem Sie das Ergebnis des Renderns durch den Browser lesen).
- DOMRect.
- Intersection Observer API.
- WebGL (unter anderem können Sie den Namen der Grafikkarte herausfinden).
- Audio-API
- Liste der zulässigen Verschlüsselungsalgorithmen und TLS-Versionen.
Nach dem Betrachten dieser Liste sieht der rechtliche Hinweis, den Websites von Websites zur Verwendung von Cookies verlangen, wie ein Spott aus.
Es gibt zwei Ansätze zum Schutz: Verringern der Entropie von Fingerabdrücken (so dass für viele Benutzer der Fingerabdruck übereinstimmt) und Erhöhen der Entropie (so dass sich der Fingerabdruck eines Benutzers jedes Mal vom vorherigen unterscheidet). In der Regel funktioniert die Reduzierung der Entropie besser, kann jedoch mehr oder weniger vollständig nur in einem Tor-Browser implementiert werden, da hierfür die Möglichkeit der Benutzer zur Anpassung des Browsers stark eingeschränkt werden muss und sich Allzweckbrowser dies nicht leisten können. Was die Zunahme der Entropie betrifft, so besteht das Hauptproblem darin, dass die Tatsache der Randomisierung von Fingerabdrücken bestimmt werden kann (indem zwei Fingerabdrücke hintereinander erstellt werden). Danach wird anstelle des spezifischen Werts des Fingerabdrucks das Zeichen „gefälschter Fingerabdruck“ verwendet, was Sie an sich in eine sehr enge Kategorie von Benutzern und Benutzern einordnet macht es einfach, einen einzigartigen Druck für Sie zu erhalten.
Für uns bedeutet dies, dass selbst der Versuch, die Erfassung unserer Fingerabdrücke zu behindern, keinen Sinn macht, es sei denn, sie können "kostenlos" bezogen werden - ohne die Leistung der Websites und die Benutzerfreundlichkeit des Browsers zu beeinträchtigen.
Tracking
Es sollte nicht möglich sein, einem Benutzer Ansichten verschiedener Websites zuzuordnen, es sei denn, er selbst hat eine Website über seine Kontoinformationen auf einer anderen Website informiert.
Normalerweise erfolgt die Verfolgung durch Verbinden von Ressourcen (JS / CSS / Image) derselben Site eines Drittanbieters mit vielen anderen Sites. Es scheint, dass die Verwendung von Erweiterungen zum Blockieren von Trackern und Anzeigen dieses Problem lösen sollte ... aber leider ist dies nicht der Fall. Ja, es hilft, aber die harte Wahrheit ist, dass Websites diese Daten verkaufen. Selbst wenn Sie zwei Websites besucht haben, auf denen alle Ressourcen von Drittanbietern blockiert sind, können diese Websites dennoch Daten über Ihre Besuche im selben Werbenetzwerk verkaufen Dies ermöglicht es ihr, diese Besuche miteinander zu verbinden (unter Berücksichtigung der oben genannten Möglichkeiten, einen eindeutigen Benutzerfingerabdruck zu erhalten - dies ist kein Problem).
Das Blockieren von Ressourcen von Drittanbietern lohnt sich dennoch - dies beschleunigt das Laden von Websites, eliminiert Werbung, verkompliziert und erhöht die Kosten für die Nachverfolgung und reduziert auch die Angriffsquellen auf den Browser.
Anonymität
Es sollte nicht möglich sein, die Anzeige einer Website mit der tatsächlichen Identität des Benutzers zu verbinden, wenn er sich nicht unter seinem tatsächlichen Namen auf dieser Website registriert und nicht über die vom Anbieter darauf registrierte IP-Adresse darauf zugegriffen hat.
Angesichts der Möglichkeit, Fingerabdrücke zu erhalten und zu verfolgen, wird die Anonymität des Benutzers, der es ihm durch mindestens eine der besuchten Websites ermöglicht hat, seine wahre Identität zu erkennen, zu einer Fiktion.
Die Verbesserung der Anonymität liegt außerhalb unseres Bereichs. Kurz gesagt, denken Sie daran: Es gibt keine Anonymität bei der Verwendung Ihres Hauptbrowsers und wird es niemals sein. Anonymität ist erforderlich - achten Sie auf spezialisierte Virtualoks (mit Standardeinstellungen und ohne die Ergebnisse nach dem Ausschalten der Virtualka auf der Festplatte zu speichern), VPN + Tor und Tor-Browser anstelle von regulärem Firefox.
Verfügbare Möglichkeiten zur Verbesserung des Schutzes
Was können wir also tun? In aufsteigender Reihenfolge der Schwierigkeit:
- Sie können die integrierten Funktionen des Browsers verwenden, um Websites individuell zu steuern und zu isolieren:
- Container
- Privates Fenster.
- Verwaltung von Zugriffsrechten für Websites.
- Blockieren von Cookies von Drittanbietern und bekannten Trackern.
- Löschen von Daten / Cache, die von Websites gespeichert werden.
- Sie können verschiedene Erweiterungen installieren.
- Sie können unter den mehreren tausend verfügbaren Browsereinstellungen in
about:config
und einige davon ändern.
Mit dem ersten Absatz ist alles trivial, aber ich möchte besonders die Container beachten. Dies ist eine relativ neue Funktion von Firefox, mit der Sie eine Gruppe von Sites in einem Container von einer Gruppe von Sites in einem anderen isolieren können. Tatsächlich sollte die Verwendung verschiedener Container in einem Browser genauso funktionieren wie die gleichzeitige Verwendung mehrerer verschiedener Browser - aber für den Benutzer bequemer. Die Isolierung von Containern ist immer noch etwas schwächer als bei Verwendung verschiedener Browser, aber sie ist recht gut und Container können verwendet werden. Die Container selbst verbessern jedoch nicht den Schutz der in unserem Bedrohungsmodell berücksichtigten Punkte. Maximal verhindern sie geringfügig, dass der Fingerabdruck des Benutzers von der Datenspeicherung ( Cookies, Cache usw. ) isoliert wird.
Erweiterungen sind sehr unterschiedlich - einige reichen für die Installation aus und funktionieren ohne Aufmerksamkeit und Feinabstimmung, andere müssen ständig konfiguriert werden, um die Funktionalität neuer Websites wiederherzustellen, und wieder andere stellen eine Bedrohung für Sicherheit, Datenschutz und Nachverfolgung dar. Daher sollten Sie die Auswahl der installierten Erweiterungen, deren Datenschutzrichtlinien und deren Aktualisierungen sorgfältig prüfen.
Das Ändern der about:config
ist der schwierigste Weg, um die Sicherheit zu verbessern. Zu viele dieser Einstellungen, zu wenig Informationen darüber, was bei jeder Änderung der Einstellungen möglicherweise nicht funktioniert, der Effekt ist für die meisten von ihnen nicht allzu offensichtlich. Außerdem bringt jede neue Version von Firefox eine Reihe neuer Einstellungen mit sich und entfernt einige der alten.
Erweiterungen
Überlegen Sie, ob Sie automatische Erweiterungsupdates verwenden möchten (Sie können sie über about:addons
). Es gibt viele Gründe, warum Sie es deaktivieren sollten (aber Sie müssen sie trotzdem aktualisieren, indem Sie Änderungen, einschließlich Datenschutzrichtlinien, manuell und sorgfältig überwachen):
- Entwickler beschließen regelmäßig, die Erweiterung auf eine Weise zu monetarisieren, die Ihnen im Kontext dieses Artikels definitiv nicht gefällt.
- Entwickler verkaufen manchmal Erweiterungen, und ihr neuer Eigentümer nimmt normalerweise Änderungen an ihnen vor, die Ihnen wahrscheinlich auch nicht gefallen.
- Erweiterungen "entführen" gelegentlich den Entwickler.
- Neuere Versionen können die Kompatibilität mit Ihrer aktuellen Konfiguration und / oder Ihrem Buggy beeinträchtigen.
Einige Erweiterungen verwenden CSP , um einzelne Funktionen zu implementieren. Leider ist die Architektur von Firefox derzeit so, dass nur eine der Erweiterungen CSP beim Laden einer Website ändern kann - und Sie können nicht sicher sein, welche davon im Voraus. Da es sehr wichtig ist , den korrekten Betrieb von uMatrix zu gewährleisten , müssen die Einstellungen anderer Erweiterungen sorgfältig überprüft werden, um sicherzustellen, dass alle Funktionen, die CSP verwenden, in diesen deaktiviert sind:
- uBlock Origin : Deaktivieren Sie die
→ → → [ ]
(ich bin mir definitiv nicht sicher, aber es ist logisch anzunehmen, dass dies für einzelne Websites auch besser nicht aktiviert werden sollte). - HTTPS Everywhere : Symbol
→ [ ] (EASE)
. - CanvasBlocker :
→ → [ ] Block data URL pages
deaktivieren → → [ ] Block data URL pages
blockieren (um dieses Element → [✓]
müssen Sie → [✓]
).
Wenn Sie sich nicht auf die Installation von Erweiterungen beschränken und die user.js
beschriebene user.js
, sollten Sie die zusätzlichen Nuancen berücksichtigen:
- Die empfohlene Konfigurationsoption
user.js
erfordert die Verwendung der Erweiterung uMatrix . - Einige Einstellungen in
user-overrides.js
sind erforderlich, um die Arbeit einiger Erweiterungen nicht zu unterbrechen. Passen Sie sie an die von Ihnen installierten Erweiterungen an.
Canvasblocker
CSS Exfil-Schutz
- Link
- Schützt: Vertraulichkeit.
- Beschreibung: Blockiert Angriffe wie die CSS-Datenexfiltration (Datendiebstahl von der Seite durch Verwendung bestimmter CSS-Selektoren).
- Verwendung: Funktioniert automatisch, erfordert keine Aufmerksamkeit.
- Symbol: Kann im erweiterten Menü ausgeblendet werden.
- Einstellung: Nicht erforderlich.
Decentraleyes
- Link
- Schützt: Tracking.
- Beschreibung: Schützt vor der Verfolgung von "freiem" CDN. Es enthält beliebte Dateien, die normalerweise über CDN angefordert werden, und gibt sie an den Browser weiter, ohne eine echte Netzwerkanforderung für CDN auszuführen. Nebeneffekt - beschleunigt das Laden von Websites geringfügig.
- Verwendung: Funktioniert automatisch, erfordert keine Aufmerksamkeit.
- Symbol: Kann im erweiterten Menü ausgeblendet werden.
- Einstellung: Nicht erforderlich.
Leider wird für mich die Firefox-Oberfläche angehalten, während einige Websites im Hintergrund geladen werden , sodass ich sie vorerst deaktivieren musste.
ETag Stoppa
- Link
- Schützt: Fingerabdrücke.
- Beschreibung: Entfernt den
ETag:
-Header aus der Serverantwort. - Verwendung: Funktioniert automatisch, erfordert keine Aufmerksamkeit.
- Symbol: Keine.
- Einstellung: Nicht erforderlich.
Anstatt diese Erweiterung zu verwenden, können Sie dem Header-Editor eine Regel hinzufügen (es ist sinnvoll, wenn sie auch für andere Regeln verwendet wird):
- Link
- Schützt: Hängt davon ab, wie man es benutzt.
- Beschreibung: Ermöglicht das Festlegen eigener Regeln zum Blockieren oder Umleiten von Anforderungen sowie zum Ändern der Kopfzeilen einer Anforderung oder Antwort.
- Verwendung: Funktioniert automatisch, erfordert keine Aufmerksamkeit.
- Symbol: Kann im erweiterten Menü ausgeblendet werden.
- Einstellung: Er selbst macht überhaupt nichts - Sie müssen die Regeln für ihn festlegen.
Ein Beispiel für die Regeln ist oben in der Beschreibung von ETag Stoppa erwähnt . Wenn es jedoch keine anderen Regeln gibt, ist es einfacher, ETag Stoppa anstelle dieser Erweiterung zu verwenden.
Ein weiteres Beispiel: Ich habe festgestellt, dass die ImTranslator- Erweiterung aus irgendeinem Grund zwei Cookies an alle Sites sendet: BL_D_PROV=undefined; BL_T_PROV=undefined
BL_D_PROV=undefined; BL_T_PROV=undefined
. Vielleicht ist dies nur ein Fehler, aber ich mag es nicht, dass er allen Websites mitteilt, dass ich diese Erweiterung verwende. Das Problem wird durch diese Regel gelöst:
HTTPS überall
- Link
- Schützt: Vertraulichkeit.
- Beschreibung: Wechselt nach Möglichkeit automatisch zu https.
- Verwendung: Es funktioniert automatisch und erfordert fast keine Aufmerksamkeit (das letzte Mal, dass ich aufgrund dieser Erweiterung vor anderthalb Jahren eine Website beschädigt habe).
- Symbol: Zum Anpassen von Websites.
- Einstellung: Nicht erforderlich.
Ordentliche URL
- Link
- Schützt: Tracking.
- Beschreibung: Entfernt Junk-Parameter aus URLs.
- Verwendung: Funktioniert automatisch, erfordert keine Aufmerksamkeit.
- Symbol: Kann im erweiterten Menü ausgeblendet werden.
- Einstellung: Nicht erforderlich.
uBlock Origin
- Link
- Schützt: Sicherheit, Fingerabdrücke, Verfolgung.
- Beschreibung: Ein automatischer Blocker (basierend auf Listen von Drittanbietern) von Müll nach Typ und / oder URL sowie einzelnen Seitenelementen: von Werbung und Benachrichtigungen über die Verwendung von Cookies durch die Website bis hin zu Trackern und Malvari.
- Verwendung: Gelegentlich müssen Sie eine neue Site einrichten.
- Symbol: Wird zum Konfigurieren der aktuellen Site benötigt, einschließlich des manuellen Blockierens einzelner Seitenelemente.
- Einstellung: (Filterlisten - eine Frage der persönlichen Präferenz)
[✓] → [✓] IP- WebRTC [✓] CSP- → [✓] uBlock filters – Annoyances → [✓] Adblock Warning Removal List → [✓] Fanboy's Enhanced Tracking List → [✓] Malvertising filter list by Disconnect [✓] Spam404 → [✓] AdGuard Annoyances filter [✓] Fanboy's Cookie List [✓] Fanboy's Annoyance List → [✓] Dan Pollock's hosts file [✓] hpHosts' Ad and tracking servers → , [✓] RUS: RU AdList
uMatrix
Diese Erweiterung bietet den schwerwiegendsten Schutz, hat jedoch einen Preis: Viele Websites sind beschädigt und müssen manuell repariert werden. Zum Beispiel hat die gerade hinzugefügte Regel "* * script block"
die JS-Ausführung auf allen Sites deaktiviert - was natürlich viele von ihnen beschädigt hat. Aber beeilen Sie sich nicht, diese Regel zu entfernen: Erstens wird es nicht viel helfen, weil Das Laden vieler Arten von Ressourcen, einschließlich JS von Websites von Drittanbietern, ist weiterhin deaktiviert (wodurch auch viele Websites beschädigt werden). und zweitens ist der Ansatz " Whitelist: Verboten alles, was nicht ausdrücklich erlaubt war " im modernen Web der einzig akzeptable, da Sie den Schutz von Firefox stärken möchten.
Die gute Nachricht ist, dass es nicht schwierig ist, Websites zu reparieren - normalerweise nur zwei oder drei Klicks in der Matrix, in der das Erweiterungssymbol angezeigt wird, und anschließend die aktuelle Seite erneut zu lesen. Die Hauptsache ist, nicht zu vergessen, Änderungen in derselben Matrix zu speichern, nachdem Sie die Site repariert haben.
Und machen Sie sich mental darauf gefasst, dass Sie beim ersten Mal fast jede Site reparieren müssen, die Sie häufig besuchen. Dies liegt an der Tatsache, dass Sie auf aktiv genutzten Sites mit ziemlicher Sicherheit mindestens die JS der Site selbst sowie möglicherweise einige Ressourcen mit einbeziehen müssen Websites von Drittanbietern. Seien Sie in den ersten Tagen geduldig, dann wird es ehrlich gesagt viel einfacher! :) :)
Es sollte beachtet werden, dass die uMatrix- Oberfläche sehr klar und bequem ist - nachdem Sie sich damit befasst haben. Mit anderen Worten, es kann nicht als intuitiv bezeichnet werden. Daher ist es sehr ratsam, die Dokumentation zu lesen! Zumindest der Abschnitt zur grundlegenden Verwendung von uMatrix (mit Bildern) aus dem obigen Artikel zum Firefox-Konfigurationshandbuch für Datenschutzfreaks und Leistungsverbesserungen . Im Allgemeinen empfehle ich dringend, das Wiki uMatrix zu lesen - es gibt viele Dinge, aber die Informationen sind sehr notwendig und nützlich.
Es gibt weitere zusätzliche Regeln, die möglicherweise sinnvoll sind, um sie zu →
hinzuzufügen. Sie verhindern, dass Internetseiten auf Ressourcen im lokalen Netzwerk zugreifen (dies ist kein Schutz vor einem DNS-Rebinding-Angriff). Wenn Sie uMatrix vor langer Zeit installiert haben, müssen Sie zuerst die Regel "matrix-off: localhost true"
entfernen (neue Versionen von uMatrix installieren sie nicht).
Fügen Sie diese Regeln hinzu: * localhost * block * 127 * block * 10 * block * 192.168 * block * 169.254 * block * 172.16 * block * 172.17 * block * 172.18 * block * 172.19 * block * 172.20 * block * 172.21 * block * 172.22 * block * 172.23 * block * 172.24 * block * 172.25 * block * 172.26 * block * 172.27 * block * 172.28 * block * 172.29 * block * 172.30 * block * 172.31 * block * [::1] * block * [fc00::] * block * [fd00::] * block * [fe80::] * block * [fe80::1%lo0] * block * [ff02::1] * block * [ff02::2] * block localhost localhost * allow 127 127 * allow 10 10 * allow 192.168 192.168 * allow 169.254 169.254 * allow 172.16 172.16 * allow 172.17 172.17 * allow 172.18 172.18 * allow 172.19 172.19 * allow 172.20 172.20 * allow 172.21 172.21 * allow 172.22 172.22 * allow 172.23 172.23 * allow 172.24 172.24 * allow 172.25 172.25 * allow 172.26 172.26 * allow 172.27 172.27 * allow 172.28 172.28 * allow 172.29 172.29 * allow 172.30 172.30 * allow 172.31 172.31 * allow [::1] [::1] * allow [fc00::] [fc00::] * allow [fd00::] [fd00::] * allow [fe80::] [fe80::] * allow [fe80::1%lo0] [fe80::1%lo0] * allow [ff02::1] [ff02::1] * allow [ff02::2] [ff02::2] * allow
ghacks user.js
Mit Erweiterungen war alles einfach (ja, und sogar mit uMatrix - obwohl dies die Verwendung des Browsers erschwert, bietet es auch den Hauptschutz), und jetzt kamen wir zum schwierigen Teil.
Das ghacks user.js- Projekt stellt uns die Basisdatei user.js
sowie Skripte zum Aktualisieren und Zurücksetzen der Remote-Einstellungen zur Verfügung. Diese Datei enthält (im Moment) eine Änderung von 488 Einstellungen in about:config
! Und es wird aus einem Grund als grundlegend angesehen: Wenn Sie es so verwenden, wie es ist, ohne die erforderlichen Änderungen vorzunehmen, führt dies mit ziemlicher Sicherheit zu einer Katastrophe (z. B. löschen die Standardeinstellungen regelmäßig den gesamten Browserverlauf, blockieren die Firefox-Russifizierung, brechen viele Websites und Erweiterungen).
Dieses Projekt unternimmt sehr ernsthafte Anstrengungen, um Fingerabdrücke und Nachverfolgung zu schützen ... so ernst, dass die Verwendung des Browsers so unpraktisch wird, dass es ehrlicher ist, "unmöglich" zu sagen. Gleichzeitig verliert es spürbar an Schutz für den Tor-Browser in der virtuellen Maschine. Dies bedeutet in keiner Weise, dass das Projekt für Benutzer nutzlos ist. Um es zu verwenden, müssen Sie viel Zeit damit verbringen, Ihre eigenen user-overrides.js
erstellen.
Aus diesem Grund müssen Sie vor der Verwendung:
- Lesen Sie user.js selbst sorgfältig durch (ca. 2300 Zeilen).
- Lesen Sie alle Wiki- Seiten des Projekts sorgfältig durch.
- Erstellen Sie Ihre eigene Datei
user-overrides.js
mit allen Änderungen an user.js
, die Sie persönlich benötigen. - Erstellen Sie ein Backup Ihres Firefox-Profils !!!
- Und erst dann aktiviere
user.js
Es braucht Zeit und viel. Lohnt es sich? Schwere Frage.
Um es zu beantworten, habe ich eine (unvollständige) Liste erstellt, was es zusätzlich zu Fingerabdrücken und Tracking verbessert - schauen Sie und entscheiden Sie selbst:
- Sicherheit:
- Deaktiviert die originalübergreifende HTTP-Authentifizierung (Account-Phishing).
- Verbessert den Schutz bei Verwendung gespeicherter Passwörter .
- Erhöht die Sicherheit bei Verwendung von TLS und Zertifikaten .
- Beschränkt die Unterstützung von Schriftarten (hohe Wahrscheinlichkeit von Sicherheitslücken).
- Deaktiviert DRM-Plugins .
- Deaktiviert WebGL (hohe Wahrscheinlichkeit von Sicherheitslücken).
- Beschränkt die WebGL- Funktionen, wenn sie aktiviert sind (hohe Wahrscheinlichkeit von Sicherheitslücken).
- Deaktiviert alle Arten von Arbeiteroptionen (Bergleute, Meltdown / Spectre).
- Deaktiviert asm.js (hohe Wahrscheinlichkeit von Sicherheitslücken).
- Deaktiviert WebAssembly .
- Deaktiviert Shared Memory (Spectre).
- Fügt
rel=noopener
für Links mit target=_blank
(Sicherheit) hinzu. - Verbessert den Schutz bei der Interaktion mit lokalen Anwendungen von Drittanbietern .
- Deaktiviert MathML (Reduzierung der Angriffsfläche).
- Erzwingt Punycode für IDN (Anti-Spoofing).
- Aktiviert die experimentelle Unterstützung für CSP 1.1 .
- Beinhaltet die Isolierung von Erstanbietern .
- Leckagen, Handhabung:
- Deaktiviert die Firefox- Telemetrie und die damit verbundenen Funktionen (Empfehlungen usw.).
- Deaktiviert Dienste von Drittanbietern wie Pocket.
- Es blockiert das Abpumpen von Links, auf die nicht geklickt wurde (Ping, Pre-Fetch usw.).
- Deaktiviert Netzwerkfunktionen, über die Sie Proxy / VPN umgehen und IP ermitteln können (einschließlich IPv6 und WebRTC).
- Begrenzt den Verlust des Verlaufs der vorherigen Seiten auf der aktuellen Registerkarte.
- Deaktiviert : besucht (Verlaufsleck).
- Es blockiert ein Leck während der Eingabe in die Adress- / Textsuchzeile durch die Suchmaschinenhinweise .
- Deaktiviert die Bildschirmfreigabe .
- Verweigert den Zugriff auf die Zwischenablage .
- Deaktiviert die Intersection Observer-API (Stabilität, Definition des Werbeblockers).
Um die Vorbereitung seiner user-overrides.js
zu vereinfachen user-overrides.js
Autor der oben genannten Artikel auf 12bytes.org seine eigenen user-overrides.js veröffentlicht . Es passte kategorisch nicht zu mir, weil ich einen moderaten Schutz benötige, der den Komfort der Verwendung des Browsers beibehält, selbst wenn der Schutz vor Fingerabdrücken und Nachverfolgung geschwächt wird.
Ich habe auch meine user-overrides.js gepostet. Vielleicht erleichtert es Ihnen die Verwendung von ghacks user.js
Um user.js
user.js zu user.js
, müssen Sie Folgendes tun:
- OBLIGATORISCH! Erstellen Sie eine Sicherungskopie Ihres aktuellen Firefox-Profils.
- Laden Sie die folgenden Dateien aus dem Projekt ghacks user.js in das Verzeichnis Ihres aktuellen Profils herunter:
user.js
updater.sh
(und mach es machbar) oder updater.bat
prefsCleaner.sh
(und mach es machbar) oder prefsCleaner.bat
- Erstellen Sie eine Datei
user-overrides.js
im Verzeichnis Ihres aktuellen Profils.
- Sie können einfach meine user-overrides.js herunterladen, dann Ihren aktuellen
dom.push.userAgentID
Wert dom.push.userAgentID
und die erforderlichen Änderungen vornehmen.
- Führen Sie
./updater.sh
oder updater.bat
. Es wird user.js
aktualisieren und am Ende den Inhalt von user-overrides.js
anhängen. - Beenden Sie Firefox und führen Sie
./prefsCleaner.sh
oder prefsCleaner.bat
. Es werden alle Einstellungen, die in user.js
(einschließlich der kommentierten), aus der Datei prefs.js
(die Ihre aktuellen about:config
Einstellungen enthält). - Starten Sie Firefox. Drücken Sie
Ctrl-Shift-Del
und löschen Sie (jederzeit):
- Cookies
- Cache.
- Offline-Website-Daten.
- Schauen
_user.js.parrot
sich about:config
, der Parameter _user.js.parrot
sollte auf "SUCCESS" gesetzt sein - andernfalls user.js
irgendwo in Ihrer user.js
Syntaxfehler vor.
user.js
Sie, dass alle in user.js
angegebenen Einstellungen bei jedem Start von Firefox angewendet werden. Wenn Sie also einige davon über about:config
ändern und diese Änderungen beim Neustart von Firefox speichern möchten, müssen Sie sie in user-overrides.js
duplizieren und dann ./updater.sh
oder updater.bat
.
Denken Sie daran, ./updater.sh
oder updater.bat
regelmäßig updater.bat
, um user.js
zu aktualisieren (zumindest nach der Veröffentlichung der neuen Version von Firefox). Der Aktualisierungsprozess wird im Projekt-Wiki ausführlicher beschrieben.
Ich habe wenig mäßiges Härten, ich will alles maximal!
In diesem Fall ist Folgendes zu tun:
- Verwerfen Sie schutzschwächende Änderungen in
user-overrides.js
.
- Anstatt die Blockierung aufzuheben, sperren Worker sie global in uMatrix.
- IP über Tor und / oder öffentlichen VPN-Dienst ausblenden.
- Installieren Sie die Erweiterung " Datenschutzorientierte Ursprungsrichtlinie" .
- Installieren Sie die Skip Redirect- Erweiterung.
- Installieren Sie die Erweiterung Temporäre Container .
- Lesen Sie die Vorsichtsmaßnahmen und Empfehlungen für Firefox-Suchmaschinen und bereinigen Sie die Suchmaschineneinstellungen in Firefox.
- Entfernen Sie integrierte Erweiterungen aus / usr / lib / Firefox / Browser / Features /.
- Aktivieren Sie das globale Referer-Spoofing für Websites von Drittanbietern in uMatrix.
Die Seite funktioniert nicht - wer ist schuld, wo kann man das Problem beheben?
Ich habe eine Liste mit Änderungen vorgenommen, die die Website stören könnten, damit Sie schnell die Schuld finden können. Die Markierung "(überschrieben)" bedeutet, dass sich diese Änderung in der ursprünglichen user.js
, aber von meiner user.js
user-overrides.js
deaktiviert wird.
- Erweiterung: CanvasBlocker
- Canvas 2D .
- WebGL .
- Audio API .
- history.length .
- window.name window.opener .
- DOMRect API .
- data:// .
- : CSS Exfil Protection
- : ETag Stoppa
- : Firefox Multi-Account Containers
- ( , localStorage , etc.) .
- : HTTPS Everywhere
- : Neat URL
- : uBlock Origin
- DOM .
- / url .
- popup .
- .
- pre-fetching .
- <a ping> sendBeacon .
- CSP .
- : uMatrix
- .
- mixed content .
- workers .
- Referer: .
- <noscript> .
- <a ping> sendBeacon .
- ghacks user.js
- () en-US.
- pre-fetching (, DNS, onMouseOver, etc.).
- <a ping> .
- IPv6 ( MAC, .. VPN).
- () HTTP/2 Alt-Svc: (fingerprinting).
- () /etc/hosts DNS SOCKS.
- () :visited ( ).
- () date/time picker ( ).
- cross-origin HTTP Auth ( ).
- () https- OCSP .
- SHA1 https- ( /MITM).
- Public Key Pinning ( /MITM).
- () mixed content .
- mixed content Flash.
- () (fingerprinting).
- ( ).
- cross-origin Referer: .
- DRM- .
- () OpenH264 Video Codec - WebRTC.
- () WebRTC ( IP, .. VPN).
- WebGL ( ).
- () WebGL ( ).
- screen sharing .
- canvas (fingerprinting).
- () - HTML5 media .
- window.open .
- .
- popup click dblclick.
- () workers (, Meltdown/Spectre).
- clipboard .
- beforeunload .
- asm.js ( ).
- WebAssembly .
- Intersection Observer API (, ).
- Shared Memory (Spectre).
rel=noopener
target=_blank
().- hardware acceleration (fingerprinting).
- Web Audio API (fingerprinting).
- sendBeacon .
- - file:// .
- MathML ( ).
- () .
- offline cache .
- () first party isolation ( - ).
- () resist fingerprinting ( / , , , , ; ; , ; Shift Alt; etc.).
- user-overrides.js
Firefox, , , : Mozilla. , ALSA PulseAudio , PulseAudio. " , PulseAudio, " , , (, , — PulseAudio, ).
Firefox , : , FPI (first party isolation) RFP (resist fingerprinting). - Temporary Containers ( , " Hardening") — , . , . , , .
https://html5test.com HTML5 508 555 ( , user.js
) 493 ( user.js
user-overrides.js
).