February 6, 2020

Сторожевой лис. Как настроить Firefox для повышения приватности

Источник: t.me/Bureau121

Содержание статьи

Создание «портативных» настроек
Отключаем все лишнее
WebRTC и Pocket
Геолокация
Статистика использования браузера и различные метрики
Отключаем доступ к датчикам
Останавливаем фингерпринтинг
Перекрываем информацию о сетевом соединении
Отключаем использование устройств и передачу медиа
Отключаем телеметрию и отправку отчетов
Настраиваем информацию для поиска
Разбираемся с пуш-уведомлениями
Убираем утечки DNS
Отключаем перенаправления
Пресекаем слив данных на серверы Google
Отключаем DRM
10 полезных плагинов для Firefox

INFO

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


Создание «портативных» настроек

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

Как автоматизировать процесс, не прибегая к сторонним утилитам? Очень просто: создавай файл user.js и прописывай все настройки туда. Далее помещаем этот файл в каталог пользовательского профиля 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("...", …); идет параметр и его значение. Итак, с файлом настроек разобрались, теперь приступим к препарированию браузера. Все настройки применялись к последней на момент написания статьи версии браузера.

WARNING

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

Отключаем все лишнее


WebRTC и Pocket

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, которые помогут тебе не делиться ни с кем своими данными. Как видишь, без этих настроек браузер фактически следит за каждым шагом, собирает кучу метрик и отправляет их туда и сюда. Раз все это можно отключить, почему бы не сделать этого?

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

10 полезных плагинов для Firefox

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

  1. Privacy Possum — блокирует различные методы слежения: рефереры, заголовки ETag, сторонние куки, портит данные фингерпринта.

2. uBlock Origin — отличный блокировщик рекламы и не только. Содержит обширные списки блокировки, единственный нюанс — львиную долю списков блокировки нужно будет активировать самостоятельно в настройках, потому что они отключены по умолчанию.

3. uMatrix — расширение, разработанное автором uBlock Origin. Представляет собой мощный блокировщик запросов браузера, а в связке с uBlock становится мощным средством против рекламы и прочей мишуры. Однако требует настройки практически под каждый сайт.

4. Nano Defender — хорошее дополнение к блокировщику рекламы — плагин противодействует антиадблокерам.

5. Decentraleyes — полезный плагин, который препятствует отслеживанию через CDN (Content Delivery Network).

6. Facebook Container — плагин, разработанный в Mozilla. Пытается остановить слежку со стороны Facebook.

7. Google search link fix — расширение, которое чистит поисковую выдачу Yandex и Google, не позволяя поисковику собирать статистику кликов по ссылкам в выдаче.

8. NoScript — популярное расширение, которое блокирует скрипты на сайтах. Очень полезно, потому что как раз скрипты часто нарушают анонимность.

9. HTTPS Everywhere — автоматически переключает соединение на HTTPS, даже когда это явно не было указано в адресной строке.

10. Privacy Badger — еще одно расширение от Фонда электронных рубежей, которое препятствует слежке со стороны сайтов.

ПОДПИСАТЬСЯ - Бюро121