user.js - Einträge noch gültig oder veraltet?

  • Ich bin derzeit beruflich sehr eingebunden und hatte schlicht noch keine Zeit alle Schlüsselstellen zu durchsuchen, die Schuld weise ich also von mir... ;)

    Ich nehme das mal zum Anlass hier meine user.js einzustellen mit der Frage, ob alle Einträge noch gültig oder veraltet sind. Über den Sinn muss nicht diskutiert werden...

    Also Feuer frei:

  • Da sind definitiv veraltete, falsch beschriebene und fragwürdige Optionen dabei, aber 119 Schalter durchzugehen ist ein bisschen viel Aufwand für so nebenbei, zumal ich auf dem Sprung bin. Nur so viel, obwohl du ja schreibst, über den Sinn nicht diskutieren zu wollen, aber den Sinn von sowas sollte man grundsätzlich schon diskutieren:

    user_pref("security.tls.version.min",1); /* Poodle Sicherung */

    Das ist aus heutiger Sicht keine "Sicherung" gegen irgendetwas, sondern im Gegenteil eine deutliche Herabsetzung deiner Sicherheit, weil du hoffnungslos veraltete TLS-Versionen gestattest.

  • ob alle Einträge noch gültig oder veraltet sind.

    Auf die Schnelle, diese Einträge gibt es bei mir zumindest nicht :/

  • Diese Einträge habe ich auch nicht.

  • Ich habe nochmal einen Blick auf die Einstellungen geworfen und bin ehrlich gesagt beunruhigt darüber, dass es doch ein paar Sicherheits-Schalter sind, an denen rumgespielt worden ist. Wüsste ich nicht, dass du das alles so eingetragen und kommentiert hast, könnte man fast meinen, da sei Malware am Werk gewesen…

    • security.dialog_enable_delay => Ich verstehe, die Buttons sollen eine Sekunde schneller sichtbar sein. Tatäschlich hat diese Verzögerung aber keine kosmetischen Gründe, sondern ist ein Schutz gegen ein reales Angriffs-Szenario.
    • security.use_mozillapkix_verification => Gibt es nicht mehr, aber wie kommt man auf die Idee, eine Zertifikats-Prüfung abzuschalten?
    • security.tls.version.min => Habe ich ja schon gesagt, hier wurden die veralteten Sicherheits-Protokolle TLS 1.0 und TLS 1.1 wieder aktiviert, obwohl Firefox standardmäßig TLS 1.2 oder höher erfordert.
    • security.tls.version.max => Das steht bei dir zwar auf dem korrekten - aktuellen - Standard-Wert von 4, aber sollte dann irgendwann TLS 1.4 kommen, was einem Eintrag von 5 in about:config entsprechen würde, würde das neue Sicherheits-Protokoll bei dir nie aktiv werden.
    • dom.ipc.plugins.flash.disable-protected-mode => Eh nicht mehr relevant, aber da hast du sogar selbst kommentiert: "Flash-Player ohne Sicherheitsmodus". Ich gehe jetzt mal davon aus, dass du damals Abstürze mit dem Adobe Flash Player hattest. Das ist nämlich der einzige Anwendungsfall dafür gewesen.
    • browser.safebrowsing.downloads.remote.enabled => Hier schaltest du einen wichtigen Malware-Schutz ab. Dazu entspricht dein Kommentar mit "Google URL-Sniffing abschalten" auch nicht der Wahrheit. Es gibt überhaupt kein "URL-Sniffing", sondern einen Abgleich von Datei-Metadaten. Falls es dir um Privatsphäre geht: Mozilla hat Safe Browsing noch nie in einer Weise genutzt, welche deine Privatsphäre tatsächlich gefährdet.
    • full-screen-api.warning.timeout => Auch hier schaltest du einen Mechanismus ab, der dich vor einem realen Angriffs-Szenario schützt.
    • signon.autofillForms.http => Das automatische Vorausfüllen von Passwort-Feldern auf Websites, welche deine Passwörter im Klartext durch das Internet schicken, fördert kaum die Sicherheit.
    • security.insecure_field_warning.contextual.enabled => Gleiches gilt natürlich hier: Eine Warnung auf Websites, welche dein Passwort im Klartext senden wollen, ist durchaus angebracht.
    • extensions.webextensions.restrictedDomains => Damit wird eine reale Sicherheitslücke geöffnet, da diese Mozilla-Websites keine normalen Websites sind, sondern spezielle Privilegien besitzen.
    • security.allow_eval_with_system_principal => eval ist so ziemlich das Böseste, was es in JavaScript gibt. Ich würde eher Scripts meiden, welche eval nutzen, statt diese mächtige Funktion zu erlauben. Zumal hier schnell Probleme entstehen können, wenn Mozilla eine Funktion verändert und das vom Script nicht berücksichtigt wird.
    • network.ftp.enabled => Funktioniert eh nicht mehr, aber FTP ist ein unsicheres Protokoll, da hier wie bei HTTP statt HTTPS die Datenübertragung komplett unverschlüsselt stattfindet.

    Das ist eine doch recht lange Liste und das sind alles nur die Schalter, mit denen du das Sicherheits-Level deines Firefox heruntergesetzt hast. Fragwürdige Änderungen gibt es aber auch abseits des Themas Sicherheit ein paar. Ich möchte gar nicht auf alles eingehen, nur auf ein paar wenige, bei denen die Beschreibung schon offensichtlich falsch ist, woraus ich schließe, dass dir gar nicht klar ist, was du da eigentlich veränderst.

    • user_pref("javascript.options.baselinejit",false); /* JavaScript Engine abgestellt */ => Es ist überhaupt nicht möglich, die "JavaScript-Engine abzustellen", du schaltest hier lediglich den Baseline Just-in-Time-Compiler ab. Aber wieso du das tust, weißt du vermutlich nicht mehr? Kommentiert ist das nämlich nicht. Und JavaScript schaltest du damit jedenfalls nicht ab.
    • user_pref("webgl.disable-extensions",true); /* Webgl abschalten */
      user_pref("webgl.min_capability_mode",true); /* Webgl abschalten */ => Weder der eine noch der andere Schalter schaltet WebGL ab. Und wieso solltest du WebGL überhaupt abschalten wollen? Das kannst du auch wie folgt umformulieren: "Firefox langsamer machen". Klingt das immer noch verlockend?
    • user_pref("browser.newtabpage.activity-stream.asrouter.devtoolsEnabled",true); /* Neue Tab Seite ab FF 67 einschalten*/ => Der Schalter aktiviert, wie der Name schon sagt, Entwicklerwerkzeuge für die Seite, die beim Öffnen eines neuen Tabs erscheint. Eine neue Version dieser Seite wurde damit nicht aktiviert.
    • user_pref("browser.chrome.toolbar_tips",false); /* Tipps ausblenden */ => Tooltips sind keine Tipps, eher Beschreibungstexte.

    Ansonsten haben die anderen ja schon einige Schalter genannt, die es längst nicht mehr gibt.

    Generell würde ich noch die Empfehlung aussprechen, vielleicht nicht zur kommentieren, was genau ein Schalter macht, sondern, wo es Sinn ergibt, auch zu erwähnen, was überhaupt der Grund für die Änderung ist. Bei javascript.options.baselinejit beispielsweise kommt ja schon der Verdacht auf, dass es mal einen konkreten Anlass dazu gab, weil das so ein Schalter ist, wo man sicher nicht eines Morgens aufwacht und sich denkt: Den muss ich ändern. Wenn man den Grund für so eine Änderung mit dokumentiert, lässt sich das zu einem späteren Zeitpunkt dann auch einfacher feststellen, ob das überhaupt noch notwendig ist oder nicht.

  • Wüsste ich nicht, dass du das alles so eingetragen und kommentiert hast, könnte man fast meinen, da sei Malware am Werk gewesen…

    Das erweckt den Eindruck, als ob er die Einstellungen von solch „wohlmeinenden“ Sites wie Privacy-Handbuch hat.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Danke für die Hinweise... die user.js ist vor vielen Jahren erstellt, danach nur noch ergänzt worden. Malware kann ich ausschließen, nicht allerdings, das tatsächlich aus dem genannten Handbuch seinerzeit Einstellungen übernommen worden sind. Diese werde ich jetzt alle ausmerzen und zurückstellen.

    Abschließend: Gut, das ich mal nachgefragt habe, danke an alle Beteiligten! :thumbup: :saint:

  • Prima! Bitte zur/zum Gegenkontrolle/Vergleich auch eine korrigierte/sichere User.JS anfügen. :)

    Bspw. steht in meinem Profil unter about:config ...

    user_pref("security.tls.version.min",3); :?:

  • Sehr gut, Danke. In meiner User.JS steht ohnedies nur ...

    USER.JS

    Code
    user_pref("network.trr.blacklist-duration", 60);
    user_pref("network.trr.blocklist_cleanup_done", true);
    user_pref("network.trr.custom_uri", "https://dns.digitale-gesellschaft.ch/dns-query");
    user_pref("network.trr.default_provider_uri", "https://dns.digitale-gesellschaft.ch/dns-query");
    user_pref("network.trr.mode", 3);
    user_pref("network.trr.resolvers", "[{ \"name\": \"DNSHome (DE)\", \"url\": \"https://dns.dnshome.de/dns-query\" }, { \"name\": \"AppliedPrivacy (AT)\", \"url\": \"https://doh.appliedprivacy.net/query\" },{ \"name\": \"Digitale Gesellschaft (CH)\", \"url\": \"https://dns.digitale-gesellschaft.ch/dns-query\" }, { \"name\": \"SWITCH (CH)\", \"url\": \"https://dns.switch.ch/dns-query\" }, { \"name\": \"Quad9\", \"url\": \"https://dns.quad9.net/dns-query\" }]");
    user_pref("network.trr.uri", "https://dns.switch.ch/dns-query");