Свяжитесь с нами в мессанджерах или по телефону.

whatsapp telegram viber phone phone
+79214188555

Курс по приватности и анонимности с использованием VPN, Tor и Виртуальной машины. Часть 3

root

СисАдмин Форума
Команда форума
Действительный члены НП "МОД"
Регистрация
17 Февраль 2007
Сообщения
677
Реакции
1.022
Баллы
93
Возраст
57
7526f13b9d13ae0204be1.jpg


В этой базовой конфигурации хост-машина выходит в интернет через VPN-сервис с правилами брандмауэра для предотвращения утечек. На хосте установлен VirtualBox, а для разделения и изоляции деятельности существует несколько ВМ рабочего пространства Linux. Каждая ВМ рабочей среды Linux изначально выходит в интернет через VPN-службу хост-машины. Затем она подключается к интернету через другую службу VPN или через сеть Tor. Для предотвращения утечек существуют правила брандмауэра. Для подключения к Tor в руководстве используется Whonix, состоящий из шлюза Tor и ВМ рабочей станции на базе Linux (Debian).

VirtualBox по умолчанию изолирует ресурсы (хранилище, память и обработку), которые использует каждая ВМ, как от себя, так и от других ВМ. Хотя все ВМ рабочей станции Linux (и шлюзовая ВМ Whonix) используют VPN-соединение с хост-машиной через трансляцию сетевых адресов (NAT), VirtualBox не разрешает трафик между ВМ при такой схеме. ВМ рабочего пространства Linux (и ВМ рабочей станции Whonix) также изолированы друг от друга в интернете, поскольку имеют разные IP-адреса и сетевые задержки.

Поскольку Whonix изолирует рабочее пространство и сеть в отдельных ВМ, он противостоит атакам, которые компрометируют или обходят правила Tor и/или брандмауэра. Однако VPN-клиент, запущенный в каждой ВМ рабочего пространства Linux, уязвим для таких атак. Но даже в этом случае VPN-клиент, работающий на хосте, изолирован, поэтому ущерб от него ограничен. При продвинутой настройке все рабочие пространства и сеть (клиенты VPN и Tor) изолированы в отдельных ВМ.

Настройка VPN на хостовой машине​

Если вы уже используете VPN-сервис, можно перейти к следующему шагу. Если VPN-сервис еще не используется, выберите его и установите клиент, следуя инструкциям поставщика. Для Linux можно воспользоваться инструкциями, приведенными ниже.

Если вы еще не настроили правила фаервола для предотвращения утечек, будет разумно сделать это. Весь трафик (включая DNS-запросы) должен проходить через VPN-туннель, и при обрыве VPN-соединения не должно быть подключения к интернету. Также, на всякий случай, для DNS-запросов следует использовать DNS-серверы VPN-провайдера или надежные DNS-серверы сторонних производителей, а не DNS-серверы интернет-провайдера.

Ниже приведены инструкции по настройке фаервола UFW в Linux. Для Windows вы можете использовать (например, Comodo или simplewall), в macOS – LuLu.

Также целесообразно проверить наличие утечек. Ниже приведены инструкции по тестированию утечек в Linux. Аналогичный подход применим и в Windows или macOS, за исключением установки и настройки Wireshark.

Установка VirtualBox​

Этот шаг прост. Загрузите версию VirtualBox для ОС хост-машины с сайта Downloads – Oracle VM VirtualBox. Для хост-машин Windows установите программу, открыв загруженный файл. Для хост-машин macOS дважды щелкните по загруженному файлу и перетащите приложение на значок "Applications". В Ubuntu откройте загруженный пакет с помощью Application Manager и установите его. В Debian используйте dpkg в терминале. После установки VirtualBox загрузите пакет "Extension Pack" и откройте его в VirtualBox для установки. После запуска VirtualBox по нажатию клавиши "F1" открывается исчерпывающее руководство пользователя.

Создание рабочей станции ВМ Linux​

Создание виртуальных машин очень просто, и раздел 1.7 руководства VirtualBox (нажмите F1) хорошо объясняет, как это сделать. Этот процесс состоит из двух этапов. Во-первых, вы настраиваете новую ВМ в VirtualBox. Во-вторых, вы запускаете ВМ и устанавливаете ОС, как и на физической машине.

Linux – лучший выбор для безопасной и приватной ВМ. Linux имеет открытый исходный код и является бесплатной, поэтому нет никакого денежного следа, привязывающего вас к идентификатору продукта. Ubuntu – приемлемый выбор для начинающих пользователей Linux. Предполагается, что читатель пользуется Ubuntu 22.04 LTS. Более продвинутые дистрибутивы будут изучаться в других материалах.

Сначала загрузите ISO-файл выбранного вами дистрибутива Linux. Затем откройте VirtualBox и щелкните на значке "New". Введите желаемое имя ВМ, выберите директорию, где она будет располагаться, укажите ISO-файл, нажмите "Skip Unattended Installation", затем нажмите "Next". Нажмите на галочку "Guest Additions". Выделите нужное количество оперативной памяти и процессорных мощностей.

Используйте значения по умолчанию для типа виртуального жесткого диска и его расположения, но укажите максимальный размер не менее 100-200 ГБ. Начальный размер виртуального диска будет не более 5-6 ГБ. Но при большом максимальном размере очень легко обеспечить незапланированный рост. Ознакомившись с итоговой сводкой, нажмите кнопку "Finish".

Далее настройте параметры новой ВМ. На вкладке "General/Advanced" оставьте для параметров "Shared Clipboard" и "Drag'n'Drop" значение "Disabled" (для безопасности). В разделе "System/Processor" выберите "Enable PAE/NX" (если хост поддерживает эту функцию). В разделе "Display/Screen" увеличьте объем видеопамяти до 128 МБ (если оперативная память хоста не ограничена). В разделе "USB" отмените выбор опции "Enable USB controller" (для безопасности).

Затем дважды щелкните на новой виртуальной машине и выполните процесс установки. Про установку можете почитать тут. При желании можно выбрать автоматическую настройку диска с шифрованием. Хотя ВМ с шифрованием всего диска могут оставлять на хост-машинах открытый текст, это лучше, чем ничего, если хост будет взломан во время работы. Во время перезагрузки ВМ после завершения установки нажмите кнопку Devices в главном меню, выделите CD/DVD Devices и выберите "Remove disk from virtual drive".

Для повышения производительности ВМ можно установить гостевые дополнения VirtualBox (настраиваемые модули ядра). Гостевые дополнения также обеспечивают лучшую интеграцию дисплея и мыши и позволяют монтировать в ВМ папки хоста (так называемые общие папки). Однако некоторые из настроек ядра могут снижать изоляцию между гостем и хостом, а использование общих папок, безусловно, снижает. Это типичный компромисс между удобством и безопасностью.

Ubuntu может предложить установить пакет "kernel-module guest-additions" в качестве дополнительных драйверов. Если это не так, воспользуйтесь меню Settings. Вы также можете установить гостевые дополнения, выбрав пункт "Devices" в меню VirtualBox, а затем "Install Guest Additions". Но не применяйте оба метода.

Используйте менеджер обновлений для загрузки и установки обновлений. Затем перезагрузите систему.

Настройка VPN на рабочей станции Linux​

Инструкции предназначены для VPN на базе OpenVPN и WireGuard. В последнее время в некоторых местах с этими протоколами возникают проблемы, но не стоит окончательно их хоронить. Для предотвращения утечек трафика необходимо настроить фаервол, обрывающий все соединения, если VPN упадет. В базовом руководстве мы показываем, как это сделать на обычной ВМ, но в продвинутой версии это потребуется сделать на хосте, на котором будет ВМ Whonix Gateway. Официально Whonix поддерживает для этих целей только OpenVPN. Так что пока для примера рассмотрим обычную настройку с использованием конфигурации OpenVPN. В будущих материалах расскажем, как профессионально маскировать OpenVPN, WireGuard для обхода самых изощренных блокировок.

Просмотрите свои учетные данные VPN – обычно это файл с расширением *.ovpn. Конфигурации должны загружаться по протоколу HTTPS и храниться в конфиденциальном месте. Для этого лучше избегать провайдеров, не использующих HTTPS. Для установления VPN-соединения также может потребоваться ввести имя пользователя и пароль, которые могут отличаться от имени учетной записи и пароля на сайте VPN-сервиса. Некоторые низкокачественные службы высылают имя пользователя и пароль для подключения по электронной почте. В этом случае следует немедленно перейти на сайт провайдера и сменить пароль.

Практически все VPN-сервисы предоставляют сертификат ca.crt (certificate authority). Эти сертификаты позволяют клиентам проверять подлинность VPN-серверов перед подключением. Сертификаты клиента позволяют VPN-серверам проверять подлинность клиентов перед приемом соединений. Некоторые высококлассные VPN-сервисы также предоставляют ta.key для включения TLS-аутентификации, что повышает безопасность соединения.

Вам также понадобится другая информация из конфигурационного файла OpenVPN. Во-первых, необходимо выбрать VPN-сервер, к которому будет осуществляться подключение.

Избегайте Соединенных Штатов, Великобритании, Франции, стран Восточной Европы, Китая. Германия, Финляндия, Эстония, Грузия и Нидерланды подойдут.
Для корректной работы UFW (см. ниже) вам потребуется IP-адрес сервера, а не имя хоста. Чтобы установить соединение с сервером (в Ubuntu), зайдите в настройки ("Settings"), далее "Network", затем нажмите "+" около строки "VPN". Нажмите “Import from file…” и выберите ваш конфигурационный файл *.ovpn. Нажмите “Add”. После этого переключите тумблер, чтобы активировать соединение. При активном VPN в правом верхнем углу экрана на месте значка состояния сети будет значок с надписью "VPN".

После подключения убедитесь, что оно работает, зайдя на сайт https://whatismyipaddress.com. Если соединение не устанавливается или вы видите свой IP, перепроверьте конфигурацию.

Настройка UFW​

UFW – простой в использовании и популярный фаервол, будем использовать его для настройки kill switch.

Выполните команду:
Код:
apt update && apt upgrage -y && apt install ufw
Это обновит систему и установит фаервол.
Включите фаервол:
Код:
sudo ufw enable
Сначала заблокируйте весь трафик на вход и на выход:
Код:
sudo ufw default deny outgoing && sudo ufw default deny incoming
После сделайте исключение для трафика OpenVPN. Предполагается, что вы используете TUN в качестве сетевого адаптера (если вы не уверены, то, скорее всего, так и есть). Разрешите исходящий трафик на tun0:
Код:
sudo ufw allow out on tun0 from any to any
И опционально разрешите входящий трафик на tun0 (если вы, например, раздаете торренты):
Код:
sudo ufw allow in on tun0 from any to any
Укажите, через какой именно сервер вы разрешаете трафик:
Код:
sudo ufw allow out to 255.255.255.255 port 0000 proto udp
Вместо 255.255.255.255 и 0000 нужно указать адрес и порт из вашей конфигурации *.ovpn.
Добавьте также исключения для порта 53, который занят службой DNS, иначе вы не сможете соединяться с сайтами:
Код:
sudo ufw allow out 53
sudo ufw allow in 53
Убедитесь, что UFW стартует вместе с системой:
Код:
sudo systemctl enable ufw
Перезагрузитесь и проверьте, работает ли фаервол:
Код:
sudo ufw status
Если вы захотите выключить VPN, введите команду:
Код:
sudo ufw disable
Проверьте DNS-серверы, запустив стандартный DNS-тест по адресу GRC | DNS Nameserver Spoofability Test. Он должен отображать только те DNS-серверы, которые использует ваша служба VPN. Он не должен сообщать о DNS-серверах, связанных с провайдером или указанных маршрутизатором локальной сети. Если это так, значит, какие-то неполадки с настройкой VPN.

Проверка утечек с помощью Wireshark​

Проверить наличие утечек можно также с помощью программы Wireshark. Чтобы установить Wireshark, откройте окно "Terminal" на ВМ и выполните следующие команды:

Код:
sudo apt update && sudo apt install wireshark
Перезагрузите ВМ и установите VPN-соединение. Затем откройте Wireshark, выполнив команду:
Код:
sudo wireshark
Запустите захват на eth0. Используйте Firefox для проверки https://whatismyipaddress.com запустите DNS-тест в GRC | DNS Nameserver Spoofability Test и т.д. Теперь остановите захват и запустите "Statistics/Endpoints". Вы должны увидеть только один IP-адрес, не являющийся частным и публичным, – это IP-адрес VPN-сервера, к которому вы подключены.

Теперь убейте процесс openvpn (выполните команду sudo killall openvpn в окне терминала) и запустите новый захват на eth0. Убедитесь, что Firefox ничего не видит. Остановите захват и запустите "Statistics/Endpoints". Вы должны увидеть только трафик с локальными частными IP-адресами и попытки переподключения с VPN-сервера, к которому вы были подключены.

Наконец, восстановите VPN-соединение и убедитесь, что оно работает.

Установка Whonix​

Whonix состоит из пары ВМ Debian: ВМ шлюза (Whonix Gateway), которая подключается к сети Tor, и ВМ рабочей станции (Whonix Workstation), которая подключается через ВМ шлюза. Установка Whonix проста. Начните с загрузки Whonix на хост-машину, используя службу VPN. Лучше всего проверить загруженные файлы в соответствии с инструкцией, используя подписи OpenPGP и ключ подписи Whonix. Если вы не можете с этим справиться, то загрузите их с помощью BitTorrent.

Импортируйте ВМ шлюза и рабочей станции. Если VirtualBox у вас уже установлен, достаточно просто нажать на скачанный образ ОС и следовать инструкциям. Если вы будете использовать только один экземпляр Whonix, запустите шлюз Whonix, а затем рабочую станцию. Загрузите и установите обновления в соответствии с инструкциями. После перезагрузки обеих ВМ все будет готово.

Если вы будете использовать несколько экземпляров Whonix (например, для разделения интернет-активности), то каждая ВМ шлюза и рабочей станции должна иметь уникальное имя (которое определяет имя ее папки). После импорта первой пары ВМ шлюза и рабочей станции отредактируйте их имена в графическом интерфейсе VirtualBox, добавив уникальный суффикс (или что-то в этом роде), чтобы отличать их от других, которые вы будете импортировать (и чтобы облегчить их учет).

Кроме того, ВМ шлюза и рабочей станции каждого экземпляра Whonix должны иметь общую внутреннюю сеть с уникальным именем. Сначала отредактируйте настройки адаптера 2 шлюзовой (Gateway) ВМ (в разделе "Network"). Измените имя "Whonix" на "Whonix-1" или любое другое. Не меняйте настройки для адаптера 1. По умолчанию (NAT) он будет подключаться через VPN-службу хоста. Затем отредактируйте настройки адаптера 1 виртуальной машины рабочей станции (Workstation), изменив значение Whonix на то, которое вы только что использовали для адаптера 2 виртуальной машины шлюза.

Теперь запустите первый шлюз Whonix, а затем рабочую станцию. Загрузите и установите обновления в соответствии с инструкциями. После перезагрузки обеих ВМ все готово.

Разнообразие ОС критически необходимо для безопасности​

VPN, Tor, отпечатки WebGL представляют собой серьезный риск при использовании виртуальных машин для разделения.

Отпечатки WebGL представляют собой особо серьезный риск при использовании ВМ для разделения. WebGL использует GPU через графический драйвер ОС. На хосте все ВМ, использующие один графический драйвер, будут иметь один и тот же отпечаток WebGL, поскольку все они используют один и тот же виртуальный GPU. Допустим, у вас есть ВМ Debian, которая подключается через вложенную цепочку VPN, и ВМ Ubuntu, которая подключается напрямую или через другую цепочку. Firefox по умолчанию на обеих ВМ будет иметь один и тот же отпечаток WebGL! Это может связать обе ВМ и нарушить разделение.

WebGL можно легко отключить в браузерах. Выведите ВМ в автономный режим, изменив значение Adapter 1 на "Not attached" в сетевых настройках VirtualBox. Затем запустите Firefox на ВМ, напишите в поисковой строке about:config, примите риск и установите значение "webgl.disabled" в true. Теперь измените значение адаптера 1 на NAT. Также можно установить NoScript и установить флажок "Forbid WebGL" на вкладке "Embeddings" в настройках.

Но есть место случайности. Возможно, вы установите новый браузер и забудете отключить WebGL. Любые сайты, которые вы посещаете, пока WebGL работает, могут "отпечатать" ВМ. И потенциально эта ВМ связана по отпечатку WebGL с другими ВМ, использующими тот же графический драйвер.

Учитывая это, лучше всего разделять ВМ с разными графическими драйверами. Браузеры всех дистрибутивов, использующих графический драйвер Debian (Debian, Ubuntu, Lubuntu, Mint, Xubuntu и т.д.), очевидно, имеют одинаковый отпечаток WebGL. Но ВМ, использующие разные графические драйверы, имеют разные отпечатки WebGL. Варианты: Arch, Fedora, BSD, Windows.

By Vergil & Pavluu

| часть 1 | часть 2 | часть 4 | часть 5 |

Источник
 

Свяжитесь с нами в мессанджерах или по телефону.

whatsapp telegram viber phone phone
+79214188555

Матушкин Андрей Николаевич

Президент IAPD
Команда форума
Приватный уровень доступа
Действительный члены НП "МОД"
Регистрация
1 Январь 1970
Сообщения
21.929
Реакции
3.755
Баллы
113
Возраст
53
Адрес
Россия,
Веб-сайт
o-d-b.ru
спасибо за работу на форуме
 

Свяжитесь с нами в мессанджерах или по телефону.

whatsapp telegram viber phone phone
+79214188555

Похожие темы

Похожие темы