Налаштування Mozilla Firefox для роботи в корпоративному середовищі

Цією статтею я постараюся описати процес управління конфігурацією сучасних версій Mozilla Firefox в середовищі підприємства (доменному середовищі на базі Microsoft Active Directory).

зміст:

  • Проблеми централізованого управління параметрами браузера Firefox
  • Особливості управління Firefox на підприємстві
  • Копіювання файлів з настройками Firefox на комп'ютери користувачів за допомогою GPP
  • Що в підсумку?

Проблеми централізованого управління параметрами браузера Firefox

Раніше, управління настройками Firefox, в середовищі підприємства не становило особливих складнощів, так як, як і будь-який правильний Windows додаток, Firefox зберігав всі свої настройки в реєстрі. Можна було знайти або написати самому, необхідні адміністративні шаблони групових політик, щоб спростити адміністраторам весь процес (наприклад, для того ж Chrome, Google розробила і підтримує набір adm / admx шаблонів). Однак, компанія Mozilla вирішила цього правила змінити і тепер Firefox зберігає свої настройки в файлах, що знаходяться в профілі користувача.

Покопавшись досить тривалий час в Інтернеті, я знайшов кілька "рішень" даної проблеми. Але ... все вони не працездатні з різних причин. Загальна ідея цих рішень - створити GPO, заповнити гілку реєстру, а потім, за допомогою скрипта на Visual Basic, прописати необхідні параметри в файли конфігурації Firefox. На перший погляд, все зручно і логічно, але ... завжди є це "але". Розробники Mozilla змінюють як місця розташування файлів конфігурації, так і назва файлів і т.д.

Метод описаний в даній статті був протестований на сучасних версіях Firefox (Firefox 45.0.1).

Особливості управління Firefox на підприємстві

Є цілий ряд налаштувань, які можуть бути розглянуті як для попереднього налаштування, так і для відключення або блокування в корпоративному середовищі, де користувачі, як правило, не матимуть прав адміністратора і ІТ фахівцям необхідно самим визначати, які параметри дозволити міняти, а які залишити зумовленими і незмінними в середовищі підприємства.

Це може, наприклад, включати:

  • Import Wizard (Майстер імпорту) - Firefox запускає цей Майстер при першому запуску для імпорту налаштувань з інших встановлених браузерів. Вам може знадобитися відключити запуск даного Майстра настройки.
  • Automatic updates for Firefox (Автоматичні оновлення) - Options / Advanced / Update / Firefox updates. Оновлення Firefox краще робити централізовано, а не окремо, на кожному комп'ютері користувача. Авто оновлення для розширень, можна залишити, так як вони зберігаються на комп'ютері користувача.
  • Mozilla Maintenance Service - (Сервіс обслуговування) Firefox встановлює службу оновлення, яка дозволяє оновлювати Firefox автоматично, не запитуючи дозволів UAC. Ця можливість повинна бути відключена або виключена в корпоративному середовищі.
  • Default browser check (Перевірка браузера за замовчуванням) - Options / Advanced / General - Always check to see if Firefox is the default browser on startup. Якщо в корпоративному середовищі встановлено, наприклад, що браузером за замовчуванням є Microsoft Internet Explorer, то таку перевірку необхідно вимкнути, а можливість, для користувача, встановити Firefox в якості браузера за замовчуванням, заблокувати.
  • Відключити завантаження, при першому запуску, вкладки 'Welcome to Firefox', і оповіщень 'Know your rights' і 'Improve Firefox'.

Управління та блокування налаштувань Firefox

Firefox може бути налаштований зі значеннями за замовчуванням і з заблокованими настройками для кожного нового профілю користувача. Таким чином, настройки будуть містити всі необхідні вам параметри. Mozilla спростили (так, ладно! Щазз!) Процедуру розгортання з попередньо встановленими настройками шляхом додавання деяких спеціальних файлів під час інсталяції (або, наприклад, в момент підключення комп'ютера до мережі домену) / Передбачається, що Firefox встановлено в папку за замовчуванням:

  • % ProgramFiles% \ Mozilla Firefox \ defaults \ pref \ all-settings.js
  • % ProgramFiles% \ Mozilla Firefox \ Mozilla.cfg

Сам Firefox, буде налаштований з настройками за замовчуванням і з блокуванням зміни необхідних параметрів.

Більш докладно про це можна прочитати в статті http://kb.mozillazine.org/Locking_preferences. Слід врахувати, що стаття вже встигла злегка застаріти, але основні принципи все ще працюють.

Для призначення користувальницьких установок треба використовувати можливість блокування користувацьких переваг.

Файл all-settings.js

Файл all-settings.js потрібен для того, щоб "сказати" Firefox, що необхідно вважати з файлу Mozilla.cfg ряд налаштувань конфігурації. Просто додайте в файл all-settings.js два рядки:

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

файл Mozilla.cfg

Ось тут ми можемо визначити і заблокувати необхідні нам налаштування Firefox. У прикладі нижче, наприклад, відключили і заблокували функцію автоматичного оновлення, вкладку «Ласкаво просимо в Firefox» і повідомлення «Знай свої права», і «Поліпшення Firefox. Останній рядок відключає можливість встановити Firefox в якості браузера за замовчуванням.

ВАЖЛИВО:

  • Всі параметри, в файлі Mozillacfg, слід починати писати з другого рядка. Не питайте мене чому. Наприклад, вставте коментар // в перший рядок.
  • Параметри і всі налаштування враховують регістр написання букв (case-sensitive). При помилку написання, Firefox просто не запуститься.

lockPref ( "app.update.auto", false);
lockPref ( "app.update.enabled", false);
lockPref ( "app.update.service.enabled", false);
lockPref ( "toolkit.telemetry.prompted", true);
lockPref ( "browser.rights.override", true);
lockPref ( "browser.startup.homepage_override.mstone", "ignore");
lockPref ( "browser.shell.checkDefaultBrowser", false);

Нижче наведено приклад файлу Mozilla.cfg, який використовується в реальному корпоративному середовищі.

Примітка: Зверніть увагу, що всі параметри визначені з використанням ключового слова pref. Тобто, такий параметр буде встановлено, але користувач зможе його поміняти. Для того, щоб зробити параметр незмінним необхідно вказати lockPref.

Коментарі англійською, сподіваюся не складно, для розуміння.

// Parameters keywords.
// pref
// sets the preference as if a user had set it, every time you start the browser.
// So users can make changes, but they will be erased on restart. If you set a
// particular preference this way, it shows up in about: config as "user set".
// defaultPref
// is used to alter the default value, though users can set it normally and their
// changes will be saved between sessions. If preferences are reset to default
// through the GUI or some other method, this is what they will go back to.
// Appears in about: config as "default".
// lockPref
// is used to lock preferences so they can not be changed through the GUI or about: config.
// In many cases the GUI will change to reflect this, graying out or removing options.
// Appears in about: config as "locked". Some config items require lockPref to be set,
// such as app.update.enabled. It will not work if it set with just pref.
// clearPref
// can be used to "blank" certain preferences. This can be useful e.g. to disable functions
// that rely on comparing version numbers.

// Set browser custom home-page
pref ( "browser.startup.homepage", "http://www.yourdomain.ru");
pref ( "browser.startup.page", 1);

// Proxy settings
pref ( "network.proxy.ftp", "xxx.xxx.xxx.xxx"); // можна написати доменне ім'я
pref ( "network.proxy.ftp_port", 3128); // номер порту proxy-сервера
pref ( "network.proxy.http", "xxx.xxx.xxx.xxx"); // можна написати доменне ім'я
pref ( "network.proxy.http_port", 3128); // номер порту proxy-сервера
pref ( "network.proxy.share_proxy_settings", true);
pref ( "network.proxy.socks", "xxx.xxx.xxx.xxx"); // можна написати доменне ім'я
pref ( "network.proxy.socks_port", 3128); // номер порту proxy-сервера
pref ( "network.proxy.ssl", "xxx.xxx.xxx.xxx"); // можна написати доменне ім'я
pref ( "network.proxy.ssl_port", 3128); // номер порту proxy-сервера
pref ( "network.proxy.type", 1);

// Check default browser
pref ( "browser.shell.checkDefaultBrowser", false);

// Disable updater
pref ( "app.update.enabled", false);
// Make absolutely sure it is really off
pref ( "app.update.auto", false);
pref ( "app.update.mode", 0);
pref ( "app.update.service.enabled", false);

// Disable Add-ons compatibility checking
clearPref ( "extensions.lastAppVersion");

// Do not show 'know your rights' on first run
pref ( "browser.rights.3.shown", true);

// Do not show WhatsNew on first run after every update
pref ( "browser.startup.homepage_override.mstone", "ignore");

// Disable the internal PDF viewer
pref ( "pdfjs.disabled", true);

// Disable the flash to javascript converter
pref ( "shumway.disabled", true);

// Do not ask to install the Flash plugin
pref ( "plugins.notifyMissingFlash", false);

// Disable plugin checking
pref ( "plugins.hide_infobar_for_outdated_plugin", true);
clearPref ( "plugins.update.url");

// Disable health reporter
pref ( "datareporting.healthreport.service.enabled", false);

// Disable all data upload (Telemetry and FHR)
pref ( "datareporting.policy.dataSubmissionEnabled", false);
// Disable telemetry
pref ( "toolkit.telemetry.enabled", false);
pref ( "toolkit.telemetry.rejected", true);
pref ( "toolkit.telemetry.prompted", 2);

// Disable Health report
pref ( "datareporting.healthreport.uploadEnabled", false);

// Disable warning OnClose multiple tabs
pref ( "browser.tabs.warnOnClose", false);

Інші параметри, на свій смак, можна вибрати на сторінці about: config Firefox 🙂

Копіювання файлів з настройками Firefox на комп'ютери користувачів за допомогою GPP

А далі, необхідно скопіювати ці файл на комп'ютери користувачів. Для цього засобами GPP треба створити правила видалення / копіювання файлів.

Примітка: Мінус методу - якщо робоча станція x86, то додатково буде створена папка C: \ Program File (86) з вкладеною Mozilla Firefox (і всередині defaults \ perf). Можна, звичайно, навантажити політику фільтрами по визначенню розрядності встановленої OS, але ... мені лінь. Залишаю це вам, в якості домашнього завдання :-).

ВАЖЛИВО: Не забути, що файли з конфігураціями треба розмістити там, де Domain Computers зможуть їх прочитати. Можливі, як мінімум, два варіанти:

  • Розмістити файли в папці NETLOGON - але це моветон 🙂
  • Розмістити файли на загальному мережевому ресурсі і дати право читання файлів для Domain Computers. нагадую: Все відбувається під час запуску комп'ютера і входу в домен, тобто під час StartUp, коли користувача ще немає, запускати з правами SYSTEM)

У мене ці файли зберігаються в папці Firefox на загальному мережевому ресурсі.

Пара моментів:

  • Використовується "Enforced" політика, яка застосовується кожен раз при підключенні комп'ютера до мережі.
  • Щоразу файли видаляються і копіюються заново. Навіщо? Мені, поки, так зручніше. Не більше того.

Копіювання / видалення файлів робимо через GPP: Computer Configuration -> Preferences -> Windows Settings -> Files

Остаточно це буде виглядати приблизно так:

Що в підсумку?

Так, власне, і все. Ми налаштували файл Mozilla.cfg і роздали його на комп'ютери користувачів. Тепер ви можете створити свій Mozilla.cfg, визначити необхідні настройки, зафіксувати, без можливості зміни користувачем настройки, які вважаєте потрібними.

Все у ваших руках.