wannabe
Goto Top

Firefox mit AddOns - Verteilung und Steuerung über GPO in einer Windows 2003 Domäne

Es war soweit, ich stand vor dem Problem, Firefox in einer Domäne verteilen zu wollen, nein – sagen wir “zu müssen” das klingt dramatischer.

Meine Erfahrungen, Hilfsmittel und Ideen habe ich zusammengetragen, vielleicht hilft das dem ein oder anderen Admin, der vor dem gleichen Problem steht.
Letztlich konnte ich das Projekt in vertretbarer Zeit erfolgreich abschließen – und habe bisher auch nur positive Rückmeldungen von Usern erhalten – das hat man ja auch nicht allzu oft, wenn man sich mit Softwareverteilungen und msi-rumgefrickeleien beschäftigt. Irgendwer mault schließlich immer. Hier erfreulicher Weise nicht.

Um Firefox über Gruppenrichtlinien zu verteilen, sollten folgende Voraussetzungen erfüllt sein:
- Firefox Installationspaket als MSI-Paket, um eine problemlose Verteilungs- und Aktualisierungsinfrastruktur zur Verfügung zu haben
- Gruppenrichtlinienvorlagen, um Einstellungen domänenweit vorzunehmen
- Möglichkeit AddOns zu verteilen, ohne dass Nutzer Installationsberechtigungen für AddOns haben

Folgende Anforderungen müssen im exemplarisch geführten Tutorial erfüllt werden, um Firefox für die Verteilung frei zu geben:
1) Zentrale Verwaltung der Programmversion; zentrales ausrollen neuer Versionen
2) Möglichkeit einzelne Programmeinstellungen zentral zu verwalten und für Nutzer zu sperren
3) AddOn und Plugin-Installation soweit einschränken, dass Nutzer keine Installationsberechtigung haben, aber AddOns zentral und automatisch verteilt werden können.


Da die Firefox-Installationsroutine von Mozilla lediglich als .exe bereitgestellt wird, bestehen die beiden Möglichkeiten entweder selbst eine MSI zu erstellen, oder eine für die Weiterverteilung gedachte MSI eines Drittanbieters zu verwenden.

Da das Erstellen von MSIs besondere Systeme erfordert und zeitaufwendig ist, fällt die Entscheidung am besten auf vorbereitete Installationsroutinen von „FrontMotion“ (http://www.frontmotion.com), die bereits nötige Plugins, sowie die aktuelle Version des Adobe Flash-Players und des aktuellen Sun Java-Frameworks, enthalten.

Diese Installationsroutine kann mit Microsoft ORCA (MSDN) insoweit angepasst werden, dass eine bessere Akzeptanz der Nutzer durch ein gewohntes Erscheinungsbild erreicht werden kann.

Hierfür werden die von FrontMotion getätigten Änderungen in Applikations- und Pfadnamen entsprechend Rückgängig gemacht, um Firefox unter „Start – Programme – Mozilla Firefox – Mozilla Firefox“ anbieten zu können, statt dem vorgegeben Pfad von „Start – Programme – FrontMotion Firefox Community Edition – Front Motion Firefox“.

Hierfür wird die MSI am einfachsten mit ORCA durchsucht und die entsprechenden Einstellungen in den gewünschten Wert geändert.

Nach einer Testinstallation auf einem Test-Client und einer Kontrolle der geänderten Einstellungen kann die MSI per Softwareverteilung grundsätzlich auf Clients verteilt werden.
Hierzu wird eine Test-OU angelegt, in der die neue Softwareverteilungs-Gruppenrichtlinie erstellt wird. Innerhalb der Organisationseinheit befinden sich lediglich der oder die Test-Clients.

Um Einstellungen festlegen und für Nutzer zentral sperren oder freigeben zu können, werden Gruppenrichtlinien-Vorlagen benötigt. Die Überlegung diese selbst zu erstellen, wird aufgrund der Komplexität sicher verworfen. FrontMotion bietet zu den MSI Paketen auch Gruppenrichtlinien-Vorlagen, die die Möglichkeit bieten, viele Einstellungen, die in Firefox mit dem Befehl about:config manuell gesetzt werden können, zentral festzulegen oder als default-Wert vorzugeben.

Nach der Überprüfung der heruntergeladenen Vorlage habe ich die Vorlage noch um einige fehlende Einstellungen erweitert und die Beschreibungstexte vervollständigt.

Um AddOns (=extensions) zentral zur Verfügung zu stellen, ist grundlegendes Wissen über die Verwaltung von AddOns in Firefox nötig:

Vom Nutzer installierte AddOns sind stets nutzerspezifisch und werden demnach im Profilordner von Firefox abgelegt. Dieser befindet sich auf Windows XP Systemen unter „%userprofile%\Anwendungsdaten\Mozilla\Firefox\Profiles\[profilname]\extensions\“.
Wird über die Gruppenrichtlinien die Installation von AddOns verboten, kann von dort kein AddOn mehr installiert werden.

Globale AddOns, sprich AddOns die für jeden Nutzer eines Computers verfügbar sind, hingegen, werden im Programmverzeichnis von Firefox abgelegt: „%ProgramFiles%\Mozilla Firefox\Extensions\“ und müssen nicht installiert werden, sofern sie bereits entpackt zur Verfügung stehen.

Da Benutzer keine Schreibberechtigungen im Programmverzeichnis haben (sollten), ist also sichergestellt, dass AddOns nur von Administratoren mit dem entsprechenden Hintergrundwissen hinzugefügt werden können.

Bei den Firefox AddOn-Installationsdateien „*.xpi“ handelt es sich eigentlich um zip-Archive, die einfach in .zip umbenannt und dann entpackt werden können. Die entpackten Dateien müssen in einen Ordner verschoben werden, der mit der eindeutigen ID des AddOns benannt ist.
Dieser Ordner muss nun per Script in das Extensions-Verzeichnis im Firefox Programmordner kopiert werden und steht daraufhin beim nächsten Start von Firefox zur Verfügung.

Folgendes beschreibt die Vorgehensweise, um Adblock Plus für alle Nutzer zentral zur Verfügung zu stellen.

Zunächst wird die aktuelle Version der Installation heruntergeladen, hier „adblock_plus-1.1.3-fx+sm+tb+fn.xpi“.
Diese Datei wird nun in „adblock_plus-1.1.3-fx+sm+tb+fn.zip“ umbenannt und in einen neuen Ordner entpackt.
Das Archiv enthält die Dateien des AddOns und nun muss der Ordner mit der eindeutigen ID des AddOns benannt werden. Um diese ID herauszufinden, installiert man entweder auf einem Test-Client das AddOn manuell und kopiert den Namen, der im Profilverzeichnis von Firefox liegt, oder öffnet die im Archiv enthaltene Datei „install.rdf“, in der die ID ebenfalls auftaucht:
{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

Der Ordner wird folglich „{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}“ genannt.

Nun muss dieser Ordner natürlich an einen für jedes Computer- und Benutzerkonto lesbaren Bereich verschoben werden, hier: „%LOGONSERVER%\netlogon\Softwareverteilung\Firefox\Extensions\{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}“.

Daraufhin muss auf einem Test-Client AdBlock Plus manuell installiert, und die gewünschten Filterlisten ausgewählt werden. Daraufhin erzeugt AdBlock Plus im Nutzer-Profil von Firefox den Ordner „adblockplus“ der die Filterlisten-Datei „patterns.ini“ enthält, in der alle Filterlistenabbonnements enthalten sind.
Diese Datei wird besten in den bereitgestellten Ordner des AddOns verschoben.

Um die Änderung des Pfades der pattern-Datei AdBlock Plus bekannt zu geben, werden folgende Änderungen an der Datei „{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}\defaults\preferences\adblockplus.js“ vorgenommen:

pref(“extensions.adblockplus.currentVersion”, “1.0″);
// „1.0“ unterdrückt das Dialogfeld zur Auswahl einer Filterliste beim ersten Start

pref(“extensions.adblockplus.patternsfile”, “C:\Programme\Mozilla Firefox\extensions\{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}\patterns.ini”);
// verlegt den Pfad zum Pattern-File vom Firefox Profil in das Programmverzeichnis, in dem Nutzer keine Änderungsberechtigung haben

Mit einem Startup Script wird nun geprüft, ob Firefox installiert ist, dann ob der Ordner bereits vorhanden ist und falls nicht, wird er von dem Bereitstellungsort in das Firefox Programmverzeichnis kopiert. Dieses Script wird als Startup Script hinterlegt, damit es mit Systemrechten ausgeführt wird.

Die Pattern-Datei wird zentral von diesem Ort aus verteilt, es ist lediglich von Zeit zu Zeit notwendig eine aktualisierte Version dort abzulegen, die erneut beim Starten kopiert wird, sobald sie neuer ist. Hierfür empfiehlt sich robocopy aus dem Ressource Kit.

Nach abschließenden Tests kann Firefox innerhalb der Domäne verteilt werden.


Dies habe ich auf einer Webseite noch etwas detailierter ausgeführt, dort sind noch einige Hintergrundinfos und die verwendeten Scripte und Gruppenrichtlinienvorlagen zu finden.

Bei Interesse kann also gerne http://howto.deploy-firefox.de besucht werden.
Hier auch die Direktlinks:
Vorüberlegungen zur Verteilung von Firefox
Firefox und MSI
Firefox und Gruppenrichtlinien
Firefox Gruppenrichtlinienvorlage .adm

AddOns - Vorüberlegungen zum Verteilen von AddOns
AddOns - Hintergrundwissen über die AddOn-Behandlung in Firefox
AddOns - explarisch dargestellte Verteilung von AdBlockPlus
AddOns - Bereitstellung eines eigenen Firefox AddOn-Repositorys

Scripte:
Logon cmd Script zur AddOn-Installation
AddOn - Repository Beispiel: Repository.xml

So ich hoffe das hilft dem ein oder anderen - oder kann zumindest helfen, das Rad nicht neu erfinden zu müssen. Wer im Internet nach Tutorials oder Hilfestellungen zu dem Thema sucht, findet selten wirklich hilfreiche Infos.

Cheers,
wannabe

Content-Key: 134596

Url: https://administrator.de/contentid/134596

Printed on: April 19, 2024 at 22:04 o'clock

Member: DerWoWusste
DerWoWusste Feb 08, 2010 at 13:50:14 (UTC)
Goto Top
Hi.
Wie ich sehe, hast Du die ADMs von Frontmotion soweit durchschaut, dass Du selber auch modifiziert hast.
Könntets Du ein adm bereitstellen, das startup.homepage_welcome_url konfigurierbar macht?
...nur, wenn's für Dich ein Klacks ist, sonst arbeite ich mich selbst ein.
Member: wannabe
wannabe Feb 08, 2010 at 20:40:28 (UTC)
Goto Top
Hi,

gerne, hab das oben verlinkte aktualisiert, auch wenn ichs grade erst von zuhause aus gemacht hab - und es demzufolge noch nicht getestet ist. Ich seh aber keinen Grund, aus dem es nicht funktionieren sollte. Morgen werd ich das aber noch testen, wenns nicht eilt, kannst ja bis dahin warten.
Ist einmal als locked setting und einmal als default setting hinterlegt. Ich habs mal in die "browser" Kategorie geworfen, weil ich jetzt extra dafür keine eigene Kategorie anlegen wollte.

Findest es unter dem oben angegebenen Link "Firefox Gruppenrichtlinienvorlage .adm".
Member: DerWoWusste
DerWoWusste Feb 09, 2010 at 08:31:10 (UTC)
Goto Top
Hab's probiert. About:config zeigt den richtigen Wert als locked an, er wird aber nicht verwendet (dieser Wert kommt nur bei jedem Browserupdate/Erststart zum Tragen - beim ersten Start will er auf die Mozillaseite - wir nutzen den Browser jedoch nur im Intranet, raus darf er nicht)
Hast Du eine Idee oder klappt's bei Dir?
Member: wannabe
wannabe Feb 09, 2010 at 13:06:43 (UTC)
Goto Top
Hey,

irgendwie hatte es die Konvertierung zu "UNIX" geändert - mag am Bearbeiten mittels eines Unix-Systems zuhause liegen - mein AD wollte die Vorlage jedenfalls gar nicht mehr. Nachdem ichs es wieder in der richtigen Konvertierung hatte, habe ich dann doch noch eine neue Kategorie "Startup" angelegt und bei mir funktioniert das auch so. Ist jetzt nurnoch als "locked setting", sprich MachinePolicy drin, für deine Belange ja ausreichend - bei mir öffnet sich beim ersten Start die gewünschte Seite.

Wenn du nach einem Update eine andre Seite anzeigen willst, wäre hier ohnehin "startup.homepage_override_url" die richtige Wahl - und bevor du fragst oder suchst, den Flag hab ich auch gleich hinzugefügt, funktioniert bei mir auch ;)
Member: DerWoWusste
DerWoWusste Feb 09, 2010 at 15:48:04 (UTC)
Goto Top
Klasse, funktioniert! Herzlichen Dank.
Member: wannabe
wannabe Feb 09, 2010 at 16:29:56 (UTC)
Goto Top
Freut mich!

Gern geschehen.