Настройка Mozilla Firefox для работы в корпоративной среде

Настройка Mozilla Firefox для работы в корпоративной среде

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

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

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

Покопавшись довольно длительное время в Интернете, я нашел некоторое количество «решений» данной проблемы. Но … все они не работоспособны по разным причинам. Общая идея этих решений – создать GPO, заполнить ветку реестра, а затем, с помощью скрипта на Visual Basic, прописать необходимые параметры в файлы конфигурации Firefox. На первый взгляд, все удобно и логично, но … всегда есть это «но». Разработчики Mozilla меняют как места расположения файлов конфигурации, так и название файлов и т.д.

Метод описанный в данной статье был протестирован на современных версиях Firefox (Firefox 45.0.1).

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

Есть целый ряд настроек, которые могут быть рассмотрены как для предварительной настройки, так и для отключения или блокировки в корпоративной среде, где пользователи, как правило, не будут иметь прав администратора и ИТ специалистам необходимо самим определять, какие параметры разрешить менять, а какие оставить предопределенными и неизменяемыми в среде предприятия. Настройка Mozilla 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 Firefoxdefaultsprefall-settings.js
  • %ProgramFiles%Mozilla FirefoxMozilla.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 cannot 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");

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

// Don't 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);

// Don't 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 (и внутри defaultsperf). Можно, конечно, нагрузить политику фильтрами по определению разрядности установленной OS, но … мне лень. Оставляю это вам, в качестве домашнего задания :-).

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

  • Разместить файлы в папке NETLOGON – но это моветон 🙂
  • Разместить файлы на общем сетевом ресурсе и дать право чтения файлов для Domain Computers. Напоминаю: все происходит во время запуска компьютера и входа в домен, то есть во время StartUp, когда пользователя еще нет, запускаемся с правами SYSTEM)

У меня эти файлы хранятся в папке Firefox на общем сетевом ресурсе.

Сетевая папка с шаблоном настройки Firefox

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

  • Используется “Enforced” политика, которая применяется каждый раз при подключении компьютера к сети.
  • Каждый раз файлы удаляются и копируются заново. Зачем? Мне, пока, так удобнее. Не более того.

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

Окончательно это будет выглядеть примерно так:

firefox настройки GPO

Что в итоге?

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

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

Qiziqarli malumotlar
Настройка Mozilla Firefox для работы в корпоративной среде