Skip to content

Latest commit

 

History

History
232 lines (174 loc) · 28.7 KB

addendum.md

File metadata and controls

232 lines (174 loc) · 28.7 KB

Приложение

Эта часть для тех, кто хочет настроить свой браузер еще больше. Настройки для повышения удобства, производительности, безопасности и отключения различных зондов, полезные аддоны, интересные ссылки и т.п.

Важное замечание: Это памятка с интересными настройками и аддонами. Здесь пока (?) нет готового рецепта для максимальной анонимности. Если вы пришли за этим, проследуйте сюда или сюда.

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

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

Настройки about:config

Поддерживаемые на данный момент версии Firefox: 45 - 53.

Приведенные здесь настройки условно разделены на следующие категории:

  1. Настройки относительно безопасные - меняя их, ничего нужного не отвалится, и кое-что улучшится.
  2. Настройки, ломающие не особо нужную функциональность.
  3. Настройки, ломающие нужную некоторым функциональность.
  4. Настройки, еще больше ломающие функциональность. Их отключают либо для повышения безопасности, либо для повышения анонимности. А также все, что не подошло в первые три категории.
  5. Настройки для энтузиастов. Ничего особо не ломают, но рассчитаны на тех, кто использует браузер нетривиальными способами.

Не следует бездумно копировать себе все целиком из четвертой категории. Внимательно посмотрите и решите, что именно вам нужно. Из второй - можно, но все же рекомендуется прочитать перед этим.

Применить эти настройки можно, дописав их в конец находящегося в профиле 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/login
  • geo.enabled -- citilink.ru (панель фильтров).
  • general.useragent.override -- Неправдоподобно выглядящий useragent ломает maps.yandex.ru и много что еще.

Продвинутые аддоны

E10S - совместимые с Electrolysis расширения, E10S - не совместимые, либо работающие через прослойку для совместимости (interposition).

  • 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) самим браузером/другим аддоном).

  • User Agent Switcher E10S и списки к нему.

  • 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. Актуально для тех, кто хочет поставить и забыть, чтоб оно там автоматом боролось с трекингом.

Разное

Stylish

Полезные стили

  • Dim Unloaded Tabs. Затемнение незагруженных после перезапуска браузера вкладок.

О написании собственных стилей

Некоторая пригождающаяся информация есть в Stylish Wiki.

Инспектировать элементы интерфейса самого браузера удобно при помощи Browser Toolbox.

Также, в качестве менее функцональной, но изкоробочной альтернативы Stylish, можно использовать файл userChome.css.

Опасность юзерстилей с -moz-binding

В мозилловском 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: Настройки могут меняться и в более поздних бетах, чем там сравниваются, поэтому целиком полагаться на него не стоит.

Безопасность

Приватность