- Joined
- Feb 17, 2007
- Messages
- 678
- Reaction score
- 1,026
- Points
- 93
Курс условно разделен на две части: базовая и продвинутая версии.
Напоминаем, что продвинутая настройка потребует вдумчивого прочтения и как минимум нескольких дней целенаправленной работы.
Архитектура базовой версии
Хост-машина выходит в интернет через VPN-сервис с правилами брандмауэра для предотвращения утечек. На хосте работает VirtualBox, а для разделения и изоляции деятельности существует несколько рабочих ВМ Linux. Каждая ВМ рабочей среды Linux изначально выходит в интернет через VPN-службу хост-машины. Затем она подключается к интернету через другую службу VPN или через сеть Tor. Для предотвращения утечек настроены правила фаервола. Для подключения к сети Tor в руководстве используется Whonix, состоящий из шлюза Tor и рабочей ВМ на базе Linux (Debian, Ubuntu).VirtualBox по умолчанию изолирует ресурсы (хранилище, память и обработку), которые использует каждая ВМ, как от себя, так и от других ВМ. Хотя ВМ рабочей области Linux (и ВМ шлюза Whonix) используют VPN-соединение с хост-машиной через трансляцию сетевых адресов (NAT), VirtualBox не разрешает трафик между ВМ при такой схеме. ВМ рабочего пространства Linux (и ВМ рабочей станции Whonix) также изолированы друг от друга в интернете, поскольку имеют разные IP-адреса и сетевые задержки.
Поскольку Whonix изолирует рабочее пространство и сеть в отдельных ВМ, он противостоит атакам, которые компрометируют или обходят правила Tor и/или брандмауэра. Однако VPN-клиент, запущенный в каждой ВМ рабочего пространства Linux, уязвим для таких атак. Но даже в этом случае VPN-клиент, работающий на хосте, изолирован, поэтому ущерб от него ограничен.
Архитектура продвинутой версии
В этой части представлена расширенная настройка, обеспечивающая гораздо большую конфиденциальность, анонимность и свободу по сравнению с базовой настройкой. В ней используется компартментализация и изоляция с помощью нескольких виртуальных машин (ВМ) с доступом в интернет через произвольно сложные вложенные и разветвленные цепочки VPN и Tor.Продвинутая настройка в целом похожа на базовую.
Хост-машина выходит в интернет через VPN-сервис с правилами брандмауэра для предотвращения утечек. Для разделения и изоляции деятельности существует несколько рабочих сред Linux, а различные рабочие среды независимо выходят в Интернет через VPN-сервисы или сеть Tor. Легко предотвратить профилирование и слежку, используя несколько псевдонимов в нескольких ВМ рабочего пространства с разными IP-адресами в Интернете. Влияние вредоносного ПО и взлома ограничено, если сетевые сервисы ВМ и VPN-клиент не скомпрометированы или не обойдены.
Однако расширенная настройка значительно превосходит базовую по нескольким ключевым параметрам. Вместо того чтобы использовать существующую и потенциально взломанную систему (обычно Windows или macOS) в качестве хоста ВМ, в данной конфигурации используется свежая система Linux. Поскольку Linux имеет открытый исходный код, риск наличия бэкдоров также ниже. Кроме того, поскольку большинство дистрибутивов Linux являются бесплатными, нет никакого денежного следа, который мог бы связать вас с ключом продукта или другой уникальной информацией в установке.
В продвинутой конфигурации все рабочие пространства и сетевые сервисы (VPN- и Tor-клиенты) изолированы в отдельных ВМ рабочих пространств и шлюзов (ВМ pfSense VPN-клиента и ВМ Tor-клиента). Атаки, использующие уязвимости в приложениях и пользователях, не могут добраться до сетевых служб, если они не могут также скомпрометировать или обойти барьеры между ВМ и хостом. А поскольку ВМ рабочего пространства могут выходить в интернет только через ВМ шлюза, то доступ к удаленным ресурсам при поломке шлюза невозможен, за исключением преднамеренной ошибки пользователя.
Более того, в этой системе расположение виртуальных машин-шлюзов и внутренних сетей VirtualBox прозрачно создает слои зашифрованных инструкций маршрутизации, которые затем направляют пакеты через заданные цепочки VPN-серверов и входных ретрансляторов Tor. То есть маршрутизация пакетов через интернет отражает локальную маршрутизацию шлюзовых ВМ в VirtualBox. Используя графический интерфейс VirtualBox, можно создавать и модифицировать произвольно сложные вложенные и разветвленные цепочки VPN- и Tor-соединений. Также можно автоматизировать изменение топологии маршрутизации с помощью интерфейса командной строки VBoxManage (не входит в данное руководство).
К слову, это простая (и статическая) реализация луковой маршрутизации по определению:
Луковая маршрутизация – это техника анонимной передачи данных по компьютерной сети. Сообщения многократно шифруются и затем передаются через несколько узлов сети, называемых луковыми маршрутизаторами. Подобно тому, как человек очищает луковицу, каждый маршрутизатор снимает слой шифрования, чтобы раскрыть инструкции по маршрутизации, и отправляет сообщение на следующий маршрутизатор, где все повторяется. Таким образом, промежуточные узлы не могут узнать о происхождении, месте назначения и содержании сообщения.
Предварительные соображения о конфиденциальности
Коротко: в идеале местные (локальные) наблюдатели должны видеть только то, что вы используете службу VPN, и ничего больше. Если вы будете использовать несколько VPN, как описано ниже, то лучше всего выбрать одну, к которой вы будете подключаться напрямую. Постоянное использование только одного VPN-сервиса с прямым подключением, пожалуй, привлекает меньше внимания, чем использование многих VPN-сервисов и Tor.Если вы уже используете какой-либо VPN-сервис, то лучше всего использовать его в качестве VPN с прямым подключением, если он обеспечивает конфиденциальность и достаточную производительность. Подключение к текущему VPN-сервису через новый VPN с прямым подключением, вероятно, не имеет смысла, так как потенциально существуют записи, связывающие ваш аккаунт с IP-адресом, присвоенным провайдером.
Если вы еще не пользуетесь VPN-сервисом, самое время выбрать тот, к которому вы будете подключаться напрямую. Для VPN с прямым подключением ключевыми характеристиками являются скорость (низкая задержка), нелимитированное использование (пропускная способность) и популярность (чтобы вы меньше выделялись).
Как правило, вы будете использовать только одно прямое VPN-соединение, поэтому лучше зарезервировать сервисы, допускающие несколько одновременных подключений и имеющие выходные серверы во многих странах, для использования в качестве непрямых VPN (доступ к которым вы будете получать через VPN с прямым соединением).Выбор между популярным или небольшим частным VPN – нетривиальная задача. С одной стороны, в популярном публичном VPN вы легко затеряетесь среди остальных пользователей, которые даже могут совершать те же действия, что и вы. Но популярные сервисы подвержены проблемам со скоростью, более интенсивным блокировкам и часто активно выдают все данные по запросу. С другой стороны, есть непубличные или самодельные VPN, которыми пользуетесь только вы. В этом случае системы наблюдения видят, что к иностранному серверу подключается только один пользователь, что не очень хорошо. Здесь очень много нюансов, о которых поговорим подробнее позже.
Если вы уже не используете VPN-сервис и/или Tor, установите выбранный вами VPN-клиент прямого подключения на машину, на которой вы читаете эту статью, следуя инструкциям провайдера.
Использование вложенных цепочек VPN и Tor для распределения доверия
Важно помнить, что, используя VPN-сервисы, мы просто переносим доверие с интернет-провайдера и правительства на VPN-провайдера (а если используем самодельный VPN, то на хостинг-провайдера). Мы можем выбрать VPN-провайдера, который использует несколько звеньев (Double- & Triple-VPN), обещает не вести журналы, тщательно разделяет данные нашей учетной записи и своих VPN-серверов и даже заявляет, что переедет или закроется, не нарушив нашу конфиденциальность. Но нет надежного способа узнать, оправдано ли наше доверие, если только мы не обнаружим, что оно не оправдано.Поэтому, если конфиденциальность и псевдонимность действительно важны для нас, не стоит полагаться только на одного VPN-провайдера. Вместо этого мы можем распределять доверие, прокладывая один VPN-туннель через другой, от другого провайдера. В более общем случае мы можем создавать вложенные цепочки VPN-туннелей от нескольких провайдеров. Для того чтобы нарушить нашу конфиденциальность, противнику потребуется скомпрометировать или подменить большинство (если не все) VPN-сервисов в нашей цепочке (цепочках).
Однако такой подход уязвим, по крайней мере, с двух точек зрения.
Во-первых, к внутренним (в топологическом смысле) VPN-сервисам, к которым мы получаем косвенный доступ через другие VPN-сервисы, могут быть проложены денежные тропы. Лучший вариант – оплата криптовалютой.
Во-вторых, некоторые (или все) VPN-сервисы в нашей цепочке (цепочках) могут быть уязвимы для компрометации или подрывной деятельности со стороны широко изобретательных противников. Для снижения этого риска целесообразно выбирать провайдеров, которые работают из слабо взаимодействующих геополитических сфер влияния (SOI). Лучше всего избегать провайдеров из SOI, в которой вы проживаете. Для VPN с прямым подключением, вероятно, лучше выбрать провайдера в относительно нейтральной SOI, которая не привлекает особого внимания. Для терминальной/крайней VPN, вероятно, лучше выбрать провайдера в точно не сотрудничающей SOI. Если вы используете три или более VPN, то для средних VPN лучше чередовать различные SOI с плохим взаимодействием.
Мы также можем положиться (до определенной степени) на Tor – очень сложную реализацию луковой маршрутизации, где доверие по замыслу распределяется между множеством участников с разными целями. Он обеспечивает гораздо большую анонимность, чем VPN (даже сложные вложенные цепочки VPN). Однако настройка приложений для корректного использования Tor (без утечек) – задача нетривиальная, и лучше всего использовать готовые пакеты.
Tor Browser включает в себя Tor и оптимизированную для анонимности версию Firefox от Tor Project. Несмотря на простоту установки и использования, он уязвим для эксплойтов вредоносных программ и утечек из приложений, неправильно настроенных пользователями. The Amnesic Incognito Live System (Tails) – это LiveCD (по умолчанию только для чтения), который также может быть запущен как виртуальная машина. На нем уже настроено множество приложений. Однако он все еще уязвим для эксплойтов вредоносных программ, обходящих Tor. Whonix изолирует рабочее пространство и сетевые сервисы в отдельных ВМ шлюза и рабочей станции. Это защищает от деанонимизации в результате ошибки пользователя, неправильной настройки приложений или использования вредоносного ПО.
Лучше всего включать Tor в конце вложенных цепочек VPN. VPN-сервисы популярны для обмена файлами P2P, и их использование, пожалуй, привлекает меньше нежелательного внимания, чем использование Tor, за исключением случаев, когда обмен файлами и инакомыслие запрещены. Доступ к сети Tor в некоторых местах заблокирован. Обойти блокировку можно, подключившись через мостовые ретрансляторы. Однако по мере выявления и блокировки мостовых ретрансляторов пользователям приходится переходить на новые. Учитывая процесс проб и ошибок при использовании мостовых реле, они не позволяют надежно скрыть использование Tor. Безопаснее всего использовать как VPN, так и обфусцированные мосты, которые маскируют трафик Tor.
Некоторые сайты не принимают соединения с выходными реле Tor. Некоторые сайты блокируют все выходы из Tor, другие – только те, которые находятся в различных черных списках. Простым решением является маршрутизация VPN-сервиса через Tor.
Предотвращение VPN-утечек
VPN-соединения подвержены (по крайней мере) двум типам утечек. Один тип связан с DNS-серверами. Обычно после того, как VPN-клиент запрашивает соединение, сервер настраивает туннель и передает клиенту необходимую информацию. Сюда входят изменения в сетевой маршрутизации, так что весь интернет-трафик использует VPN-туннель, и DNS-серверы, к которым нужно обратиться для трансляции имен хостов в IP-адреса.Но если что-то пойдет не так, клиентская машина может вместо этого запросить DNS-серверы, предоставленные провайдером. Это может раскрыть личность тем, кто наблюдает за сервером выхода из VPN. Кроме того, провайдер может узнать, к каким доменам осуществляется доступ. Если провайдер видит как трафик пользователя на входном сервере VPN, так и запросы к его DNS-серверам, то временной анализ может легко показать, к каким доменам обращается пользователь. Другими словами, VPN для этого пользователя будет скомпрометирована.
Предотвращение таких утечек DNS может оказаться нетривиальной задачей. Для этого может потребоваться временное жесткое кодирование DNS-серверов VPN в сетевой конфигурации клиентской машины и отмена этого кодирования после закрытия VPN-соединения. Кстати, именно так и должен поступать VPN-клиент, но иногда это не работает, особенно в редких операционных системах, которые конфигурация VPN поддерживает не полностью.
Другой тип утечки связан с тем, что трафик, минуя VPN-туннель, попадает в интернет напрямую. Операционная система может неправильно реализовать изменения в сетевой маршрутизации, внесенные VPN-сервером, чтобы направить весь интернет-трафик через VPN-туннель. Или же VPN-соединение может каким-либо образом не работать. Например, серверы могут выйти из строя, программное обеспечение VPN-клиента может зависнуть или умереть, возможно, после периодических перебоев в работе сети. Какова бы ни была причина, очень важно, чтобы подключение к интернету осуществлялось только через VPN-туннель, даже если VPN-соединение неправильно настроено или каким-либо образом не работает.
В этом обучающем материале мы используем протоколы OpenVPN и WireGuard в качестве основных. Хотя эти протоколы блокируются в некоторых местах, не стоит сразу их отметать. OpenVPN – проверенный временем и стабильный протокол, поддержка которого внедрена в ядра большинства ОС. WireGuard – современный, быстрый и простой протокол. К тому же существует несколько способов обфусцировать OpenVPN и WireGuard, сделав и “невидимым” для провайдера. Однако это тема для более продвинутых руководств.
Некоторые провайдеры VPN используют собственные клиенты, которые, по некоторым данным, закрыты от сбоев. Но в целом единственными надежными средствами защиты являются сетевая маршрутизация и правила брандмауэра, ограничивающие сетевое подключение к VPN-туннелю.Технология OpenVPN изначально была разработана для обеспечения безопасного подключения к удаленным сетям, а не для обеспечения анонимности в интернете. По умолчанию в OpenVPN интернет-трафик выходит локально, чтобы сэкономить пропускную способность VPN. Хотя настроить VPN-туннели на передачу всего сетевого трафика несложно, трудно предотвратить использование трафика физического адаптера клиентской машины после завершения работы программы VPN-клиента. По умолчанию все изменения в сетевой маршрутизации, сделанные при подключении VPN, отменяются при отключении VPN. Это, как правило, хорошо, поскольку в противном случае пользователи могут остаться без доступа к интернету (даже для повторного подключения VPN).
Использование виртуальных машин pfSense в качестве VPN-клиентов
Для безопасной прокладки одного VPN-туннеля через другой без утечек на отдельной машине требуются сетевые виртуальные машины (ВМ), выполняющие роль шлюзовых маршрутизаторов. Более того, можно создавать произвольно сложные вложенные и разветвленные цепочки VPN (и Tor).pfSense, защищенная операционная система маршрутизатора/брандмауэра, основанная на FreeBSD, является подходящим выбором для ВМ VPN-клиентов. ВМ pfSense малы и не требуют больших ресурсов. Создание VPN-соединений и предотвращение утечек достаточно просто в pfSense. Веб-интерфейс pfSense WebGUI интуитивно понятен и при этом открывает практически все возможности для создания виртуального роутера с VPN и фаерволом. Использование виртуальных машин pfSense в качестве VPN-клиентов рассматривается в следующих частях.
Визуализация вложенных VPN-туннелей
Цепочки вложенных VPN-туннелей обеспечивают лучшую конфиденциальность и анонимность доступа к серверам контента, входным ретрансляторам Tor, пирам P2P-сетей (таких как BitTorrent, Freenet и I2P) и другим удаленным серверам. При отсутствии VPN удаленные серверы видят ваш IP-адрес, присвоенный провайдером. И наоборот, ваш провайдер и другие локальные наблюдатели видят IP-адреса удаленных серверов. И если соединения не шифруются из конца в конец (E2EE), они могут подслушивать и осуществлять атаки типа "человек посередине" (MITM).При использовании одной VPN удаленные серверы контента видят IP-адрес выхода VPN. Ваш провайдер и другие локальные наблюдатели видят IP-адрес входа VPN, а сам VPN-туннель зашифрован. Однако провайдер VPN знает как IP-адрес, назначенный вашим провайдером, так и IP-адреса удаленных серверов.
При использовании двух вложенных VPN удаленные серверы содержимого видят выходной IP-адрес второй (внутренней) VPN. Ваш провайдер и другие локальные наблюдатели видят входной IP-адрес первой (внешней) VPN. Оба VPN-туннеля зашифрованы. Ни один из VPN-провайдеров не знает ни IP-адреса, назначенного вашим провайдером, ни IP-адреса удаленных серверов. Первый (внешний) VPN-провайдер знает ваш IP-адрес, назначенный провайдером, а также входной IP-адрес второй (внутренней) VPN. Второй (внутренний) VPN-провайдер знает IP-адреса удаленных серверов контента, а также выходной IP-адрес первого (внешнего) VPN.
При наличии трех и более вложенных VPN информация о вашей интернет-активности будет еще более фрагментированной, и ее будет сложнее скомпрометировать. Однако по мере увеличения глубины вложенности VPN-туннелей удобство использования ограничивается двумя факторами. Во-первых, каждый уровень VPN добавляет 50-100 мс задержки, а также может ограничивать пропускную способность. Во-вторых, общая надежность (являющаяся продуктом надежности отдельных VPN) становится ниже.
Планирование начальной установки
Каждый кусочек пазла обозначает выход VPN с неизменным IP-адресом, общим для всех пользователей. Два VPN-сервиса (VPN1 и VPN2) образуют магистраль. Третий VPN-сервис, маршрутизируемый через VPN2, обеспечивает несколько одновременных выходов (VPN3a и VPN3b). Клиент Tor, также маршрутизируемый через VPN2, обеспечивает доступ в интернет через облако часто меняющихся IP-адресов выхода, которые используются многими другими пользователями. Наконец, четвертый VPN-сервис (VPN4) маршрутизируется через Tor-соединение.
Каждый VPN-туннель во вложенной цепочке обеспечивает определенную степень разделения и анонимности. Степень зависит от таких факторов, как количество одновременно работающих пользователей, то, что сервис записывает в журнал, и доступность этих журналов для противников. Но, как правило, наибольший риск быть связанным с выходом VPN1, меньший – с выходом VPN2 и еще меньший – с выходами VPN3a и VPN3b. Соединения Tor, вероятно, обеспечивают гораздо большее разделение и анонимность, поэтому риск ассоциации через облако выхода Tor гораздо меньше, чем через выходы VPN3.
Однако маршрутизация VPN4 через Tor-соединение ослабляет анонимность. Это очевидно, если от вас к VPN4 ведут почтовые или денежные следы. Но даже бесплатные VPN-сервисы, не имеющие таких связей, ослабляют анонимность Tor. Клиенты Tor планируют и тестируют множество схем с различными путями и выходными реле. Обычно они используют несколько параллельных цепей для изоляции потоков данных приложений и часто меняют цепи. Но после создания VPN-туннеля по определенной схеме клиент Tor не может переместить его на другую схему, пока не отключится и не подключится снова. Несмотря на это, выход VPN4 потенциально гораздо меньше связан с выходом VPN2, чем выход VPN2 с вами.
Все, кто использует данный сервер выхода VPN, имеют один и тот же IP-адрес. Это хорошо, поскольку скученность повышает анонимность. Однако использование одного VPN-выхода для нескольких псевдонимов несколько непродуктивно, учитывая общий IP-адрес. Поэтому лучше всего использовать только один основной псевдоним для каждой ВМ VPN-клиента pfSense и соответствующего ей VPN-выхода и позиции в общей цепочке вложенных VPN.
Кроме того, лучше, чтобы каждый псевдоним постоянно использовал определенный выход VPN. Изменение IP-адреса может вызвать требования проверки учетной записи у некоторых сервисов и даже привести к внесению в "черный список". В Tor этого трудно избежать, поскольку клиенты используют несколько параллельных цепей (включая выходные реле) для изоляции потоков данных приложений и часто меняют их. Через Tor можно прокладывать VPN, но это снижает анонимность.
При создании и использовании таких настроек необходимо помнить, что связь между вами и различными элементами – IP-адресами выходов, а также псевдонимами и рабочими станциями, которые их используют, – никогда не может быть уменьшена, а только увеличена. Например, рассмотрим VPN4, маршрутизированный через Tor. Если вы используете это соединение с псевдонимом или рабочей станцией, которые более тесно связаны с вами, то разумно предположить, что эта связь сохранится. Или рассмотрим псевдоним, созданный с помощью VPN4. Использование этого псевдонима без Tor, даже через вложенные VPN, навсегда связывает его с вами.
Несколько псевдонимов никогда не должны использовать одну ВМ рабочей станции, учитывая риск перекрестной корреляции через обычное отслеживание, вредоносное ПО и активные атаки. Также целесообразно разделить информацию для данного псевдонима между несколькими ВМ рабочих станций. Одна ВМ рабочей станции может служить для обычной работы в интернете. Использование бездисковой ВМ с LiveCD обеспечит некоторую защиту при посещении сомнительных сайтов или открытии сомнительных файлов. На другой ВМ рабочей станции может располагаться клиент криптовалютного кошелька и храниться другая финансовая информация. Особо конфиденциальная информация может быть защищена на одной или нескольких ВМ, которые постоянно находятся в автономном режиме и никогда не используют локальные сети совместно с потенциально скомпрометированными ВМ.
В частности, рабочая станция не должна содержать информацию об учетной записи VPN, через которую она подключается. Удаленные серверы видят IP-адреса VPN-выходов и даже могут сообщать их в сообщениях форумов или заголовках электронной почты. Однако такие данные учетной записи, как адрес электронной почты и способ оплаты, могут раскрыть истинную личность (или, по крайней мере, более слабый псевдоним). Хотя информация о VPN-сервисах, приобретаемых для расширения вложенной цепочки VPN, менее конфиденциальна, ее (как и другую финансовую информацию) разумно отделять от обычной сетевой активности.
Это проблематично, поскольку для настройки и управления ВМ pfSense требуются ВМ рабочей станции для доступа к веб-интерфейсу pfSense. Для настройки VPN-клиента ВМ рабочей станции должны иметь учетные данные VPN, которые могут быть связаны с адресом электронной почты и способом оплаты. Чтобы снизить риск компрометации и перекрестной корреляции, лучше всего администрировать каждую ВМ VPN-клиента pfSense с помощью выделенной ВМ рабочей станции, которая не содержит информации о псевдонимах, подключающихся через эту ВМ pfSense. Мы покажем, как это сделать.
By Vergil & Pavluu
| часть 1 | часть 3 | часть 4 | часть 5 |
Источник
Attachments
Original message
Курс условно разделен на две части: базовая и продвинутая версии.
Напоминаем, что продвинутая настройка потребует вдумчивого прочтения и как минимум нескольких дней целенаправленной работы.
Архитектура базовой версии
Хост-машина выходит в интернет через VPN-сервис с правилами брандмауэра для предотвращения утечек. На хосте работает VirtualBox, а для разделения и изоляции деятельности существует несколько рабочих ВМ Linux. Каждая ВМ рабочей среды Linux изначально выходит в интернет через VPN-службу хост-машины. Затем она подключается к интернету через другую службу VPN или через сеть Tor. Для предотвращения утечек настроены правила фаервола. Для подключения к сети Tor в руководстве используется Whonix, состоящий из шлюза Tor и рабочей ВМ на базе Linux (Debian, Ubuntu).VirtualBox по умолчанию изолирует ресурсы (хранилище, память и обработку), которые использует каждая ВМ, как от себя, так и от других ВМ. Хотя ВМ рабочей области Linux (и ВМ шлюза Whonix) используют VPN-соединение с хост-машиной через трансляцию сетевых адресов (NAT), VirtualBox не разрешает трафик между ВМ при такой схеме. ВМ рабочего пространства Linux (и ВМ рабочей станции Whonix) также изолированы друг от друга в интернете, поскольку имеют разные IP-адреса и сетевые задержки.
Поскольку Whonix изолирует рабочее пространство и сеть в отдельных ВМ, он противостоит атакам, которые компрометируют или обходят правила Tor и/или брандмауэра. Однако VPN-клиент, запущенный в каждой ВМ рабочего пространства Linux, уязвим для таких атак. Но даже в этом случае VPN-клиент, работающий на хосте, изолирован, поэтому ущерб от него ограничен.
Архитектура продвинутой версии
В этой части представлена расширенная настройка, обеспечивающая гораздо большую конфиденциальность, анонимность и свободу по сравнению с базовой настройкой. В ней используется компартментализация и изоляция с помощью нескольких виртуальных машин (ВМ) с доступом в интернет через произвольно сложные вложенные и разветвленные цепочки VPN и Tor.Продвинутая настройка в целом похожа на базовую.
Хост-машина выходит в интернет через VPN-сервис с правилами брандмауэра для предотвращения утечек. Для разделения и изоляции деятельности существует несколько рабочих сред Linux, а различные рабочие среды независимо выходят в Интернет через VPN-сервисы или сеть Tor. Легко предотвратить профилирование и слежку, используя несколько псевдонимов в нескольких ВМ рабочего пространства с разными IP-адресами в Интернете. Влияние вредоносного ПО и взлома ограничено, если сетевые сервисы ВМ и VPN-клиент не скомпрометированы или не обойдены.
Однако расширенная настройка значительно превосходит базовую по нескольким ключевым параметрам. Вместо того чтобы использовать существующую и потенциально взломанную систему (обычно Windows или macOS) в качестве хоста ВМ, в данной конфигурации используется свежая система Linux. Поскольку Linux имеет открытый исходный код, риск наличия бэкдоров также ниже. Кроме того, поскольку большинство дистрибутивов Linux являются бесплатными, нет никакого денежного следа, который мог бы связать вас с ключом продукта или другой уникальной информацией в установке.
В продвинутой конфигурации все рабочие пространства и сетевые сервисы (VPN- и Tor-клиенты) изолированы в отдельных ВМ рабочих пространств и шлюзов (ВМ pfSense VPN-клиента и ВМ Tor-клиента). Атаки, использующие уязвимости в приложениях и пользователях, не могут добраться до сетевых служб, если они не могут также скомпрометировать или обойти барьеры между ВМ и хостом. А поскольку ВМ рабочего пространства могут выходить в интернет только через ВМ шлюза, то доступ к удаленным ресурсам при поломке шлюза невозможен, за исключением преднамеренной ошибки пользователя.
Более того, в этой системе расположение виртуальных машин-шлюзов и внутренних сетей VirtualBox прозрачно создает слои зашифрованных инструкций маршрутизации, которые затем направляют пакеты через заданные цепочки VPN-серверов и входных ретрансляторов Tor. То есть маршрутизация пакетов через интернет отражает локальную маршрутизацию шлюзовых ВМ в VirtualBox. Используя графический интерфейс VirtualBox, можно создавать и модифицировать произвольно сложные вложенные и разветвленные цепочки VPN- и Tor-соединений. Также можно автоматизировать изменение топологии маршрутизации с помощью интерфейса командной строки VBoxManage (не входит в данное руководство).
К слову, это простая (и статическая) реализация луковой маршрутизации по определению:
Луковая маршрутизация – это техника анонимной передачи данных по компьютерной сети. Сообщения многократно шифруются и затем передаются через несколько узлов сети, называемых луковыми маршрутизаторами. Подобно тому, как человек очищает луковицу, каждый маршрутизатор снимает слой шифрования, чтобы раскрыть инструкции по маршрутизации, и отправляет сообщение на следующий маршрутизатор, где все повторяется. Таким образом, промежуточные узлы не могут узнать о происхождении, месте назначения и содержании сообщения.
Предварительные соображения о конфиденциальности
Коротко: в идеале местные (локальные) наблюдатели должны видеть только то, что вы используете службу VPN, и ничего больше. Если вы будете использовать несколько VPN, как описано ниже, то лучше всего выбрать одну, к которой вы будете подключаться напрямую. Постоянное использование только одного VPN-сервиса с прямым подключением, пожалуй, привлекает меньше внимания, чем использование многих VPN-сервисов и Tor.Если вы уже используете какой-либо VPN-сервис, то лучше всего использовать его в качестве VPN с прямым подключением, если он обеспечивает конфиденциальность и достаточную производительность. Подключение к текущему VPN-сервису через новый VPN с прямым подключением, вероятно, не имеет смысла, так как потенциально существуют записи, связывающие ваш аккаунт с IP-адресом, присвоенным провайдером.
Если вы еще не пользуетесь VPN-сервисом, самое время выбрать тот, к которому вы будете подключаться напрямую. Для VPN с прямым подключением ключевыми характеристиками являются скорость (низкая задержка), нелимитированное использование (пропускная способность) и популярность (чтобы вы меньше выделялись).
Как правило, вы будете использовать только одно прямое VPN-соединение, поэтому лучше зарезервировать сервисы, допускающие несколько одновременных подключений и имеющие выходные серверы во многих странах, для использования в качестве непрямых VPN (доступ к которым вы будете получать через VPN с прямым соединением).Выбор между популярным или небольшим частным VPN – нетривиальная задача. С одной стороны, в популярном публичном VPN вы легко затеряетесь среди остальных пользователей, которые даже могут совершать те же действия, что и вы. Но популярные сервисы подвержены проблемам со скоростью, более интенсивным блокировкам и часто активно выдают все данные по запросу. С другой стороны, есть непубличные или самодельные VPN, которыми пользуетесь только вы. В этом случае системы наблюдения видят, что к иностранному серверу подключается только один пользователь, что не очень хорошо. Здесь очень много нюансов, о которых поговорим подробнее позже.
Если вы уже не используете VPN-сервис и/или Tor, установите выбранный вами VPN-клиент прямого подключения на машину, на которой вы читаете эту статью, следуя инструкциям провайдера.
Использование вложенных цепочек VPN и Tor для распределения доверия
Важно помнить, что, используя VPN-сервисы, мы просто переносим доверие с интернет-провайдера и правительства на VPN-провайдера (а если используем самодельный VPN, то на хостинг-провайдера). Мы можем выбрать VPN-провайдера, который использует несколько звеньев (Double- & Triple-VPN), обещает не вести журналы, тщательно разделяет данные нашей учетной записи и своих VPN-серверов и даже заявляет, что переедет или закроется, не нарушив нашу конфиденциальность. Но нет надежного способа узнать, оправдано ли наше доверие, если только мы не обнаружим, что оно не оправдано.Поэтому, если конфиденциальность и псевдонимность действительно важны для нас, не стоит полагаться только на одного VPN-провайдера. Вместо этого мы можем распределять доверие, прокладывая один VPN-туннель через другой, от другого провайдера. В более общем случае мы можем создавать вложенные цепочки VPN-туннелей от нескольких провайдеров. Для того чтобы нарушить нашу конфиденциальность, противнику потребуется скомпрометировать или подменить большинство (если не все) VPN-сервисов в нашей цепочке (цепочках).
Однако такой подход уязвим, по крайней мере, с двух точек зрения.
Во-первых, к внутренним (в топологическом смысле) VPN-сервисам, к которым мы получаем косвенный доступ через другие VPN-сервисы, могут быть проложены денежные тропы. Лучший вариант – оплата криптовалютой.
Во-вторых, некоторые (или все) VPN-сервисы в нашей цепочке (цепочках) могут быть уязвимы для компрометации или подрывной деятельности со стороны широко изобретательных противников. Для снижения этого риска целесообразно выбирать провайдеров, которые работают из слабо взаимодействующих геополитических сфер влияния (SOI). Лучше всего избегать провайдеров из SOI, в которой вы проживаете. Для VPN с прямым подключением, вероятно, лучше выбрать провайдера в относительно нейтральной SOI, которая не привлекает особого внимания. Для терминальной/крайней VPN, вероятно, лучше выбрать провайдера в точно не сотрудничающей SOI. Если вы используете три или более VPN, то для средних VPN лучше чередовать различные SOI с плохим взаимодействием.
Мы также можем положиться (до определенной степени) на Tor – очень сложную реализацию луковой маршрутизации, где доверие по замыслу распределяется между множеством участников с разными целями. Он обеспечивает гораздо большую анонимность, чем VPN (даже сложные вложенные цепочки VPN). Однако настройка приложений для корректного использования Tor (без утечек) – задача нетривиальная, и лучше всего использовать готовые пакеты.
Tor Browser включает в себя Tor и оптимизированную для анонимности версию Firefox от Tor Project. Несмотря на простоту установки и использования, он уязвим для эксплойтов вредоносных программ и утечек из приложений, неправильно настроенных пользователями. The Amnesic Incognito Live System (Tails) – это LiveCD (по умолчанию только для чтения), который также может быть запущен как виртуальная машина. На нем уже настроено множество приложений. Однако он все еще уязвим для эксплойтов вредоносных программ, обходящих Tor. Whonix изолирует рабочее пространство и сетевые сервисы в отдельных ВМ шлюза и рабочей станции. Это защищает от деанонимизации в результате ошибки пользователя, неправильной настройки приложений или использования вредоносного ПО.
Лучше всего включать Tor в конце вложенных цепочек VPN. VPN-сервисы популярны для обмена файлами P2P, и их использование, пожалуй, привлекает меньше нежелательного внимания, чем использование Tor, за исключением случаев, когда обмен файлами и инакомыслие запрещены. Доступ к сети Tor в некоторых местах заблокирован. Обойти блокировку можно, подключившись через мостовые ретрансляторы. Однако по мере выявления и блокировки мостовых ретрансляторов пользователям приходится переходить на новые. Учитывая процесс проб и ошибок при использовании мостовых реле, они не позволяют надежно скрыть использование Tor. Безопаснее всего использовать как VPN, так и обфусцированные мосты, которые маскируют трафик Tor.
Некоторые сайты не принимают соединения с выходными реле Tor. Некоторые сайты блокируют все выходы из Tor, другие – только те, которые находятся в различных черных списках. Простым решением является маршрутизация VPN-сервиса через Tor.
Предотвращение VPN-утечек
VPN-соединения подвержены (по крайней мере) двум типам утечек. Один тип связан с DNS-серверами. Обычно после того, как VPN-клиент запрашивает соединение, сервер настраивает туннель и передает клиенту необходимую информацию. Сюда входят изменения в сетевой маршрутизации, так что весь интернет-трафик использует VPN-туннель, и DNS-серверы, к которым нужно обратиться для трансляции имен хостов в IP-адреса.Но если что-то пойдет не так, клиентская машина может вместо этого запросить DNS-серверы, предоставленные провайдером. Это может раскрыть личность тем, кто наблюдает за сервером выхода из VPN. Кроме того, провайдер может узнать, к каким доменам осуществляется доступ. Если провайдер видит как трафик пользователя на входном сервере VPN, так и запросы к его DNS-серверам, то временной анализ может легко показать, к каким доменам обращается пользователь. Другими словами, VPN для этого пользователя будет скомпрометирована.
Предотвращение таких утечек DNS может оказаться нетривиальной задачей. Для этого может потребоваться временное жесткое кодирование DNS-серверов VPN в сетевой конфигурации клиентской машины и отмена этого кодирования после закрытия VPN-соединения. Кстати, именно так и должен поступать VPN-клиент, но иногда это не работает, особенно в редких операционных системах, которые конфигурация VPN поддерживает не полностью.
Другой тип утечки связан с тем, что трафик, минуя VPN-туннель, попадает в интернет напрямую. Операционная система может неправильно реализовать изменения в сетевой маршрутизации, внесенные VPN-сервером, чтобы направить весь интернет-трафик через VPN-туннель. Или же VPN-соединение может каким-либо образом не работать. Например, серверы могут выйти из строя, программное обеспечение VPN-клиента может зависнуть или умереть, возможно, после периодических перебоев в работе сети. Какова бы ни была причина, очень важно, чтобы подключение к интернету осуществлялось только через VPN-туннель, даже если VPN-соединение неправильно настроено или каким-либо образом не работает.
В этом обучающем материале мы используем протоколы OpenVPN и WireGuard в качестве основных. Хотя эти протоколы блокируются в некоторых местах, не стоит сразу их отметать. OpenVPN – проверенный временем и стабильный протокол, поддержка которого внедрена в ядра большинства ОС. WireGuard – современный, быстрый и простой протокол. К тому же существует несколько способов обфусцировать OpenVPN и WireGuard, сделав и “невидимым” для провайдера. Однако это тема для более продвинутых руководств.
Некоторые провайдеры VPN используют собственные клиенты, которые, по некоторым данным, закрыты от сбоев. Но в целом единственными надежными средствами защиты являются сетевая маршрутизация и правила брандмауэра, ограничивающие сетевое подключение к VPN-туннелю.Технология OpenVPN изначально была разработана для обеспечения безопасного подключения к удаленным сетям, а не для обеспечения анонимности в интернете. По умолчанию в OpenVPN интернет-трафик выходит локально, чтобы сэкономить пропускную способность VPN. Хотя настроить VPN-туннели на передачу всего сетевого трафика несложно, трудно предотвратить использование трафика физического адаптера клиентской машины после завершения работы программы VPN-клиента. По умолчанию все изменения в сетевой маршрутизации, сделанные при подключении VPN, отменяются при отключении VPN. Это, как правило, хорошо, поскольку в противном случае пользователи могут остаться без доступа к интернету (даже для повторного подключения VPN).
Использование виртуальных машин pfSense в качестве VPN-клиентов
Для безопасной прокладки одного VPN-туннеля через другой без утечек на отдельной машине требуются сетевые виртуальные машины (ВМ), выполняющие роль шлюзовых маршрутизаторов. Более того, можно создавать произвольно сложные вложенные и разветвленные цепочки VPN (и Tor).pfSense, защищенная операционная система маршрутизатора/брандмауэра, основанная на FreeBSD, является подходящим выбором для ВМ VPN-клиентов. ВМ pfSense малы и не требуют больших ресурсов. Создание VPN-соединений и предотвращение утечек достаточно просто в pfSense. Веб-интерфейс pfSense WebGUI интуитивно понятен и при этом открывает практически все возможности для создания виртуального роутера с VPN и фаерволом. Использование виртуальных машин pfSense в качестве VPN-клиентов рассматривается в следующих частях.
Визуализация вложенных VPN-туннелей
Цепочки вложенных VPN-туннелей обеспечивают лучшую конфиденциальность и анонимность доступа к серверам контента, входным ретрансляторам Tor, пирам P2P-сетей (таких как BitTorrent, Freenet и I2P) и другим удаленным серверам. При отсутствии VPN удаленные серверы видят ваш IP-адрес, присвоенный провайдером. И наоборот, ваш провайдер и другие локальные наблюдатели видят IP-адреса удаленных серверов. И если соединения не шифруются из конца в конец (E2EE), они могут подслушивать и осуществлять атаки типа "человек посередине" (MITM).При использовании одной VPN удаленные серверы контента видят IP-адрес выхода VPN. Ваш провайдер и другие локальные наблюдатели видят IP-адрес входа VPN, а сам VPN-туннель зашифрован. Однако провайдер VPN знает как IP-адрес, назначенный вашим провайдером, так и IP-адреса удаленных серверов.
При использовании двух вложенных VPN удаленные серверы содержимого видят выходной IP-адрес второй (внутренней) VPN. Ваш провайдер и другие локальные наблюдатели видят входной IP-адрес первой (внешней) VPN. Оба VPN-туннеля зашифрованы. Ни один из VPN-провайдеров не знает ни IP-адреса, назначенного вашим провайдером, ни IP-адреса удаленных серверов. Первый (внешний) VPN-провайдер знает ваш IP-адрес, назначенный провайдером, а также входной IP-адрес второй (внутренней) VPN. Второй (внутренний) VPN-провайдер знает IP-адреса удаленных серверов контента, а также выходной IP-адрес первого (внешнего) VPN.
При наличии трех и более вложенных VPN информация о вашей интернет-активности будет еще более фрагментированной, и ее будет сложнее скомпрометировать. Однако по мере увеличения глубины вложенности VPN-туннелей удобство использования ограничивается двумя факторами. Во-первых, каждый уровень VPN добавляет 50-100 мс задержки, а также может ограничивать пропускную способность. Во-вторых, общая надежность (являющаяся продуктом надежности отдельных VPN) становится ниже.
Планирование начальной установки
Каждый кусочек пазла обозначает выход VPN с неизменным IP-адресом, общим для всех пользователей. Два VPN-сервиса (VPN1 и VPN2) образуют магистраль. Третий VPN-сервис, маршрутизируемый через VPN2, обеспечивает несколько одновременных выходов (VPN3a и VPN3b). Клиент Tor, также маршрутизируемый через VPN2, обеспечивает доступ в интернет через облако часто меняющихся IP-адресов выхода, которые используются многими другими пользователями. Наконец, четвертый VPN-сервис (VPN4) маршрутизируется через Tor-соединение.
Каждый VPN-туннель во вложенной цепочке обеспечивает определенную степень разделения и анонимности. Степень зависит от таких факторов, как количество одновременно работающих пользователей, то, что сервис записывает в журнал, и доступность этих журналов для противников. Но, как правило, наибольший риск быть связанным с выходом VPN1, меньший – с выходом VPN2 и еще меньший – с выходами VPN3a и VPN3b. Соединения Tor, вероятно, обеспечивают гораздо большее разделение и анонимность, поэтому риск ассоциации через облако выхода Tor гораздо меньше, чем через выходы VPN3.
Однако маршрутизация VPN4 через Tor-соединение ослабляет анонимность. Это очевидно, если от вас к VPN4 ведут почтовые или денежные следы. Но даже бесплатные VPN-сервисы, не имеющие таких связей, ослабляют анонимность Tor. Клиенты Tor планируют и тестируют множество схем с различными путями и выходными реле. Обычно они используют несколько параллельных цепей для изоляции потоков данных приложений и часто меняют цепи. Но после создания VPN-туннеля по определенной схеме клиент Tor не может переместить его на другую схему, пока не отключится и не подключится снова. Несмотря на это, выход VPN4 потенциально гораздо меньше связан с выходом VPN2, чем выход VPN2 с вами.
Все, кто использует данный сервер выхода VPN, имеют один и тот же IP-адрес. Это хорошо, поскольку скученность повышает анонимность. Однако использование одного VPN-выхода для нескольких псевдонимов несколько непродуктивно, учитывая общий IP-адрес. Поэтому лучше всего использовать только один основной псевдоним для каждой ВМ VPN-клиента pfSense и соответствующего ей VPN-выхода и позиции в общей цепочке вложенных VPN.
Кроме того, лучше, чтобы каждый псевдоним постоянно использовал определенный выход VPN. Изменение IP-адреса может вызвать требования проверки учетной записи у некоторых сервисов и даже привести к внесению в "черный список". В Tor этого трудно избежать, поскольку клиенты используют несколько параллельных цепей (включая выходные реле) для изоляции потоков данных приложений и часто меняют их. Через Tor можно прокладывать VPN, но это снижает анонимность.
При создании и использовании таких настроек необходимо помнить, что связь между вами и различными элементами – IP-адресами выходов, а также псевдонимами и рабочими станциями, которые их используют, – никогда не может быть уменьшена, а только увеличена. Например, рассмотрим VPN4, маршрутизированный через Tor. Если вы используете это соединение с псевдонимом или рабочей станцией, которые более тесно связаны с вами, то разумно предположить, что эта связь сохранится. Или рассмотрим псевдоним, созданный с помощью VPN4. Использование этого псевдонима без Tor, даже через вложенные VPN, навсегда связывает его с вами.
Несколько псевдонимов никогда не должны использовать одну ВМ рабочей станции, учитывая риск перекрестной корреляции через обычное отслеживание, вредоносное ПО и активные атаки. Также целесообразно разделить информацию для данного псевдонима между несколькими ВМ рабочих станций. Одна ВМ рабочей станции может служить для обычной работы в интернете. Использование бездисковой ВМ с LiveCD обеспечит некоторую защиту при посещении сомнительных сайтов или открытии сомнительных файлов. На другой ВМ рабочей станции может располагаться клиент криптовалютного кошелька и храниться другая финансовая информация. Особо конфиденциальная информация может быть защищена на одной или нескольких ВМ, которые постоянно находятся в автономном режиме и никогда не используют локальные сети совместно с потенциально скомпрометированными ВМ.
В частности, рабочая станция не должна содержать информацию об учетной записи VPN, через которую она подключается. Удаленные серверы видят IP-адреса VPN-выходов и даже могут сообщать их в сообщениях форумов или заголовках электронной почты. Однако такие данные учетной записи, как адрес электронной почты и способ оплаты, могут раскрыть истинную личность (или, по крайней мере, более слабый псевдоним). Хотя информация о VPN-сервисах, приобретаемых для расширения вложенной цепочки VPN, менее конфиденциальна, ее (как и другую финансовую информацию) разумно отделять от обычной сетевой активности.
Это проблематично, поскольку для настройки и управления ВМ pfSense требуются ВМ рабочей станции для доступа к веб-интерфейсу pfSense. Для настройки VPN-клиента ВМ рабочей станции должны иметь учетные данные VPN, которые могут быть связаны с адресом электронной почты и способом оплаты. Чтобы снизить риск компрометации и перекрестной корреляции, лучше всего администрировать каждую ВМ VPN-клиента pfSense с помощью выделенной ВМ рабочей станции, которая не содержит информации о псевдонимах, подключающихся через эту ВМ pfSense. Мы покажем, как это сделать.
By Vergil & Pavluu
| часть 1 | часть 3 | часть 4 | часть 5 |
Источник