Déployer Firefox en entreprise – Partie 2

Vous l’avez installé ? Eh bien configurez maintenant !

Vous avez appris à déployer Firefox en masse sur vos postes de travail. Mais vous ne pouvez décemment pas laisser la configuration par défaut. Il vous faut donc personnaliser le navigateur, par exemple et pour commencer au nom de votre entreprise. Puis vient la nécessiter de contrôler, masquer ou verrouiller certaines options de configuration.

Disons le tout de suite la documentation de la communauté Mozilla est-à-gerber pour qui n’est pas développeur chevronné (un admin quoi !). Il n’y a tout simplement aucune doc de référence des options de configuration et personnalisation applicables au navigateur. J’ai donc passé un temps infini à glaner des infos sur des forums divers et variés pour le maigre résultat que je vous présente ici.

Cet article abordera la méthode pour créer une configuration utilisateur de façon à caler Firefox sur vos contraintes et besoins. Toutes les options possibles ne seront pas détaillés, mais au travers d’exemples et références, vous aurez toutes les cartes en main pourvous approprier cette tâche.

Cet article part du principe que vos postes de travail sont sous Windows, idem pour les serveurs de déploiement (Active Directory), quoiqu’un serveur Samba bien fichu ferait l’affaire.

3 fichiers essentiels vous permettront d’arriver à vos fins :

  • Mozilla.cfg couplé à local-settings.js
  • UserChrome.css

Mozilla.cfg : le cœur de la maison

Emplacement : %programfiles% ou  %programfiles(x86)% pour les OS 64 bits

Mozilla.cfg permet de paramétrer et verrouiller le fonctionnement de Firefox. Positionnez les paramètres avec la balise « pref » (modifiable par l’utilisateur) ou « lockpref » (non modifiable). Voici à quoi peut ressembler le fichier mozilla.cfg ci-dessous.

//
try {
//Empêche de définir le navigateur par défaut ainsi que la vérification au démarrage
lockPref("pref.general.disable_button.default_browser", true);
lockPref("browser.shell.checkDefaultBrowser", false);

// Empêche la mise à jour automatique (permet de garder une version homogène pour l'entreprise)
lockPref("app.update.enabled", false);
lockPref("app.update.autoUpdateEnabled", false);
lockPref("extensions.update.enabled", true);
lockPref("extensions.update.autoUpdateEnabled", true);
lockPref("app.update.auto", true);

//Force le dossier d'enregistrement des téléchargements
lockPref("browser.download.useDownloadDir", true);
lockPref("browser.download.dir", "D:\\Téléchargements");
lockPref("browser.download.downloadDir", "D:\\Téléchargements");
lockPref("browser.download.folderList", 2);

//Limite la taille du cache disque
lockPref("browser.cache.disk.capacity", 1000);

//Empêche de visualiser les mots de passe en clair
lockPref("pref.privacy.disable_button.view_passwords", true);

} catch(e) {
displayError("lockedPref", e);
}

Parmi les autres options, vous pouvez définir :

  • les sites intranets auxquels le SSO Windows s’applique :

    • user_pref("network.negotiate-auth.delegation-uris", "intra1.maboite.fr, intra2.maboite.fr");
    • user_pref("network.negotiate-auth.trusted-uris", "intra1.maboite.fr, intra2.maboite.fr");
  • Verrouiller la page d’accueil par défaut :
    • lockPref("browser.startup.homepage", "http://www.gabeau.fr");
    • lockPref("browser.startup.page", 1);

… Et tant d’autres options plus ou moins utiles.

Vous trouverez tous les paramètres disponibles en tapant about:config dans la barre d’adresse de Firefox. Cette commande vous permettra aussi de vérifier que votre fichier de configuration sont bien pris en compte par le navigateur. Ici on constate que les mises à jour automatiques sont bien désactivées , cette option est en « lockpref » :

Configuration verrouillée de Mozilla

Vous pouvez passer votre fichier de configuration dans une moulinette qui va décaler de 13 octets chaque caractère, de façon à le rendre illisible de prime-abord par un utilisateur-un-peu-geek-qui-avait-compris-comment-faire-chier-l-administrateur.

Un site web permet en 2 secondes de récupérer le fichier mozilla.cfg ainsi obscurci : http://www.alain.knaff.lu/howto/MozillaCustomization/cgi/byteshf.cgi (vous pouvez également y télécharger le script perl qui effectue l’opération).

Créez ensuite un fichier nommé localsettings.js dont le contenu sera :

pref("general.config.obscure_value", 13);
pref("general.config.filename", "mozilla.cfg");

Placez-le dans le dossier programme Mozilla Firefox\defaults\pref.

Il définit mozilla.cfg comme fichier de configuration obligatoire et indique qu’il est chiffré selon l’algorithme ROT-13.

 

UserChrome.css

Emplacement : %appdata%\Mozilla\Firefox\Profiles\?????.default\chrome

Ici se paramètre l’aspect de Firefox, des polices ou couleurs jusqu’à l’affichage ou non de menus et sous-menus. Je m’en suis notamment servi pour ajouter le nom de l’entreprise et supprimer tous les menus faisant référence à la fonctionnalité « Mozilla Sync » évitant ainsi que les mots de passe des utilisateurs (intranets, etc…) ne se retrouvent dans le cloud.

Voici un exemple de fichier :

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
/* personnalisation de l'en-tête : nom de l'entreprise et police blanche sur fond rouge */
 #appmenu-button dropmarker:before { content: "Ma Boite" !important; color: #FFFFFF !important; }
 #appmenu-button { background: #bf0000 !important; }
/* Désactivation des menus d'accès à SYNC */
 menu[label="Tools"] menuitem[label="Sync Now"],
 #sync-button,
 #sync-setup-appmenu, #appmenu_customize,
 #sync-syncnowitem-appmenu,
 #sync-setup, #sync-status-button,
 #BrowserPreferences radio[label="Sync"] {display:none!important;}

Pour la désactivation de sync, vous constaterez que j’ai listé toutes les variables qui y font référence, puis clôturé la liste par l’attribut {display:none!important;} pour demander à ce qu’ils ne soient plus affichés dans les menus de Firefox.

Voici le résultat avec les menu « sync » retirés ainsi que l’entête aux armes du Gablog :

Modifications du Userchrome.css

Pour trouver toutes les variables admises dans userchrome.css, il vous faudra faire de la recherche vous même dans les fichiers .xul présent dans le dossier : C:\Program Files\Mozilla Firefox\browser\chrome\browser\content\browser\* (si vous avez utilisé le package de Frontmotion car ils ne sont pas présents dans le package officiel). Cherchez les mots-clés faisant référence aux fonctions de l’interface de Firefox que vous souhaitez gérer.

 

Déployez ces 3 fichiers sur les postes clients

Eh bien… à vos scripts Powershell, VBScript ou… batch 🙁

Mon script Powershell s’exécute à l’ouverture de session et effectue les actions suivantes :

  • Copie des 3 fichiers aux 3 bons emplacements
  • Ne s’applique que si Firefox est installé et qu’il existe un profil utilisateur correspondant
  • Gestion des OS 32 et 64 bits
  • gestion de version : la configuration n’est copiée qu’en cas de changement de version avec un fichier drapeau.

Je ne l’ai pas mis en ligne car bien sur il appartient à ma société… Une version light à venir prochainement.

Il me reste un défaut à corriger : lors d’une mise à jour du package firefox, la configuration par défaut est repositionnée dans %programfiles% et n’est du coup pas mise à jour à cause de mon fichier drapeau. La seule solution que j’entrevois pour le moment est de pousser la configuration à chaque ouverture de session utilisateur. Si vous avez une meilleure idée, elle est bienvenue !

Quelques références

Ce billet est une compilation de tout ce que j’ai glané sur le net pour arriver à mes fins. Voici quelques liens qui étancheront votre soif d’apprendre :

  • Beaucoup d’infos sur le fonctionnement de Firefox : http://forum.malekal.com/firefox-profils-extensions-etc-t27164.html
  • Verrouillage des préférences : http://kb.mozillazine.org/Locking_preferences
  • Vous voulez être incollables sur les fichiers XUL : https://developer.mozilla.org/fr/docs/Les_joies_de_XUL
Tous les tutoriels publiés sur ce site sont donnés à titre purement informatif.
La responsabilité de l'auteur ne saurait être engagée quelles que soient les conséquences de leur application.

5 Responses to “Déployer Firefox en entreprise – Partie 2

  • Merci beaucoup pour ses informations car peu d\\\\’infos sur le web.Dans ma société, les utilisateurs utilisent firefox qu\\\\’en TSE vec la notion de redirction de profil.Pour l\\\\’instant nous utilisons un script utilisateur qui copie le fichier de profils pré configuré sur un poste divers en le positionnant par défaut. Mais avec cela, je n\\\\’ai pas la possibilité de locker des paramètres etc… donc je vais testé cela sur un TSE de test.Si tu as des informations de déploiement via GPO sans passer par le vieux format adm + script vbs, je suis preneur maisje rêve je pense :)Bonne continuation

  • le fichier userChrome.css semble ne pas fonctionner avec ma version 44 de firefox,

    • Bonjour, En effet j’avais écrit cet article alors que Firefow était en version 24 ou autour. Depuis Firefox 3x les menus ont changé et l’accès à Sync est différent. Si vous trouvez la propriété en question je suis preneur.

  • Bonjour et merci pour votre article qui m\\\\\\\’aide bien !J\\\\\\\’aimerais savoir si il est possible par ce biais de modifier l\\\\\\\’onglet vie privée de Firefox ?J\\\\\\\’ai besoin d\\\\\\\’une config spécifique au niveau du cache, mais je ne trouve pas les variables que je dois changer.Auriez vous une idée ?

  • Chaque élément de Sync peut être bloqué séparément par les paramètres suivants dans le mozilla.cfg :lockPref(\ »services.sync.engine.addons\ », false);lockPref(\ »services.sync.engine.bookmarks\ », false);lockPref(\ »services.sync.engine.history\ », false);lockPref(\ »services.sync.engine.passwords\ », false);lockPref(\ »services.sync.engine.prefs\ », false);lockPref(\ »services.sync.engine.tabs\ », false);Pour plus d\’options je vous conseille de lire une note technique technique de l\’ANSSI sur tous les paramètres qu\’il est recommandé de modifier (page 21 pour les paramètres Sync) : http://www.ssi.gouv.fr/uploads/2015/01/NP_NavigateurSecurise_FireFox_1-1.pdfMalheureusement non testé, je me bats actuellement avec mon FFX 45 qui n\’applique mes paramètres.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Please type the characters of this captcha image in the input box

Merci de taper les caractères de l'image Captcha dans le champ