Firefox - zentrale Konfiguration im Unternehmen

Wie in zurückliegenden Artikeln bereits dargelegt kann Firefox mittels des Local Update Publisher zentral verteilt werden. Und wenn man im Unternehmensumfeld schon mal dabei ist verwendet man dafür auch gerne die ESR - Versionen.

Der zunehmende Funktionsumfang der Browser in den letzten Jahren und die Tatsache das selbst die ESR Versionen funktional nicht für Unternehmen optimiert sind führt bei vielen Administratoren zu dem Wunsch Firefox nicht nur zu verteilen sondern auch zu konfigurieren. Das betrifft zum einen administrative Konfigurationen wie Einstellungen zum Updateverhalten, aber auch Komforteinstellungen wie das Abschalten nicht relevanter Popups.

Leider kann Firefox nicht nativ per GPO konfiguriert werden. Das macht es - wie so oft und wieder mal - nötig sich mit noch weiteren Verfahren zu beschäftigen.

Die administrative Konfiguration von FF kann auf verschiedenen Wegen erfolgen....

 

* Man verwendet .adm Templates um die GPO Verwaltung in die Lage zu versetzen Firefox zu konfigurieren. Leider sind die Templates veraltet, unvollständig  und die Entwicklung wohl eingestellt. Für einen Neueinstieg würde davon abraten.

 

* Man verteilt von zentraler Stelle Konfigurationsdateien auf die Clientrechner, sei es per Script, oder GPO, oder läßt sie auf eine zentrale Konfiguration zugreifen.

 

*Man verwendet den in Enterprise Umgebungen recht beliebten CCK Wizard um sich schlußendlich zum Beispiel einen eigens konfigurierten Firefox zur Verteilung zusammenzustellen.

 

Die nachfolgenden Ausführungen gelten für eine Windowsdomäne, zum Einsatz kommt FF 31 ESR (oder höher). Die gesetzten Veränderungen kratzen nur an der obersten Schicht der Möglichkeiten und dienen einem zügigen Einstieg mit möglichst wenig Fallstricken.

Der Artikel behandelt das Verfahren mit einer Verteilung von Konfigurationsdateien auf die Clientrechner und zentraler Konfigurationsdatei. Diese ist nur ein Nice-to-have Bonus, denn in jedem Fall müssen zwei Dateien auf die Clients verteilt werden.

Der funktionale Unterschied zwischen einer lokalen und zentralen Konfigurationsdatei besteht darin das bei zentraler Konfiguration Änderungen mit dem Start einer neuen FF-Instanz wirksam werden, wohingegen lokale Konfigurationsänderungenerst mit Neuladen der GPO erfolgen ( also typischerweise Neustart ).

Aber: Wie oft ändert man schon die Konfiguration, also wäre es eigentlich egal.

 

Bei jedem Start einer neuen Instanz berücksichtigt FF automatisch Konfigurationsdateien in folgendem Installationsunterpfad: /defaults/pref 

Die dortigen Konfigurationsdateien beherrschen jedoch nicht den vollen Befehlsumfang, weshalb üblicherweise von dort auf eine weitere lokale Konfigurationsdatei verlinkt wird. Von dieser aus kann dann bei Bedarf auf eine zentrale Konfigurationsdatei zugegriffen werden.

 

Frisch ans Werk!

 

Teil 1 - die drei Dateien erzeugen. Als Ablageort bietet sich ein Ordner "Softwareverteilung" von dem ja womöglich auch schon die FF-Installation verteilt wird.

 

Auf dem Server erzeugen wir mittels Texteditor ( ANSI Speicherformat beachten ) eine Datei "Firmenname_settings_lokal.js" mit folgendem Inhalt:

 

//Umleitung zum lokalen Konfigfile, welches es ermöglicht lockPref zu benutzen und mehr Variablen zu benutzen.

pref("general.config.obscure_value", 0);
pref("general.config.filename", "Firmenname_Firefox_lokal.cfg");

 

Dann erzeugen wir mittels Texteditor ( ANSI Speicherformat beachten ) eine Datei "Firmenname_Firefox_lokal.cfg" mit folgendem Inhalt:

 


//Umleitung zum eigentlichen, zentral liegenden Konfigurationsfile
//Konfigurationen nur dort ändern, nicht hier!
lockPref("autoadmin.global_config_url","file://///Servername/Softwareverteilung$/Firmenname_Firefox_zentral.cfg");

 

Der Pfad ist ggf. anzupassen, aber ich habe hier mal ein schönes Beispiel wie die Adresse ausssieht wenn man als Quelle eine Fileablage und versteckte Freigaben verwendet.

 

Zum Schluß erzeugen wir mittels Texteditor ( ANSI Speicherformat beachten ) eine Datei "Firmenname_Firefox_zentral.cfg" mit folgendem Inhalt:

 


//Firefox Default Settings
//Zentrales Konfigurationsfle, Änderungen nur hier durchführen, jeder FF übernimmt die Einstellungen sofort mit Start einer neuen Instanz
//Auswahl durch Pö
//
// Startseite, voreingestellt aber änderbar
pref("browser.startup.homepage","http://www.google.de");
//
// Standard Browser Check
lockPref("browser.shell.checkDefaultBrowser", false);
lockPref("pref.general.disable_button.default_browser", true);
//
// Update Check deaktivieren
lockPref("app.update.enabled", false);
lockPref("app.update.auto", false);
lockPref("app.update.service.enabled", false);
//
// Proxy deaktiviert
lockPref("network.proxy.type", 0);
//
//Privacy
lockPref("privacy.donottrackheader.enabled", true);
lockPref("privacy.donottrackheader.value", 1);

// disables the request to send performance data from displaying
lockPref("toolkit.telemetry.prompted", 2);
lockPref("toolkit.telemetry.rejected", true);
lockPref("toolkit.telemetry.enabled", false);
//
// stops the 'know your rights' button from displaying on first run
pref("browser.rights.3.shown", true);
//
// Disable blinking text:
pref("browser.blink_allowed", false);
//
// Disable JS windows popping up without direct action from the user
// (as lots of porn and spam sites do):
pref("dom.disable_open_during_load", true);
//
// Syntax highlighting in View Source.
pref("view_source.syntax_highlight", true);
//
// This will stop the ‘Thanks for installing Firefox’ from showing when first launching Firefox.
pref("app.update.showInstalledUI", false);
//
// This will stop another ‘Congratulations on installing Firefox’ screen when launching Firefox.
pref("browser.startup.homepage_override.mstone", "ignore");

 

 

Ein bischen was zum Verständnis der verwendeten Befehle. Wir unterscheiden pref ( damit wird eine Konfiguration vorausgewählt, ist aber änderbar) und lockPref. Bei der Verwendung von letzterem wird die Option vorausgewählt und gesperrt (ausgegraut). Der Befehl ist Case sensitiv!, lockpref führt ohne Fehlermeldung ins Leere!

 

 

Teil 2 Die Verteilung

 

Während die Datei "Firmenname_Firefox_zentral.cfg" an Ort und Stelle verbleiben kann verteilen wir die Datei 

"Firmenname_settings_lokal.js" nach %ProgramFiles(x86)%\Mozilla Firefox\defaults\pref\Firmenname_settings_lokal.js und die Datei

"Firmenname_Firefox_lokal.cfg" nach %ProgramFiles(x86)%\Mozilla Firefox\Firmenname_Firefox_lokal.cfg

 

Hier lauert ein Fallstrick, denn die obigene Angaben sind für 64bit Systeme. Wer eine gemischte Infrastruktur hat bekommt ein Problem, denn es gibt keine globale Variable die bei 32bit und 64bit Systemen den Pfad automatisch richtig in den 32 bit Pfad setzt. Das korrekt abzufangen behandel ich in einem weiteren Artikel.

 

Die Verteilung erfolgt per GPO, und zwar kann man in diesem Fall den Pfad "Computerconfiguration/Windows-Einstellungen/Dateien" verwenden, denn diese Konfigurationsmaßnahmen sind nichts Benutzerspezifisches und gelten Computerweit.

 

 

 

Kommentar schreiben

Kommentare: 5
  • #1

    Rene (Donnerstag, 23 Oktober 2014 10:19)

    Super Erklärung.

    Die unterschiedliche Verteilung auf x86 und x64 sollte doch relativ einfach zu bewerkstelligen sein, wenn man die Variable Processor_Architecture auswertet.

    IF %Processor_Architecture%==AMD64 -> X64

    Grüßle

  • #2

    road-books (Donnerstag, 23 Oktober 2014 11:09)

    nein, das nützt leider nichts, denn die Prozessor Architektur sagt nichts darüber ob auf ihr ein 32bit oder 64 bit OS installiert ist.
    Ich habe den Link zum entsprechenden Artikel ergänzt.

  • #3

    Rene (Freitag, 24 Oktober 2014 09:18)

    Super weitergeführt!
    Das muss man erstmal zusammenstellen...

    Danke dafür!

  • #4

    Marv (Donnerstag, 01 Oktober 2015 10:56)

    Läuft super! Danke!

  • #5

    Axel (Samstag, 24 Dezember 2016 14:52)

    Sehr gute Artikel, danke dafür!