Вопрос или проблема
Существует ли браузер (или комбинация браузера и дополнений), который позволяет полностью изолировать каждую вкладку друг от друга/помещать каждую в отдельную сессию?
Подробнее:
- Не просто отдельные куки, но также отдельные флеш-куки, хранилище DOM и т.д. Сайт в одной сессии не должен иметь абсолютно никакой возможности общения (через мой браузер) с сайтом в другой сессии, даже если это один и тот же сайт.
- Возможность назначать стандартные сессии для новых вкладок на основе URL/домена (например, “нет совпадения” → новая сессия, “домен=google.com” → сессия=”google”, “домен=youtube.com” → сессия=”google”). Если это невозможно, то хотя бы настройка, чтобы новые вкладки по умолчанию получали новый пустой профиль.
- Сохранение информации о назначении вкладок→сессий при перезапуске браузера (привязка вкладки к сессии остается неизменной).
- Настраиваемое сохранение данных сессии при перезапуске браузера для каждой сессии. Если это не настраиваемо, то должно быть постоянным для всех.
- Возможность перемещать вкладки из одной сессии в другую. Опционально, также можно просто вставить URL в новую вкладку в нужной сессии и закрыть старую вкладку.
Я знаком с вопросами здесь с аналогичными ответами, касающимися множественных входов на одни и те же сайты в одном и том же браузере. Но это немного другой вопрос с другим набором ответов (которые могут пересекаться, но не идентичны).
- Multilogin для Google Chrome, похоже, не сохраняет ни привязку сессий, ни данные сессий, что неприемлемо.
- Multifox для Firefox сохраняет данные сессий, но нет возможности открывать новые вкладки в новых сессиях по умолчанию и отсутствуют некоторые настройки.
- Priv8 для Firefox похож на Multifox, возможно, немного лучше. Все еще нужны некоторые дополнительные параметры конфигурации, чтобы действительно ответить на мой вопрос.
Что я не знаю о них, так это правильно ли они изолируют вкладки или просто разделяют (обычные, не флеш или dom) куки, что должно быть достаточно для большинства входов (что, в конце концов, и является их заявленной целью), но не для повышения конфиденциальности и безопасности?
Было бы неплохо узнать более эффективные решения, иначе мне придется погрузиться в код двух упомянутых плагинов и выяснить, что мне нужно, и добавить отсутствующие функции (что на самом деле выглядит как работа, а я ленив, но кто знает, возможно, я это сделаю. Если я это сделаю, то обязательно отвечу на свой вопрос здесь. Для Multifox это может быть осуществимо с приемлемым объемом работы, я думаю).
Обоснование: Меня раздражает слежка по всему интернету. Браузер с описанными мной функциями имел бы большинство необходимых функций, чтобы предотвратить большую часть этого отслеживания, за исключением очень сложного. Совместите это со spoofing некоторой дополнительной информации (разрешение экрана, ОС, версия браузера, версии плагинов и т.д.), и не останется абсолютно никакой возможности отслеживания, кроме вашего IP-адреса, который, скорее всего, вы делите с довольно большим количеством других людей, поэтому его обычно не используют для отслеживания. Все это без заметного снижения удобства использования. Единственным недостатком использования профиля браузера на домен/вкладку, который я могу себе представить, является то, что если вы входите на сайт, такой как Stack Exchange, используя другой сайт, такой как Google, вам нужно будет ввести свой пароль снова, даже если, в принципе, в профиле браузера “google.com” вы уже вошли. Это можно было бы смягчить, ведя (вручную) учет того, какие домены управляются одной и той же компанией, и, следовательно, должны находиться в одном песочнице. Отправляя и получая эту информацию в централизованное хранилище (или P2P, неважно), даже это можно было бы свести к почти нулю.
Firefox 57, также известный как “Firefox Quantum”, теперь позволяет изолировать вкладки, вводя API “Контекстные идентичности” (также известные как “Контейнеры”) для расширений. Mozilla выпустила расширение Firefox Multi-Account Containers, которое использует это API.
Контейнеры работают, позволяя пользователям устанавливать барьеры на потоке данных между сайтами, изолируя куки, indexedDB, localStorage и кэши в различных контекстах просмотра. Например, браузерное хранилище, связанное с персональным контейнером пользователя, отделено от контейнера работы пользователя. Таким образом, пользователи могут иметь разные идентичности в зависимости от контекста, в котором они находятся – мы называем это контекстной идентичностью.
Добавляя информацию для каждого пункта в оригинальном посте:
Не просто отдельные куки, но также отдельные флеш-куки, dom
хранилище и т.д…
Согласно статье Mozilla wiki “Безопасность/Контекстный проект идентичности/Контейнеры”:
Изолированное по контейнерам:
- Куки
- localStorage
- indexedDB
- HTTP-кэш данных
- Кэш изображений
- Любые другие области, поддерживаемые originAttributes
Возможность назначить стандартные сессии для новых вкладок на основе
URL/Домена
Для этого я бы использовал расширение Containerise в дополнение к Firefox Multi-Account Containers.
Автоматически открывайте сайты в выделенном контейнере. Просто добавьте правила, чтобы сопоставить домен или поддомен с вашим контейнером.
Сохранение информации о назначении вкладок на перезапуске браузера (привязка вкладки к сессии остается неизменной)
Настраиваемое сохранение данных сессии при перезапуске браузера для каждой сессии. Если не настраиваемо, тогда должно быть постоянным для всех сессий.
Firefox Multi-Account Containers позволяет устанавливать постоянные сессии. Для непостоянных сессий расширение Temporary Containers должно позволять открывать новые вкладки во временных контейнерах.
Открывайте вкладки, сайты и ссылки в автоматически управляемых одноразовых контейнерах. Контейнеры изолируют данные, которые сайты хранят (куки, хранилище и многое другое) друг от друга, повышая вашу конфиденциальность и безопасность во время серфинга.
Возможность перемещать вкладки из одной сессии в другую. Опционально, также можно просто вставить URL в новую вкладку в нужной сессии и закрыть старую вкладку.
Это можно сделать с помощью Firefox Multi-Account Containers, щелкнув правой кнопкой мыши по вкладке и выбрав “открыть в контейнере”.
Ghost Browser был разработан специально для целей многопользовательского входа. Каждый раз, когда вы открываете новую вкладку, вы можете поместить ее в новую сессию. (дисклеймер: я основатель)
Новая вкладка будет отдельного цвета, чтобы вы могли различать их. Это выглядит так, если вы, например, входите в несколько аккаунтов Facebook:
Более того, он построен на Chromium, так что вы можете использовать его как Chrome и автоматически импортировать все свои расширения Chrome при установке.
Он также обеспечивает сохранение сессий при перезапуске… на самом деле, он идет дальше. Вы можете сохранить набор вкладок – с разными сессиями – как проект (также показано на изображении). Каждый раз, когда вы открываете проект, вы будете авторизованы в правильных аккаунтах (если, конечно, куки не истекли, но галочка “запомнить меня” при входе минимизирует это).
Флеш LSO и локальное хранилище также отделены. Кэш еще не отделен, но это работает в разработческой версии… скоро будет.
Если вы находитесь в Facebook или Google в пурпурных вкладках, они не смогут отслеживать вас в оранжевых.
С новой функцией Ghost Proxy Control вы также можете назначить различный прокси для каждого цвета, так что это тоже покрыто.
Создайте отдельные профили браузера для каждой сессии, которая вам нужна, и создайте соответствующие ярлыки.
Для Firefox на Windows отредактируйте свой ярлык, добавив:
-no-remote -P
Для Firefox на Linux отредактируйте свой ярлык, добавив:
-new-instance -P
В конец ярлыка. Это запустит новый экземпляр и позволит вам создать новый профиль, который вы будете использовать для своей новой сессии, чтобы сохранить её отдельной. Не запускайте несколько экземпляров в одном профиле.
Для Chrome вы можете либо перейти в настройки и создать нового пользователя для переключения между ними, либо сделать копию своего ярлыка Chrome для каждой сессии, которую вы хотите, и отдельный каталог для своего профиля. Для каждого нового ярлыка отредактируйте его, добавив:
--user-data-dir=
И путь к каталогу профиля, который вы создали для этого профиля. Для большего вы можете использовать рандомизированные имена папок, используя openssl rand
:
--user-data-dir=`openssl rand -base64 4`
Существует плагин для Chrome под названием SessionBox, который работает безупречно.
Локальные сессии не ограничены, но если вас интересуют синхронизированные сессии между несколькими устройствами, вы в бесплатной версии ограничены одной сессией. Для неограниченных синхронизированных сессий взимается плата в 1 доллар в месяц, что неплохо. 🙂
Кратко осмотрев ответы, я не нашел никакого упоминания о MS Edge. Несмотря на то, что известна не очень конфиденциальная природа Microsoft, я добавлю эту опцию к ответам лишь для вопроса общественного сознания.
Да, Microsoft Edge поддерживает изоляцию сайтов через MDAG (Microsoft Defender Application Guard) с начала 2018 года с некоторым уровнем успеха, и, что более важно, он поддерживает изоляцию сайтов как друг от друга, так и от аппаратного обеспечения ПК, что делает невозможным причинение вреда от злонамеренных веб-скриптов.
Это соответствует как минимум первым двум вашим требованиям (изоляция куки+хранилища, возможность назначить вкладку на сайт между сессиями), так что я решил включить Edge здесь. Последнее может быть не идеальным, как вы описываете, но по крайней мере частично оно выполняет свою задачу, это можно достичь в корпоративном режиме через список доверенных/недоверенных сайтов.
[
Шаги для включения MDAG на машине:
- Откройте Панель управления, выберите Программы, а затем выберите Включить или отключить функции Windows.
- Убедитесь, что он работает в MS Defender
- Откройте окно AG в Edge
Подробнее в официальной документации:
П.С. У меня нет связи с MS, все права на изображения и авторское право принадлежат MS.
Вам стоит обратить внимание на Tails, который используется репортерами в “сложных” странах: https://tails.boum.org/
Физическое удаление вашего жесткого диска и запуск Tails с CD или DVD делает вашу систему “только для чтения”: ваш браузер не может записывать куки на жесткий диск, и ваша следующая сессия навигации будет независимой, пока вы достаточно долго не выключите маршрутизатор, чтобы ваш интернет-провайдер (ISP) назначил ему новый IP-адрес, когда вы запустите его снова.
Однако я не уверен, как такая система обрабатывает куки; игнорируются ли они просто или записываются в ОЗУ.
Еще одна проблема заключается в том, кто стоит за узлами Tor. Не обязательно ангелы.
Наконец, ваш ISP имеет последнее слово о вашей конфиденциальности.
Таким образом, Tails, безусловно, является улучшением вашей конфиденциальности при запуске с DVD, но не просите его о том, на что он не способен.
Ответ или решение
Существует ряд браузеров и расширений, которые поддерживают полную изоляцию вкладок и сессий, соответствуя вашим требованиям для повышения конфиденциальности и безопасности в интернете. Вот несколько наиболее подходящих решений:
1. Mozilla Firefox и расширение Multi-Account Containers
Firefox предоставляет механизм, известный как "Контейнеры", который позволяет изолировать данные (cookies, localStorage, indexedDB и кэш) между вкладками. Это означает, что сайты в одном контейнере будут изолированы от сайтов в другом.
- Firefox Multi-Account Containers: Это расширение позволяет создавать разные контейнеры для различных сессий. Оно позволяет настроить конфигурацию по умолчанию для новых вкладок в зависимости от URL или домена. Через расширение можно переключать вкладки между контейнерами.
- Также доступно расширение Containerise, которое помогает автоматически открывать веб-сайты в определенном контейнере.
2. Ghost Browser
Ghost Browser специально разработан для многовременного входа в аккаунты. Каждая новая вкладка может быть помещена в новую сессию, что позволяет четко отличать их по цветам. Браузер поддерживает переполнение при перезапуске, сохраняя ассоциации между вкладками и сессиями. Этот браузер также позволяет использовать отдельные прокси для каждой сессии.
3. Microsoft Edge
Microsoft Edge поддерживает изоляцию веб-сайтов через Microsoft Defender Application Guard. Эта функция изолирует веб-сайты как друг от друга, так и от жесткого диска компьютера, что делает его безопасным для работы с потенциально вредоносным содержимым. Однако возможности этого браузера могут быть ограничены по сравнению с Firefox и Ghost Browser, и могут требовать дополнительных настроек.
4. Google Chrome и расширения
Несмотря на то, что Chrome не предоставляет встроенной функции изоляции вкладок, доступные расширения могут помочь достичь желаемого результата:
- SessionBox: Это расширение позволяет создавать неограниченное количество локальных сессий и синхронизировать их между устройствами.
5. Разделение профилей в Firefox и Chrome
Вы также можете воспользоваться возможностью запуска отдельных профилей пользователей для управления сессиями.
- Для Firefox: Используйте параметры
-no-remote -P
при запуске для создания нового профиля. - Для Chrome: Создайте новые профили, добавив
--user-data-dir=[путь]
в ярлык.
6. Tails
Если вы ищете решение с повышенной конфиденциальностью, Tails – это операционная система, работающая в режиме "live" и использующая сеть Tor. Она обеспечивает большую степень анонимности и изоляции, но требует физического доступа к оборудованию и не подойдет для повседневного использования.
Вывод
Из рассматриваемых вариантов наиболее полное решение предоставляет комбинация Firefox с расширениями Multi-Account Containers и Containerise, поскольку они обеспечивают гибкость управления сессиями и устойчивую изоляцию данных. Ghost Browser также является сильным кандидатом с точки зрения удобства и функционала. Microsoft Edge может быть полезен для специфических нужд, но требует настроек для полной изоляции. Если ваша основная цель – защита вашей конфиденциальности, стоит рассмотреть использование Tails в определенных ситуациях.