- Шапка
- Приложение
- Серый список аддонов
Эта часть для тех, кто хочет настроить свой браузер еще больше. Настройки для повышения удобства, производительности, безопасности и отключения различных зондов, полезные аддоны, интересные ссылки и т.п.
Важное замечание: Это памятка с интересными настройками и аддонами. Здесь пока (?) нет готового рецепта для максимальной анонимности. Если вы пришли за этим, проследуйте сюда или сюда.
Стандартный дисклеймер раз: я включил краткие пояснения к каждой настройке и аддону, но если вы четко не понимаете за что они отвечают и что у вас может отвалиться в результате их установки, лучше не трогайте.
Стандартный дисклеймер два: следует помнить, что меры для достижения анонимности и безопасности зачастую противоположны друг другу, ибо чем больше вы меняете дефолтное поведение браузера и отключаете включенных по умолчанию механизмов, тем уникальнее становится его отпечаток. Если в приоритете именно анонимность, а не безопасность с анонимностью по остаточному принципу, многие зонды лучше не выключать, а скармливать им ложную информацию, маскирующую вас под типичного юзера. Думайте сами, что вам нужнее.
Поддерживаемые на данный момент версии Firefox: 45 - 53.
Приведенные здесь настройки условно разделены на следующие категории:
- Настройки относительно безопасные - меняя их, ничего нужного не отвалится, и кое-что улучшится.
- Настройки, ломающие не особо нужную функциональность.
- Настройки, ломающие нужную некоторым функциональность.
- Настройки, еще больше ломающие функциональность. Их отключают либо для повышения безопасности, либо для повышения анонимности. А также все, что не подошло в первые три категории.
- Настройки для энтузиастов. Ничего особо не ломают, но рассчитаны на тех, кто использует браузер нетривиальными способами.
Не следует бездумно копировать себе все целиком из четвертой категории. Внимательно посмотрите и решите, что именно вам нужно. Из второй - можно, но все же рекомендуется прочитать перед этим.
Применить эти настройки можно, дописав их в конец находящегося в профиле prefs.js
, либо создав там же файл user.js
и записав их в него. Но не забудьте, что вы это сделали, потому что записанные в user.js
настройки будут откатываться на указанные там значения при каждом перезапуске браузера, даже если вы меняли их другими способами (about:config, Preferences, etc). Подробнее здесь.
Кроме того, user.js
можно (и нужно) создавать в еще ни разу не запускавшемся профиле. Т.е.: создаем профиль в Profile Manager, но не нажимаем Start Firefox, когда профиль уже создан. Идем в пустую папку свежесозданного профиля и записываем туда user.js
с нужными настройками. Он применится при запуске и в результате у вас с самого начала не будет никаких нежелательных соединений и загрузок вроде БД Safebrowsing, OpenH264-кодека и т.п.
- Спуфинг реферера -- Avito.ru (показ телефонов), сервисы Яндекса (при использовании вместе с Decentraleyes).
dom.event.clipboardevents.enabled
-- GitHub (копирование текста из редактора).security.ssl.require_safe_negotiation
-- Instagram, многие другие.dom.indexedDB.enabled
-- Twitter.security.ssl3.rsa_des_ede3_sha
-- https://login.skype.com/logingeo.enabled
-- citilink.ru (панель фильтров).general.useragent.override
-- Неправдоподобно выглядящий useragent ломает maps.yandex.ru и много что еще.
E10S
- совместимые с Electrolysis расширения, - не совместимые, либо работающие через прослойку для совместимости (interposition).E10S
-
HTTPS Everywhere E10S Содержит список сайтов, поддерживающих как HTTP, так HTTPS, и автоматически меняет все HTTP-ссылки, ведущие к этим сайтам, на HTTPS. Аддон вернули на AMO, но на всякий случай - ссылка на официальный сайт. Правила обновляются редко, актуальную версию правил можно получить на GitHub, там же можно отправить новое правило.
-
SSleuth E10S (GitHub) Показывает информацию об используемых криптопримитивах и фичах TLS/SSL в шифрованных соединениях.
-
RefControl
E10SРезалка рефереров. Можно тонко тюнить, а можно рубить только рефереры при переходе на другой домен (Block (3rd party)), оставляя внутридоменные, что просто, эффективно для 99% случаев и не ломает так много сайтов как полный запрет. -
CleanLinks
E10SЧистит ссылки от редирект-префиксов Гугла и т.п. Имеет белый список как доменов, так и рэгэкспов, чтобы пропускать ссылки со всякими нужными префиксами вроде auth, ServiceLogin и т.п. -
Google search link fix E10S Более простая альтернатива CleanLinks для тех, кого он по каким-то причинам не устраивает. Работает только на Google, Yandex и Yahoo.
-
Cookie Monster
E10SРежет cookies и DOM Storage для сайтов, не внесенных в белый список. -
Cookie Controller E10S Альтернатива Cookie Monster. После установки следует вручную вытащить кнопки на тулбар через Customize. Настройки находятся в меню Tools (Alt+T) -> Cookie Controller.
-
Self-Destructing Cookies
E10SСамоуничтожение кук после закрытия всех вкладок с соответствующим сайтом. Может быть удобнее чем полная блокировка. -
Cookies Exterminator
E10SЕще один аддон для автоматического удаления cookies и DOM Storage после закрытия использующих их вкладок. -
BetterPrivacy E10S Менее актуально с понижением числа пользователей Flash, но все же. Уничтожает LSO, которые не может заблокировать или уничтожить сам браузер.
-
RequestPolicy Continued
E10SРезалка кросс-доменных запросов. Можно (и рекомендуется самим автором) использовать в связке с NoScript. -
uMatrix E10S Самая многофункциональная из резалок кросс-доменных запросов. Может блокировать запросы в зависимости от типа контента. Также умеет блокировать XHR (отдельно от обычных запросов), скрипты, куки, рефереры, плагины, медиа (HTML5 аудио и видео) и вебсокеты (только на Firefox). Документацию еще не перенесли целиком из старого проекта, на котором основан uMatrix, так что если что непонятно, смотреть не только здесь, но и здесь.
- Алгоритм блокирования кук несколько отличается от того, что у Cookie Monster и Cookie Controller - первые два не дают сайтам устанавливать куки, а uMatrix дает ставить, но не дает читать, убирая из всех HTTP-запросов заголовок Cookie (но при этом через document.cookie установленные куки все еще видны), а через некоторое время - подчищает. Также в отличие от CM/CC, uMatrix не умеет запрещать писать в DOM Storage, а может только периодически его очищать.
-
NoRedirect
E10SРубит редиректы по рэгэкспам исходного или целевого URL. -
Redirect Control
E10SЕще один блокировщик редиректов. Развивается в отличие от давно не обновлявшегося NoRedirect. -
Redirector E10S Позволяет задавать пользовательские редиректы по паттернам или регулярным выражениям.
-
HttpFox
E10SМониторит все HTTP-запросы браузера. Показывает заголовки, параметры GET/POST и статус запроса (в т.ч. был ли он выполнен, взят из кэша, или отменен (NS_BINDING_ABORTED) самим браузером/другим аддоном). -
Random Agent Spoofer
E10SМеняет юзер-агенты по таймеру и с дополнительными фичами, препятствующими фингерпринтингу. Версия с GitHub имеет расширенную функциональность по сравнению с версией с AMO (см. описание на AMO). -
http-useragent-cleaner
E10SЕще один продвинутый аддон для противодействия фингерпринтингу. Позволяет не только менять юзер-агент, но и заблокировать другие каналы утечки опознавательной информации. -
CanvasBlocker E10S Предотвращает фингерпринтинг через анализ особенностей рендеринга элемента <canvas>, зависящих от ОС, железа, драйверов, шрифтов и т.п. Также см. Bug 967895.
-
Decentraleyes E10S Аддон содержит популярные библиотеки (AngularJS, Backbone.js, Dojo, Ember.js, Ext Core, jQuery, jQuery UI, Modernizr, MooTools, Prototype, Scriptaculous, SWFObject, Underscore.js) и предотвращает обращения сайтов за ними ко внешним 3rd-party CDN, предоставляя вместо этого локальные копии.
- Расширение экспериментальное и может ломать некоторые сайты. Известны проблемы с Yandex.Disk.
-
No Resource URI Leak E10S Предотвращает фингерпринтинг по внутренним URL браузера со схемой resource://, запрещая веб-страницам доступ к ним. Может сломать некоторые другие расширения. Подробнее о проблеме: Ghacks, Bug 863246, Bug 903959. Протестировать можно на Browserleaks: https://browserleaks.com/firefox
-
Privacy Badger WE Аналог Ghostery от EFF. Актуально для тех, кто хочет поставить и забыть, чтоб оно там автоматом боролось с трекингом.
- Dim Unloaded Tabs. Затемнение незагруженных после перезапуска браузера вкладок.
Некоторая пригождающаяся информация есть в Stylish Wiki.
Инспектировать элементы интерфейса самого браузера удобно при помощи Browser Toolbox.
Также, в качестве менее функцональной, но изкоробочной альтернативы Stylish, можно использовать файл userChome.css.
В мозилловском CSS есть специальное предназначенное для использования с XUL свойство -moz-binding, при помощи которого можно привязать к элементу обработчики различных событий. Для CSS веб-страниц вытекающие из этого уязвимости давно закрыли: bug 324253, bug 379959.
Однако стили Stylish могут модифицировать не только страницы сайтов, но и интерфейс Firefox. Поэтому они обладают всеми возможностями стилей самого браузера и аддонов, соответственно, встроенные в них через -moz-binding обработчики выполнятся уже с правами chrome, а не content. При этом код обработчика, который обычно находится по адресу chrome:// для стилей самого браузера, может быть задан и в самом стиле в виде Data URI, так что проверку на same-origin он пройдет успешно. В результате подобные стили представляют из себя не меньшую опасность чем непроверенные аддоны.
Вот, например, самое простое, что можно сделать - поменять настройки прокси в браузере. Биндинг в нижеприведенном стиле меняет их на 127.0.0.1:8888. Работает с указанием namespace XUL и без него (с namespace HTML - не работает).
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
#main-window {
-moz-binding: url("data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxiaW5kaW5ncyB4bWxucz0iaHR0cDovL3d3dy5tb3ppbGxhLm9yZy94YmwiCiAgICB4bWxuczp4dWw9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcva2V5bWFzdGVyL2dhdGVrZWVwZXIvdGhlcmUuaXMub25seS54dWwiCiAgICB4bWxuczp4Ymw9Imh0dHA6Ly93d3cubW96aWxsYS5vcmcveGJsIj4KICAgIDxiaW5kaW5nIGlkPSJleHBsb2l0Ij4KICAgICAgICA8aW1wbGVtZW50YXRpb24+CiAgICAgICAgICAgIDxjb25zdHJ1Y3Rvcj4KICAgICAgICAgICAgICAgIC8vIDwhW0NEQVRBWwogICAgICAgICAgICAgICB2YXIgcHJlZnMgPSBDb21wb25lbnRzLmNsYXNzZXNbIkBtb3ppbGxhLm9yZy9wcmVmZXJlbmNlcy1zZXJ2aWNlOzEiXS5nZXRTZXJ2aWNlKENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lQcmVmU2VydmljZSkuZ2V0QnJhbmNoKCJuZXR3b3JrLnByb3h5LiIpOwogICAgICAgICAgICAgICBwcmVmcy5zZXRJbnRQcmVmKCJ0eXBlIiwgMSk7CiAgICAgICAgICAgICAgIHByZWZzLnNldENoYXJQcmVmKCJzb2NrcyIsICIxMjcuMC4wLjEiKTsKCSAgICAgICBwcmVmcy5zZXRJbnRQcmVmKCJzb2Nrc19wb3J0IiwgODg4OCk7CiAgICAgICAgICAgICAgICAvLyBdXT4KICAgICAgICAgICAgPC9jb25zdHJ1Y3Rvcj4KICAgICAgICA8L2ltcGxlbWVudGF0aW9uPgogICAgPC9iaW5kaW5nPgo8L2JpbmRpbmdzPgo=");
}
Userstyles.org не пропускает стили, содержащие свойство -moz-binding, поэтому внимательно проверять нужно только стили, устанавливаемые из других источников.
Изобретен пользователями форума Mozilla Russia[1][2]. После применения может потребоваться переустановка отключенных браузером неподписанных аддонов.
Создайте файл config.js
в папке с установленным Firefox: C:\Program Files\Mozilla Firefox
//
try {
Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
.eval("SIGNED_TYPES.clear()");
} catch(ex) {}
Создайте файл config-prefs.js
в папке C:\Program Files\Mozilla Firefox\defaults\pref
pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");
- Release Notes и Developer Release Notes.
- Ghacks - сайт, на котором попадаются неплохие статьи и обзоры грядущих нововведений в Firefox.
- Здесь и здесь приведены подробные описания настроек, жаль, не всех.
- user.js -- Firefox hardening stuff - репозиторий настроек вроде этого, но с несколько другим подходом к организации.
- Блог автора аддона Configuration Mania, который выкладывает разницу между дефолтными конфигами предыдущей и новой версии Firefox. UPD: Настройки могут меняться и в более поздних бетах, чем там сравниваются, поэтому целиком полагаться на него не стоит.
- Список исправленных уязвимостей
- Описание процедуры ревью аддонов на AMO.
- Атаки через подмену содержимого буфера обмена
- С использованием JavaScript:
- Без использования JavaScript, на чистом HTML: https://thejh.net/misc/website-terminal-copy-paste
- Неплохой обзор от Mozilla с описаниями механизмов, из-за которых Firefox может инициировать соединения без прямого приказа пользователя. Еще: соединения, устанавливающиеся при запуске браузера. Настройки для отключения подобной самодеятельности есть здесь, в разделе "Настройки".
- PrivacyTools.io - сайт, посвященный инструментам для обеспечения приватности. Можно предлагать дополнения и улучшения в их репозитории на GitHub.
- Evercookie. Собирательное название для техник помещения трекинг-идентификаторов в разные труднодоступные места помимо cookies, LSO и DOM Storage.
- Фингерпринтинг
- Такие методы обнаружения, для которых не требуется запись уникального идентификатора на машину пользователя.
- Обзор методов фингерпринтинга в Mozilla Wiki и предложения по улучшению анонимности браузера.
- Обзор способов идентификации на сайте проекта Chromium.
- Tor Uplft - проект по переносу патчей Tor Browser в основную ветку Firefox.
- Проверить себя на уникальность отпечатка можно на следующих ресурсах:
- Статьи по теме: