Все интересные настройки Firefox делаются на служебной странице по адресу about:config. Зайти сюда и поменять пару параметров — легко и удобно. Но если говорить о тонкой настройке, то тут менять значения по одному становится слегка утомительно.

 

Как автоматизировать процесс, не прибегая к сторонним утилитам? Очень просто: создавайте файл user.js и прописывайте все настройки туда (см. также ConfigFox). Далее помещаем этот файл в каталог пользовательского профиля Firefox, который в Windows находится по пути:

C:\Users\[username]\AppData\Roaming\Mozilla\Firefox\Profiles\[random].default

Формат записей в этом файле прост: например, чтобы включить поддержку WebP, необходимо задать параметру image.webp.enabled значение true. В файле настроек это будет выглядеть вот так:

user_pref("image.webp.enabled", true);

Другими словами, в шаблоне user_pref(«…», …); идет параметр и его значение. Итак, с файлом настроек разобрались, теперь приступим к препарированию браузера. Все настройки применялись к последней на момент написания статьи версии браузера.

Учитывайте, что безопасность и приватность — это всегда компромисс с удобством. Некоторые настройки могут значительно ограничить функциональность сайтов, но сильно увеличить безопасность и приватность при серфинге. А что важнее — выбирать уже вам.

Mozilla внедрила сервисы WebRTC и Pocket в Firefox и включила их по умолчанию. Многим это не понравилось, и не просто так: в Pocket нашли уязвимости, а WebRTC может допускать утечку IP-адреса при определенных обстоятельствах. Давайте отключим и то и другое! Сейчас и далее я привожу готовые строки настроек, которые вы можете вставить в файл user.js.

// Отключаем Pocket

user_pref("extensions.pocket.api", "");

user_pref("extensions.pocket.enabled", false);

user_pref("extensions.pocket.site", "");

user_pref("extensions.pocket.oAuthConsumerKey", "");

// Отключаем WebRTC

user_pref("media.peerconnection.enabled", false);

user_pref("media.peerconnection.ice.default_address_only", true);

user_pref("media.peerconnection.ice.no_host", true);

user_pref("media.peerconnection.ice.relay_only", true);

user_pref("media.peerconnection.ice.tcp", false);

user_pref("media.peerconnection.identity.enabled", false);

user_pref("media.peerconnection.turn.disable", true);

user_pref("media.peerconnection.use_document_iceservers", false);

user_pref("media.peerconnection.video.enabled", false);

user_pref("media.peerconnection.default_iceservers", "[]");

Геолокация

Отключаем доступ к геолокации.

user_pref("geo.enabled", false);

user_pref("geo.provider.ms-windows-location", false);

user_pref("geo.wifi.uri", "");

Статистика использования браузера

Перекрываем сбор различных данных.

// Отключаем асинхронные запросы, используемые для аналитики

user_pref("beacon.enabled", false);

user_pref("browser.send_pings", false);

user_pref("browser.send_pings.require_same_host", false);

// Отключаем метрики производительности

user_pref("dom.enable_performance", false);

user_pref("dom.enable_performance_observer", false);

user_pref("dom.enable_performance_navigation_timing", false);

user_pref("browser.slowStartup.notificationDisabled", false);

user_pref("network.predictor.enabled", false);

user_pref("network.predictor.enable-hover-on-ssl", false);

user_pref("network.prefetch-next", false);

user_pref("network.http.speculative-parallel-limit", 0);

// Информация об установленных дополнениях

user_pref("extensions.getAddons.cache.enabled", false);

Отключение доступа к датчикам

Если у вас обычный компьютер, а не планшет, к примеру, то выключаем доступ к датчикам.

user_pref("device.sensors.enabled", false);

user_pref("device.sensors.orientation.enabled", false);

user_pref("device.sensors.motion.enabled", false);

user_pref("device.sensors.proximity.enabled", false);

user_pref("device.sensors.ambientLight.enabled", false);

Остановка фингерпринтинга

Эти настройки говорят браузеру сопротивляться идентификации.

user_pref("dom.webaudio.enabled", false);

user_pref("privacy.resistFingerprinting", true);

Перекрытие информации о сетевом соединении

user_pref("dom.netinfo.enabled", false);

user_pref("dom.network.enabled", false);

Отключение использования устройств и передачу медиа

Отключаем использование через браузер камер, микрофонов, геймпадов, очков виртуальной реальности и вместе с устройствами — передачу различного медиаконтента, типа скриншотов и прочего. Так же выключаем распознавание речи.

user_pref("dom.gamepad.enabled", false);

user_pref("dom.gamepad.non_standard_events.enabled", false);

user_pref("dom.imagecapture.enabled", false);

user_pref("dom.presentation.discoverable", false);

user_pref("dom.presentation.discovery.enabled", false);

user_pref("dom.presentation.enabled", false);

user_pref("dom.presentation.tcp_server.debug", false);

user_pref("media.getusermedia.aec_enabled", false);

user_pref("media.getusermedia.audiocapture.enabled", false);

user_pref("media.getusermedia.browser.enabled", false);

user_pref("media.getusermedia.noise_enabled", false);

user_pref("media.getusermedia.screensharing.enabled", false);

user_pref("media.navigator.enabled", false);

user_pref("media.navigator.video.enabled", false);

user_pref("media.navigator.permission.disabled", true);

user_pref("media.video_stats.enabled", false);

user_pref("dom.battery.enabled", false);

user_pref("dom.vibrator.enabled", false);

user_pref("dom.vr.require-gesture", false);

user_pref("dom.vr.poseprediction.enabled", false);

user_pref("dom.vr.openvr.enabled", false);

user_pref("dom.vr.oculus.enabled", false);

user_pref("dom.vr.oculus.invisible.enabled", false);

user_pref("dom.vr.enabled", false);

user_pref("dom.vr.test.enabled", false);

user_pref("dom.vr.puppet.enabled", false);

user_pref("dom.vr.osvr.enabled", false);

user_pref("dom.vr.external.enabled", false);

user_pref("dom.vr.autoactivate.enabled", false);

user_pref("media.webspeech.synth.enabled", false);

user_pref("media.webspeech.test.enable", false);

user_pref("media.webspeech.synth.force_global_queue", false);

user_pref("media.webspeech.recognition.force_enable", false);

user_pref("media.webspeech.recognition.enable", false);

Отключение телеметрии и отправки отчетов

Браузер собирает телеметрические данные и сигнализирует разработчикам о падениях компонентов. Для повышения анонимности это можно отключить.

user_pref("toolkit.telemetry.archive.enabled", false);

user_pref("toolkit.telemetry.bhrPing.enabled", false);

user_pref("toolkit.telemetry.cachedClientID", "");

user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);

user_pref("toolkit.telemetry.hybridContent.enabled", false);

user_pref("toolkit.telemetry.newProfilePing.enabled", false);

user_pref("toolkit.telemetry.previousBuildID", "");

user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);

user_pref("toolkit.telemetry.server", "");

user_pref("toolkit.telemetry.server_owner", "");

user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);

user_pref("toolkit.telemetry.unified", false);

user_pref("toolkit.telemetry.updatePing.enabled", false);

user_pref("datareporting.healthreport.infoURL", "");

user_pref("datareporting.healthreport.uploadEnabled", false);

user_pref("datareporting.policy.dataSubmissionEnabled", false);

user_pref("datareporting.policy.firstRunURL", "");

user_pref("browser.tabs.crashReporting.sendReport", false);

user_pref("browser.tabs.crashReporting.email", false);

user_pref("browser.tabs.crashReporting.emailMe", false);

user_pref("breakpad.reportURL", "");

user_pref("security.ssl.errorReporting.automatic", false);

user_pref("toolkit.crashreporter.infoURL", "");

user_pref("network.allow-experiments", false);

user_pref("dom.ipc.plugins.reportCrashUR", false);

user_pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);

Настройка информации для поиска

Приводим поиск браузера в «стандартное» состояние — без поправок на наше местоположение.

user_pref("browser.search.geoSpecificDefaults", false);

user_pref("browser.search.geoSpecificDefaults.url", "");

user_pref("browser.search.geoip.url", "");

user_pref("browser.search.region", "US");

user_pref("browser.search.suggest.enabled", false);

user_pref("browser.search.update", false);

Отключение пуш-уведомлений

Пуш-уведомления могут работать даже тогда, когда вы закрыли страницу.

user_pref("dom.push.enabled", false);

user_pref("dom.push.connection.enabled", false);

user_pref("dom.push.serverURL", "");

А теперь не могут.

Защита от утечки DNS

Здесь убираем возможную утечку DNS по IPv6, отключаем упреждающую отправку DNS и настраиваем DoH — DNS over HTTPS.

user_pref("network.dns.disablePrefetch", true);

user_pref("network.dns.disableIPv6", true);

user_pref("network.security.esni.enabled", true);

user_pref("network.trr.mode", 2);

user_pref("network.trr.uri", "https://cloudflare-dns.com/dns-query");

Отключение перенаправления

user_pref("network.captive-portal-service.enabled", false);

user_pref("network.captive-portal-service.maxInterval", 0);

user_pref("captivedetect.canonicalURL", "");

Пресечение слива данных на сервера Google

С настройками по умолчанию Google должен защищать вас от вирусов и фишинга. Это зачастую полезная функция, но если вы знаете, что делаете, и не хотите, чтобы Google за этим наблюдал, то можете и избавиться от этого пристального внимания.

user_pref("browser.safebrowsing.allowOverride", false);

user_pref("browser.safebrowsing.blockedURIs.enabled", false);

user_pref("browser.safebrowsing.downloads.enabled", false);

user_pref("browser.safebrowsing.downloads.remote.block_dangerous", false);

user_pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false);

user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);

user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false);

user_pref("browser.safebrowsing.downloads.remote.enabled", false);

user_pref("browser.safebrowsing.malware.enabled", false);

user_pref("browser.safebrowsing.phishing.enabled", false);

user_pref("browser.safebrowsing.downloads.remote.url", "");

user_pref("browser.safebrowsing.provider.google.advisoryName", "");

user_pref("browser.safebrowsing.provider.google.advisoryURL", "");

user_pref("browser.safebrowsing.provider.google.gethashURL", "");

user_pref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", "");

user_pref("browser.safebrowsing.provider.google.reportPhishMistakeURL", "");

user_pref("browser.safebrowsing.provider.google.reportURL", "");

user_pref("browser.safebrowsing.provider.google.updateURL", "");

user_pref("browser.safebrowsing.provider.google4.advisoryName", "");

user_pref("browser.safebrowsing.provider.google4.advisoryURL", "");

user_pref("browser.safebrowsing.provider.google4.dataSharingURL", "");

user_pref("browser.safebrowsing.provider.google4.gethashURL", "");

user_pref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", "");

Отключение DRM

…просто потому, что можем!

user_pref("browser.eme.ui.enabled", false);

user_pref("media.eme.enabled", false);

Итак, мы рассмотрели некоторые базовые настройки браузера Firefox, которые помогут вас не делиться ни с кем своими данными. Как видите, без этих настроек браузер фактически следит за каждым шагом, собирает кучу метрик и отправляет их туда и сюда. Раз все это можно отключить, почему бы не сделать этого?

Конечно, этот гайд нельзя назвать абсолютно полным — я уверен, что в сотнях настроек браузера можно найти что-то еще, что можно оптимизировать и улучшить, но основную массу собираемых данных мы все-таки перекрыли. Еще надо помнить, что от версии к версии названия настроек могут меняться, какие-то могут уходить, а другие — приходить, поэтому файл нужно будет время от времени обновлять.