• XSS.stack #1 – первый литературный журнал от юзеров форума

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

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 332
Как настроить Firefox для повышения приватности

В последнее время браузер Firefox претерпевал достаточно значительные изменения, хорошие и не очень: это и переход на движок Quantum, это и отказ от расширений типа XUL/XPCOM, и переход на WebExtensions, и еще масса других преобразований. Что никак не изменилось — это возможность сделать из него прекрасный хакерский браузер, если немного покрутить конфиги. Как и что крутить, мы обсудим в этой статье.

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("...", …); идет параметр и его значение. Итак, с файлом настроек разобрались, теперь приступим к препарированию браузера. Все настройки применялись к последней на момент написания статьи версии браузера.


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

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, сторонние куки, портит данные фингерпринта.
    201244.png

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

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

  4. Nano Defender — хорошее дополнение к блокировщику рекламы — плагин противодействует антиадблокерам.
  5. Decentraleyes — полезный плагин, который препятствует отслеживанию через CDN (Content Delivery Network).
    137406.png

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

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

  8. NoScript — популярное расширение, которое блокирует скрипты на сайтах. Очень полезно, потому что как раз скрипты часто нарушают анонимность.
  9. HTTPS Everywhere — автоматически переключает соединение на HTTPS, даже когда это явно не было указано в адресной строке.
    214771.png

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

Автор: xtahi0nix aka Nik Zerof
хакер.ру
 
В рамках проекта Librefox предпринята попытка создания сборки Firefox, нацеленной на усиление конфиденциальности и повышение безопасности. Librefox не является ответвлением от Firefox и строится с использованием кода штатных выпусков, что позволяет поддерживать браузер в актуальном состоянии без отставания. Librefox отличается изменением настроек и отключением излишней функциональности. Для загрузки предлагаются сборки для Linux, Windows и macOS, сформированные на основе Firefox 64 (дополнительно доступны тестовые сборки Librefox на основе Firefox 60.4 ESR и Tor Browser 8.0.4).
Основные особенности:
  • Удалены негативно влияющие на приватность встроенные дополнения, код проверки обновлений и компонент для отправки информации о крахах;
  • Добавлен межсетевой экран для дополнений, ограничивающий доступ в сеть;
  • Настройки почищены от встроенных ссылок на серверы Mozilla и от вызова функций, осуществляющих удалённое обращение к сервисам (например, отключена загрузка чёрных списков Google). По умолчанию Librefox не инициирует никаких внешних соединений;
  • Внесено более 500 изменений в настройки, ориентированных на повышение безопасности, приватности и производительности. В качестве шаблона для изменения настроек использованы коллекции ghacks-user.js и pyllyukko user.js;
  • Наиболее важные настройки защищены от случайного изменения, в том числе дополнениями, путём их выноса в файлы mozilla.cfg и policies.json;
  • Отключён код для накопления статистики и отправки телеметрии;
  • В качестве рекомендуемой опции предлагается тёмная тема оформления;
  • Для установки опционально предлагается набор собственных дополнений (Librefox-addons), в который входят Librefox Dark Theme (тёмная тема оформления), Librefox HTTP Watcher (для HTTP без шифрования меняет цвет адресной строки) и Librefox Reload Button (перемещает кнопку перезагрузки страницы в адресную строку);
  • Определён список рекомендуемых дополнений, прошедших дополнительное рецензирование кода, в числе которых uBlock Origin, Browser Plugs Privacy Firewall, User Agent Platform Spoofer, First Party Isolation, Cookie Master;

Предлагаемые проектом Librefox пакеты формируются с использованием немодифицированной кодовой базы Firefox на основе официально поставляемых Mozilla сборок (Librefox не пересобирает код, а изменяет официальные сборки Mozilla, все исполняемые файлы остаются прежними). Изменения сводятся к замене файлов mozilla.cfg, local-settings.js и policies.json, удалению исполняемых файлов updater и crashreporter, а также связанных с ними файлов конфигурации. Из состава также удаляются встроенные дополнения aushelper@mozilla.org.xpi, firefox@getpocket.com.xpi, onboarding@mozilla.org.xpi, webcompat-reporter@mozilla.org.xpi и webcompat@mozilla.org.xpi.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх