Déployer et configurer Mozilla Firefox en entreprise
Posted on Sat 01 July 2017 in Non classé
Quel dilemme que celui de déployer Mozilla Firefox correctement en entreprise/collectivité.
À l'opposé de Google Chrome,qui propose un installer MSI ainsi qu'un modèle d'administration ADMX très complet, Mozilla Firefox ne propose en tout et pour tout qu'un maigrichon Mozilla Firefox ESR (pour Extended Support Release) et pas de modèle d'administration du tout.
Des solutions existent, CCK2 ou encore FrontMotion Firefox, qui emulent le comportement de GPOs pour forcer des paramètres dans les confs de Firefox, c'est bien mais pas optimal (manque d'information en cas d'échec d'installation, pas assez souple).
Alors que faire ?
Se résigner à utiliser un navigateur qui remonte moultes informations à ses concepteurs ? Non, continuons d'utiliser Firefox mais déployons le correctement et configurons le de manière pérenne et sécurisée.
Vous l'aurez peut être deviné, on utilise à cet effet WAPT, la solution open-source de déploiement logiciel. Et coup de chance Mozilla Firefox ESR est déjà packagé !
Voyons un peu ce qui est fait dans le paquet Firefox :
# -*- coding: UTF-8 -*-
from setuphelpers import *
uninstallkey = []
def install():
version = control.version.split('-',1)[0]
ukey = 'Mozilla Firefox %s ESR (x86 fr)'%version
exe = 'Firefox Setup %sesr.exe'%version
install_exe_if_needed(exe,'-ms',key=ukey,min_version=version,killbefore='firefox.exe')
print("Disabling auto update")
filecopyto("mozilla.cfg",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version )))
filecopyto("local-settings.js",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"defaults","pref"))
print ("Disabling profile migration from ie")
filecopyto("override.ini",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"browser"))
print ("Override User UI")
ensure_dir(makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"browser","defaults","profile","chrome",""))
filecopyto("userChrome.css",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"browser","defaults","profile","chrome"))
"""
print ("Deploy extensions")
ensure_dir(makepath(programfiles32,"Mozilla Firefox","browser","extensions",""))
copytree2("extensions",makepath(programfiles32,"Mozilla Firefox","browser","extensions"))
"""
On peut voir que Mozilla Firefox est installé selon les recommandations de la documentation officielle, des paramétrages par défaut sont appliqués dans ce paquet :
- Désactivation de la mise à jour automatique
- Désactivation de la migration depuis Internet Explorer)
- Application de préférences par défaut (mozilla.cfg et local-settings.js) :
local-settings.js - indiquer le fichier de personnalisation
// Process mozilla.cfg in FireFox root directory.
pref("general.config.obscure_value", 0);
pref("general.config.filename","mozilla.cfg");
mozilla.cfg - indiquer les préférences du navigateur
// Disable Auto Updates
pref("app.update.enabled", false);
pref("extensions.update.enabled", false);
pref("app.update.service.enabled", false);
//disable feedback
pref("toolkit.telemetry.prompted",2);
//disable browser rights info toolbar
pref("browser.rights.3.shown", true);
pref("browser.rights.3.shown",true);
// disable default browser check
pref("browser.shell.checkDefaultBrowser", false);
pref("browser.startup.homepage_override.mstone", "ignore");
pref("general.smoothScroll", false);
//configurer proxy detection automatique wpad
pref("network.proxy.type",4);
//disable ipv6
pref("network.dns.disableIPv6",true);
//disable pdf integre
pref("pdfjs.disabled",true);
//disable cache
pref("network.http.use-cache",true);
pref("browser.cache.disk.enable",false);
//disable migration
pref("profile.confirm_automigration",false);
pref("profile.migration_behavior",0);
pref("profile.migration_directory", "")
// Clear privacy data
// on shutdown
lockPref("privacy.clearOnShutdown.cache", true);
lockPref("privacy.clearOnShutdown.downloads", false);
defaultPref("privacy.clearOnShutdown.formdata", false);
lockPref("privacy.clearOnShutdown.passwords", false);
lockPref("privacy.clearOnShutdown.sessions", false);
lockPref("privacy.clearOnShutdown.siteSettings", false);
defaultPref("privacy.clearOnShutdown.cookies", false);
defaultPref("privacy.clearOnShutdown.history", false);
defaultPref("privacy.clearOnShutdown.offlineApps", false);
lockPref("privacy.sanitize.sanitizeOnShutdown", false);
// Changes to Root Certificates in Firefox on Windows
lockPref("security.enterprise_root.enable", true);
Dans ce paquet, l'installation et la configuration sont effectuée d'un seul tenant.
Problème pour ma structure, le proxy est définit spécifiquement dans la configuration de Firefox (absence de proxy.pac / wpad). Voici rapidement ce qu'il faut modifier dans le fichier mozilla.cfg
//set proxy server settings
lockPref("network.proxy.ftp", "srvproxy.domain.lan");
lockPref("network.proxy.ftp_port", 3128);
lockPref("network.proxy.gopher", "srvproxy.domain.lan");
lockPref("network.proxy.gopher_port", 3128);
lockPref("network.proxy.http", "srvproxy.domain.lan");
lockPref("network.proxy.http_port", 3128);
lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, *.domain.lan");
lockPref("network.proxy.type", 1);
lockPref("network.proxy.share_proxy_settings", true); // use the same proxy settings for all protocols
Ainsi la préférence est bloquée dans la configuration de Firefox et les utilisateurs ne pourront pas la modifier.
Pour plus de sécurité, j'installe l'extension uBlock, le paquet existe déjà : paquet WAPT uBlock
On décline l'installation de Firefox comme ceci :
- Paquet Mozilla Firefox sans personnalisation
- Paquet extension uBlock
- Paquet de configuration Firefox
En utilisant le principe de dépendance de WAPT, je suis assuré d'avoir déployé correctement ces trois éléments.
Simon des Fourmis du Web a déjà fait ce travail de séparation de la configuration et de l'installation :
Modifiez le paquet de configuration à votre convenance et à vous Mozilla Firefox déployé correctement !
Sources :
- Déploiement Firefox : https://developer.mozilla.org/fr/Firefox/deploiement_Entreprise
- Bloquer les préférences Firefox : https://kb.mozillazine.org/Locking_preferences
- Rediriger Firefox vers le magasin de certificat Windows : https://mike.kaply.com/2016/09/01/upcoming-changes-to-root-certificates-in-firefox-on-windows/
- Documentation d'installation de WAPT : https://doc.wapt.fr/