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

abstract

Пользователь
Закрытый раздел
Сообщения
76
Mozilla Firefox - настоящий долгожитель, этот браузер, разрабатываемый условно-независимой некоммерческой организацией (донатит им в основном Google) остается предпоследней надеждой на приватность. Во всяком случае, так нам говорят его разработчики. На самом же деле он нафарширован всякими механизмами слежки за пользователем, НО: их можно выключить. И я таки расскажу вам как это сделать.

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

Браузер Mullvad - новинка от разработчиков Mullvad VPN и команды Tor Project. Ничего себе кроссовер, да? Вот и я так подумал, и решил протестировать браузер. У меня на канале сегодня будет (или уже) опубликован видеообзор нового претендента на роль "приватного и защищенного браузера". Здесь же я пройдусь по настройкам, которые рекомендуется внести в Firefox для оптимальной защиты от фингерпринтинга, чтобы посмотреть, какие из них уже выставлены нужным образов в Mullvad Browser.

В качестве "эталона" по настройкам я буду отталкиваться от гайда https://brainfucksec.github.io/firefox-hardening-guide#firefox-preferences (англ), и для моих не владеющих языком и не понимающих некоторых настроек читателей я дам комментарии к некоторым пунктам. Да, это будет чертов лонгрид.

Поиск​

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

В MullvadBrowser по умолчанию он и стоит.

В любом браузере на базе Firefox эта опция переключается так:
  • вводим в строку браузера about:preferences#search​
  • выбираем DuckDuckGo​

Тонкая настройка -about:config​

То, какие настройки мы можем лицезреть и всячески менять, выбрав в меню браузера Settings или введя about:preferences в строку браузера - это всего лишь верхушка айсберга. Настоящая, тонкая настройка осуществляется в специальном интерфейсе, который открывается введением в строку браузера about:config

Опции в этом разделе это не кнопочки и переключалочки, а значения option = value, и когда вы заходите в этот раздел браузер вас предупреждает, что тут серьезные дяди и тети работают, если ты не уверен в своей серьезности, то руки в карманы и иди смотри лучше мультики. Проще говоря, вам показывают ворнинг что тут можно поломать браузер кривой настройкой.

Дальше, чтобы вы не запутались, будет идти настройка и значение, которое ей нужно задать. Если рядом с настройкой стоит символ 🟢 значит в Mullvad Browser настройка совпадает с оптимальной и менять ничего не надо. Если стоит символ 🔴 значит нужно поменять эту настройку.

Настройки запуска​

Настраиваем домашнюю страницу и поведение при запуске​

🔴 browser.aboutConfig.showWarning = false

🟢 browser.startup.page = 1

🟢 browser.startup.homepage = "about:home"

Значение в Mullvad: about:mullvad-browser

Результаты: 2 из 3

Запрещаем Activity Stream​

Activity Stream - это показ на пустой вкладке страниц, которые вы недавно посещали или куда заходили часто. Настройки ниже отключают все, связанное с этой удобной для отслеживания пользователя функциональностью браузера.

🟢 browser.newtabpage.enabled = false

🔴 browser.newtab.preload = false

🟢 browser.newtabpage.activity-stream.feeds.telemetry = false

🟢 browser.newtabpage.activity-stream.telemetry = false

🔴 browser.newtabpage.activity-stream.feeds.snippets = false

🟢 browser.newtabpage.activity-stream.feeds.section.topstories = false

🔴 browser.newtabpage.activity-stream.section.highlights.includePocket = false

🔴 browser.newtabpage.activity-stream.feeds.discoverystreamfeed = false

🟢 browser.newtabpage.activity-stream.showSponsored = false

🟢 browser.newtabpage.activity-stream.showSponsoredTopSites = false

🟢 browser.newtabpage.activity-stream.default.sites = ""

**Результаты: 9 из 14 пунктов настроены как надо.

Геолокация​

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

🟢 geo.provider.network.url = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"

Ниже параметры, которые запрещают браузеру пользоваться вшитыми в ОС службами геолокации. Для разных ОС параметры разные.

🟢 geo.provider.ms-windows-location = false (Windows)

🟢 geo.provider.use_corelocation = false (macOS)

🟢 geo.provider.use_gpsd = false (Linux)

🟢 geo.provider.use_geoclue = false (Linux)

Два параметра ниже определяют возможность браузера определять ваш регион

🟢 browser.region.network.url = ""

🟢 browser.region.update.enabled = false

За настройки геолокации Mullvad Browser получает 7 из 7.

Язык и локаль​

🟢 intl.accept_languages = "en-US, en"

🔴 javascript.use_us_english_locale = true

Результат Mullvad Browser: 1 из 2

Автоматические обновления и рекомендации​

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

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

🔴 app.update.background.scheduling.enabled = false

🔴 app.update.auto = false

Параметры ниже используют Google Analytics, а также историю посещенных сайтов и список уже установленных у нас в браузере дополнений чтобы посоветовать нам какие дополнения поставить.

🟢 extensions.getAddons.showPane = false

🟢 extensions.htmlaboutaddons.recommendations.enabled = false

🟢 browser.discovery.enabled = false

Результат: 3 из 5

Телеметрия​

Ну а это уже прям слежка-слежка, телеметрия это всякие разные показатели того, как же вы пользуетесь браузером. Служба телеметрии регулярно формирует отчет и отправляет его разработчикам, если мы это не выключим.

🟢 datareporting.policy.dataSubmissionEnabled = false

🟢 datareporting.healthreport.uploadEnabled = false

🟢 toolkit.telemetry.enabled = false

🟢 toolkit.telemetry.unified = false

🟢 toolkit.telemetry.server = "data:,"

🟢 toolkit.telemetry.archive.enabled = false

🔴 toolkit.telemetry.newProfilePing.enabled = false

🔴 toolkit.telemetry.shutdownPingSender.enabled = false

🟢 toolkit.telemetry.updatePing.enabled = false

🟢 toolkit.telemetry.bhrPing.enabled = false

🔴toolkit.telemetry.firstShutdownPing.enabled = false

🟢 toolkit.telemetry.coverage.opt-out = true

🟢 toolkit.coverage.opt-out = true

🔴toolkit.coverage.endpoint.base = ""

🟢 browser.ping-centre.telemetry = false

🟢beacon.enabled = false

Результат по телеметрии: 10 из 16

Исследования​

Это тоже вид слежки, но немного другой. Телеметрия - это данные, которые (предположительно) собираются, чтобы оценивать работоспособность браузера и отлавливать ошибки. А вот исследования (studies) изучают поведение пользователей.

🟢 app.shield.optoutstudies.enabled = false

🟢 app.normandy.enabled = false

🟢 app.normandy.api_url = ""

Результат: 3 из 3

Сообщения о падении браузера​

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

🔴 breakpad.reportURL = ""

🟢 browser.tabs.crashReporting.sendReport = false

В целом хорошо что служба отключена, но URL не удалили. 1 из 2

Captive portal detection - страница авторизации WiFi​

Когда вы подключаетесь к какой-то WiFi точке впервые, браузер по умолчанию делает проверку на наличие страницы авторизации. На тот случай, если нужно осуществить вход через СМС или как-то еще. Браузер делает это пытаясь загрузить файл http://detectportal.firefox.com/success.txt. Если файл удалось загрузить - значит интернет есть, а значит искать и показывать страницу авторизации не нужно. Но такое поведение означает, что когда вы подключитесь к WiFi, браузер совершенно вас об этом не спрашивая сделает HTTP-запрос к серверу разработчиков.

🔴 captivedetect.canonicalURL = ""

🟢 network.captive-portal-service.enabled = false

В целом хорошо что служба отключена, но URL не удалили. 1 из 2

Проверка сети средствами ОС​

Если нижеуказанный пункт настроек включен (true), браузер будет проверять статус и параметри сетевого соединения, запрашивая его у ОС. А ОС на свое усмотрение будет использовать те механизмы, которые в ней имеются.

🟢network.connectivity-service.enabled = false

Безопасный просмотр​

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

🟢 browser.safebrowsing.malware.enabled = false

🟢 browser.safebrowsing.phishing.enabled = false

🟢 browser.safebrowsing.blockedURIs.enabled = false

🟢 browser.safebrowsing.provider.google4.gethashURL = ""

🟢 browser.safebrowsing.provider.google4.updateURL = ""

🟢 browser.safebrowsing.provider.google.gethashURL = ""

🟢 browser.safebrowsing.provider.google.updateURL = ""

🔴 browser.safebrowsing.provider.google4.dataSharingURL = ""

🟢 browser.safebrowsing.downloads.enabled = false

🟢 browser.safebrowsing.downloads.remote.enabled = false

🟢 browser.safebrowsing.downloads.remote.url = ""

🔴 browser.safebrowsing.downloads.remote.block_potentially_unwanted = false

🔴 browser.safebrowsing.downloads.remote.block_uncommon = false

🔴 browser.safebrowsing.allowOverride = false

Результат: 10 из 14

Сеть, DNS, прокси и IPv6​

Готовьтесь, в этом разделе вас ждет реальное дерьмо - целый рассадник разных компонентов браузера, которые анализируют ваше поведение и создают кучу "левых" сетевых запросов.

🟢 network.prefetch-next = false

🟢 network.dns.disablePrefetch = true

🟢 network.predictor.enabled = false

🟢 network.http.speculative-parallel-limit = 0

🟢 browser.places.speculativeConnect.enabled = false

🔴 network.dns.disableIPv6 = true

🟢 network.gio.supported-protocols = ""

🟢 network.file.disable_unc_paths = true

🔴 permissions.manager.defaultsUrl = ""

🔴 network.IDN_show_punycode = true

Результат: 7 из 10, но отмечу что самые пакостные компоненты слежки выключены по умолчанию

Настройки поиска​

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

🟢 browser.search.suggest.enabled = false

🟢 browser.urlbar.suggest.searches = false

🟢 browser.fixup.alternate.enabled = false

🔴 browser.urlbar.trimURLs = false

🟢 browser.urlbar.speculativeConnect.enabled = false

Далее отключаем настройки автозаполнения всяких форм

🟢 browser.formfill.enable = false

🔴 extensions.formautofill.addresses.enabled = false

🔴 extensions.formautofill.available = "off"

🔴 extensions.formautofill.creditCards.available = false

🔴 extensions.formautofill.creditCards.enabled = false

🔴 extensions.formautofill.heuristics.enabled = false

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

🔴 browser.urlbar.quicksuggest.scenario = "history"

🟢 browser.urlbar.quicksuggest.enabled = false

🟢 browser.urlbar.suggest.quicksuggest.nonsponsored = false

🟢 browser.urlbar.suggest.quicksuggest.sponsored = false

Результат: 8 из 15

Пароли​

🟢 signon.rememberSignons = false

🟢 signon.autofillForms = false

🔴 signon.formlessCapture.enabled = false

🟢 network.auth.subresource-http-auth-allow = 1

Результат: 3 из 4

Кэш и память​

🟢 browser.cache.disk.enable = false

🟢 browser.sessionstore.privacy_level = 2

🟢 browser.sessionstore.resume_from_crash = false

🟢 browser.pagethumbnails.capturing_disabled = true

🔴 browser.shell.shortcutFavicons = false

🟢 browser.helperApps.deleteTempFileOnExit = true

Результат: 5 из 6

HTTPS / SSL/TLS / OSCP / CERTS - сертификаты безопасности​

🟢 dom.security.https_only_mode = true

🔴 dom.security.https_only_mode_send_http_background_request = false

🔴 browser.xul.error_pages.expert_bad_cert = true

🔴 security.tls.enable_0rtt_data = false

🔴 security.OCSP.require = true

🟢 security.pki.sha1_enforcement_level = 1

🟢 security.cert_pinning.enforcement_level = 2

🔴 security.remote_settings.crlite_filters.enabled = true

🔴 security.pki.crlite_mode = 2

Результат: 3 из 9

Заголовки и реферреры​

🔴 network.http.referer.XOriginPolicy = 2

🟢 network.http.referer.XOriginTrimmingPolicy = 2

Результат: 1 из 2

Аудио и видео: WebRTC, WebGL, DRM​

🔴 media.peerconnection.enabled = false

🔴 media.peerconnection.ice.proxy_only_if_behind_proxy = true

🔴 media.peerconnection.ice.default_address_only = true

🔴 media.peerconnection.ice.no_host = true

🔴 webgl.disabled = true

🔴 media.autoplay.default = 5

Результат: 0 из 6

Загрузки​

🟢 browser.download.useDownloadDir = false

🟢 browser.download.manager.addToRecentDocs = false

Результат: 2 из 2

Куки​

🔴 browser.contentblocking.category = "strict"

🟢 privacy.partition.serviceWorkers = true

🔴 privacy.partition.always_partition_third_party_non_cookie_storage = true

🔴 privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage = true

Результат: 1 из 4

Интерфейс​

🟢 dom.disable_open_during_load = true

🔴 dom.popup_allowed_events = click dblclick mousedown pointerdown

🟢 extensions.pocket.enabled = false

🟢 extensions.Screenshots.disabled = true

🟢 pdfjs.enableScripting = false

🟢 privacy.userContext.enabled = true

Результаты: 5 из 6

Дополнения​

🟢 extensions.enabledScopes = 5

🟢 extensions.webextensions.restrictedDomains = ""

🟢 extensions.postDownloadThirdPartyPrompt = false

Результаты: 3 из 3

Параметры выключения​

Настраиваем автоматическую очистку истории, кук, кэша и т.п.

🟢 network.cookie.lifetimePolicy = 2

🔴 privacy.sanitize.sanitizeOnShutdown = true

🟢 privacy.clearOnShutdown.cache = true

🟢 privacy.clearOnShutdown.cookies = true

🟢 privacy.clearOnShutdown.downloads = true

🟢 privacy.clearOnShutdown.formdata = true

🟢 privacy.clearOnShutdown.history = true

🔴 privacy.clearOnShutdown.offlineApps = true

🟢 privacy.clearOnShutdown.sessions = true

🔴 privacy.clearOnShutdown.sitesettings = false

🔴 privacy.sanitize.timeSpan = 0

Результат: 7 из 11

Фингерпринтинг​

🟢 privacy.resistFingerprinting = true

🔴 privacy.window.maxInnerWidth = 1600

🔴 privacy.window.maxInnerHeight = 900

🟢 privacy.resistFingerprinting.block_mozAddonManager = true

🟢 browser.display.use_system_colors = false

Результат: 3 из 5

Итоги​

95 из 150 параметров, которые требуется изменить в браузере Mozilla Firefox, в случае с Mullvad Browser имеют рекомендованное значение и не требуют вмешательства. Можно сказать, что это очень неплохой результат, потому что почти все эти 95 параметров относятся к тем, которые максимально критичны для приватности и анонимности, а многие из требующих ручного вмешательства 55 параметров нужны чтобы "докрутить" браузер до максимально возможной защиты наших данных, порой в ущерб функциональности.​
 
Годная инфа. Только вместо стандартного Firefox лучше использовать его форк LibreWolf, там по умолчанию много чего отключено. На данный момент LibreWolf лидер в плане приватности браузеров "из коробки", инфа было на PrivacyTest
 
Назад
Сверху