Permalink
Switch branches/tags
Nothing to show
Find file Copy path
242 lines (180 sloc) 28.9 KB

Приложение

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

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

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

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

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

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

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

  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-кодека и т.п.

Список ломающихся от применения настроек сайтов
  • Спуфинг заголовка Referer -- Avito.ru (показ телефонов), сервисы Яндекса (при использовании вместе с Decentraleyes), qiwi.com (авторизация), simplenote.com (авторизация), rapidgator.net (капча).
  • dom.event.clipboardevents.enabled -- GitHub (копирование текста из редактора).
  • security.ssl.require_safe_negotiation -- Instagram, Mega.nz, многие другие.
  • dom.enable_performance -- pornhub.com (авторизация).
  • dom.indexedDB.enabled -- Violentmonkey (аддон), Twitter, Google Drive, Mega.nz. Поломка может быть частично исправлена юзерскриптом.
  • security.ssl3.rsa_des_ede3_sha -- https://login.skype.com/login
  • geo.enabled -- citilink.ru (панель фильтров).
  • general.useragent.override -- Неправдоподобно выглядящий useragent ломает maps.yandex.ru и много что еще.
  • svg.disabled -- youtube.com (плеер).

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

E10S - совместимые с Electrolysis расширения.
E10S - не совместимые, либо работающие через прослойку для совместимости (interposition).
WE - Web Extensions, совместимы с E10S.
WE, E10S - есть как Web Extension, так и старая версия расширения, которую можно использовать на Firefox 52 ESR.

  • HTTPS Everywhere WE, E10S Содержит список сайтов, поддерживающих как HTTP, так HTTPS, и автоматически меняет все HTTP-ссылки, ведущие к этим сайтам, на HTTPS. Аддон вернули на AMO, но на всякий случай - ссылка на официальный сайт. Правила обновляются редко, актуальную версию правил можно получить на GitHub, там же можно отправить новое правило.

  • MixedContentHunter WE Аддон меняет HTTP на HTTPS в запросах ресурсов документом, загруженным через HTTPS. Есть белый список на случай ломки сайта от такого поведения.

  • SSleuth E10S (GitHub) Показывает информацию об используемых криптопримитивах и фичах TLS/SSL в шифрованных соединениях.

  • RefControl E10S Резалка рефереров. Можно тонко тюнить, а можно рубить только рефереры при переходе на другой домен (Block (3rd party)), оставляя внутридоменные, что просто, эффективно для 99% случаев и не ломает так много сайтов как полный запрет.

  • CleanLinks E10S Чистит ссылки от редирект-префиксов Гугла и т.п. Имеет белый список как доменов, так и рэгэкспов, чтобы пропускать ссылки со всякими нужными префиксами вроде auth, ServiceLogin и т.п.

  • Skip Redirect WE Альтернатива CleanLinks. Также имеет белый список для исключений, позволяющий пропускать ссылки с нужными префиксами.

  • Google search link fix WE, E10S Более простая альтернатива CleanLinks для тех, кого он по каким-то причинам не устраивает. Работает только на Google, Yandex и Yahoo.

  • Neat URL WE Чистит ссылки, удаляя из них мусорные параметры вроде utm_source, использующиеся для трекинга. Список параметров настраивается - можно добавлять как глобальные правила, так и для определенных доменов.

  • 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 после закрытия использующих их вкладок.

  • Cookie AutoDelete WE Идейный продолжатель дела Self-Destructing Cookies на Web Extensions.

  • BetterPrivacy E10S Менее актуально с понижением числа пользователей Flash, но все же. Уничтожает LSO, которые не может заблокировать или уничтожить сам браузер.

  • NoScript WE, E10S Блокировщик JS с возможностью работы в режиме белого или черного списка. Поможет тем, у кого в простое вкладки с тяжелым JS отжирают ресурсы CPU.

  • RequestPolicy Continued E10S Резалка кросс-доменных запросов. Можно (и рекомендуется самим автором) использовать в связке с NoScript.

  • uMatrix WE, E10S Самая многофункциональная из резалок кросс-доменных запросов. Может блокировать запросы в зависимости от типа контента. Также умеет блокировать XHR (отдельно от обычных запросов), скрипты, куки, рефереры, плагины, медиа (HTML5 аудио и видео) и вебсокеты. Документацию еще не перенесли целиком из старого проекта, на котором основан uMatrix, так что если что непонятно, смотреть не только здесь, но и здесь.

    • Алгоритм блокирования кук несколько отличается от того, что у Cookie Monster и Cookie Controller - первые два не дают сайтам устанавливать куки, а uMatrix дает ставить, но не дает читать, убирая из всех HTTP-запросов заголовок Cookie (но при этом через document.cookie установленные куки все еще видны), а через некоторое время - подчищает. Также в отличие от CM/CC, uMatrix не умеет запрещать писать в DOM Storage, а может только периодически его очищать.
  • NoRedirect E10S Рубит редиректы по рэгэкспам исходного или целевого URL.

  • Redirect Control E10S Еще один блокировщик редиректов. Развивается в отличие от давно не обновлявшегося NoRedirect.

  • Redirector WE, E10S Позволяет задавать пользовательские редиректы по паттернам или регулярным выражениям.

  • HttpFox E10S Мониторит все HTTP-запросы браузера. Показывает заголовки, параметры GET/POST и статус запроса (в т.ч. был ли он выполнен, взят из кэша, или отменен (NS_BINDING_ABORTED) самим браузером/другим аддоном).

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

  • Random Agent Spoofer E10S Меняет юзер-агенты по таймеру и с дополнительными фичами, препятствующими фингерпринтингу. Версия с GitHub имеет расширенную функциональность по сравнению с версией с AMO (см. описание на AMO).

  • CanvasBlocker WE, E10S Предотвращает фингерпринтинг через анализ особенностей рендеринга элемента <canvas>, зависящих от ОС, железа, драйверов, шрифтов и т.п. Также см. Bug 967895.

  • Decentraleyes WE, 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
    UPD: В Firefox 57 баг 863246 исправлен, и необходимости в этом расширении больше нет.

  • Privacy Badger WE, E10S Аналог Ghostery от EFF. Актуально для тех, кто хочет поставить и забыть, чтоб оно там автоматом боролось с трекингом.

Разное

Пользовательские стили

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

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

  • Custom CSS tweaks for Firefox 57+. Сборник различных стилей от автора аддона Classic Theme Restorer.

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

В качестве изкоробочной альтернативы меняющим стили аддонам, можно использовать файлы userChrome.css и userContent.css. Если редактировать их из Browser Toolbox, изменения вступают в силу без перезапуска браузера. Также через Browser Toolbox удобно инспектировать элементы интерфейса самого браузера.

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

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

В мозилловском CSS есть специальное предназначенное для использования с XUL свойство -moz-binding, при помощи которого можно привязать к элементу обработчики различных событий. Для CSS веб-страниц вытекающие из этого уязвимости давно закрыли: bug 324253, bug 379959.

Однако стили в userChrome.css могут модифицировать интерфейс 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, поэтому внимательно проверять нужно только стили, устанавливаемые из других источников.

Интересные ссылки

  • Release Notes и Developer Release Notes.
  • Ghacks - сайт, на котором попадаются неплохие статьи и обзоры грядущих нововведений в Firefox.
  • Здесь и здесь приведены подробные описания настроек, жаль, не всех.
  • user.js -- Firefox hardening stuff - репозиторий настроек вроде этого, но с несколько другим подходом к организации.
  • ghacks-user.js - еще один похожий проект с настройками.
  • Блог автора аддона Configuration Mania, который выкладывает разницу между дефолтными конфигами предыдущей и новой версии Firefox. UPD: Настройки могут меняться и в более поздних бетах, чем там сравниваются, поэтому целиком полагаться на него не стоит.

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

Приватность