- Регистрация
- 17 Февраль 2007
- Сообщения
- 678
- Реакции
- 1.026
- Баллы
- 93
В этой и следующей статьях рассмотрим продвинутый метод обеспечения безопасности в интернете с помощью изоляции соединения в ВМ VirtualBox. Вы узнаете, как использовать защищенные ВМ маршрутизатора/фаервола в качестве VPN-клиентов, чтобы проложить один VPN-туннель через другой. Это нужно для изоляции полей деятельности друг от друга, усложнения профилирования и слежки, а также для уменьшения вреда от вредоносного ПО и взломов.
Тема безопасности на хосте и в ВМ чрезвычайно глубока и не может быть полностью покрыта в нескольких статьях. В этом цикле мы лишь описываем общую схему, которую вы адаптируете под свои задачи, дополняя и переосмысливая. Лучше всего поступить так: изучите материалы и потренируйтесь в настройке на специально выделенном для экспериментов устройстве, прежде чем строить систему для реальных задач.
Если ваша модель угроз предполагает полное отсутствие следов и зацепок, целесообразно загружать необходимое образы ОС и программное обеспечение через VPN-сервис и/или Tor. Таким образом, ваш провайдер и другие локальные наблюдатели не смогут увидеть, что вы делаете. Кроме того, обычно постоянное использование одного VPN-сервиса привлекает меньше внимания, чем переключение между несколькими.
Мы выбрали Ubuntu в качестве модельной ОС, потому что новичкам с ней будет проще работать. Для реальной работы лучше использовать более приватные альтернативы, вроде Fedora и Arch (или Manjaro).
В целях повышенной безопасности рекомендуется не подключать хост-машину к интернету во время установки. Перед подключением к интернету необходимо настроить VPN, затем сконфигурировать UFW на блокировку всех не-VPN-соединений. После подключения к интернету вы установите VPN-соединение и обновите систему.
При таком подходе ваш провайдер и другие локальные наблюдатели будут видеть только загрузку (хотя и повышенную, возможно) через службу VPN. Поскольку правила UFW вступают в силу до конфигурации сети во время загрузки, новая хост-машина будет иметь прямое подключение к интернету без VPN только в том случае, если вы отключите UFW.Если ваша деятельность предполагает работу на нескольких устройствах или частую их смену, неплохо бы задуматься о физическом роутере с прошивкой OpenWrt. Тонко настроив роутер один раз, на выходе вы получите надежный фаервол, который будет пропускать весь входящий трафик через VPN или Tor. Это упростит систему, так как не придется каждый раз настраивать правила фаервола на отдельных устройствах. Хотя тема маршрутизаторов требует отдельного внимания и не покрывается в этом цикле, мы обязательно вернемся к ней в будущем.
Какое железо выбрать
Машины игрового класса или рабочие станции лучше всего подходят для одновременного запуска более чем нескольких ВМ.Современные процессоры среднего класса (Intel Core i5-7 и AMD Ryzen 5-7) могут одновременно запускать не менее десяти виртуальных машин, каждая из которых имеет одно-два ядра. Ядра процессора являются лишь мягким ограничением для емкости ВМ, и перегрузка процессора приводит к лишь замедлению работы.
Оперативная память, с другой стороны, является жестким ограничением для емкости ВМ. При перерасходе RAM хоста виртуальные машины могут выйти из строя без предупреждения. Однако в настоящее время оперативная память стоит совсем недорого, и лучше установить ее как можно больше. Это особенно важно, если вы планируете запускать ВМ под управлением Windows, которым требуется значительно больше памяти, чем ВМ под управлением Linux или BSD.
Plausible Deniability
Зашифрованные данные выглядят случайными, однако файлы, разделы и диски, содержащие случайные данные, могут вызывать подозрение. Особенно если есть доказательства их использования. Кроме того, может присутствовать заголовочная информация, указывающая на то, что данные зашифрованы. В частности, в Linux Unified Key Setup (LUKS) для dm-crypt записываются заголовки, начинающиеся с “LUKS” и раскрывающие такую информацию, как тип используемого шифрования.В VeraCrypt есть возможность записи скрытых разделов и даже запуска скрытых операционных систем (Windows). В случае возникновения проблем можно раскрыть парольную фразу для "ложного" раздела. Злоумышленники могут смонтировать ложный раздел и запустить установленную на нем ложную ОС, но они не смогут обнаружить ни скрытый раздел, ни ОС, которые могут существовать. Поэтому вполне правдоподобно отрицать существование какого-либо скрытого раздела.Зашифрованные диски расшифровываются в процессе работы, а ключи хранятся в оперативной памяти, поэтому целесообразно выключать хост во время простоя, а не уводить в сон или гибернацию.
Однако простое наличие ложных разделов не делает их правдоподобными, если они не содержат – внезапно – правдоподобной информации и не используются ежедневно. Если противник знает, что вы были в сети вчера, основываясь на информации от провайдера, но ваша скрытая ОС не использовалась в течение недели, это выглядит странно. Кроме того, даже если вы раскрыли кодовую фразу для скрытого раздела VeraCrypt, или даже если вы используете VeraCrypt без скрытых разделов, противник может вам не поверить. Не возлагайте больших надежд на двойное дно. Оно может реально помочь, например, при въезде в страны, где по закону нужно расшифровывать все устройства. Но не более того.
В этом руководстве используется Linux с LUKS и полнодисковым шифрованием dm-crypt. Настройка не подразумевает функции правдоподобного отрицания. На самом деле в LUKS тоже можно настроить двойное дно на уровне ОС, но в этой теме много тонкостей и нюансов. Новичку построить такую систему будет непросто, особенно в Ubuntu.
Установка ОС на хосте
Сначала загрузите установочный образ Ubuntu. Для загрузки используйте другую машину, защищенную VPN-сервисом и/или Tor. Создайте загрузочную флешку, а затем загрузите с него хост-машину. Для этого нужно зайти в UEFI/BIOS и выбрать в качестве опции загрузки нужную флешку.Инструкция по установке:
- После загрузки ОС появится окно с опциями “Try Ubuntu” и “Install Ubuntu”. Выберите второе.
- “Keyboard layout” оставьте все как есть и нажмите “Continue”.
- “Updates and other software” – выберите “Minimal Installation”. При желании отметьте галочки в графах с проприетарными драйверами от третьих сторон.
- “Installation type” – нажмите кнопку “Advanced features”, выберите опцию “Use LVM with the new Ubuntu installation”, затем отметьте галочку “Encrypt the new Ubuntu…”
- “Choose a security key” – в первых двух полях введите пароль. Пароль должен быть хорошим и легко запоминающимся. Если отметить галочку на “Enable recovery key”, то сгенерируется файл recovery.key, с помощью которого можно будет восстановить зашифрованный раздел при утере пароля.
- “Owerwrite empty disk space” – Безопасно, но шифрование займет больше времени. Опционально.
- “Where are you” – укажите UTC.
- “Who are you” – лучший анонимный никнейм – “user”, а название устройства – в данном случае “ubuntu” или “pc”. В поле пароля введите пароль от учетной записи. Не поленитесь придумать новый пароль, не используйте тот, что расшифровывает диск. Пароль от учетной записи можно поставить попроще, так как основной упор делается на полнодисковое шифрование.
После этого обновитесь и скачайте VirtualBox:
Код:
sudo apt update && $ sudo apt install virtualbox -y && sudo apt install virtualbox-ext-pack -y
Вопросы безопасности в ВМ
Использование полнодискового шифрования для отдельных ВМ ограничивает доступ к неработающим ВМ, но не предотвращает доступ к информации, которая была записана или кэширована на хост-машине. В конце концов вам решать, дополнять ли без того сложную систему еще одним кругом защиты или нет. Если вы чувствуете, что это необходимо, смело шифруйте и ВМ тоже.В большинстве случаев можно считать, что виртуальные машины изолированы друг от друга, если только они не имеют прямого сетевого подключения или общего доступа к дискам (включая USB и другие съемные диски) или буферу обмена. Однако нельзя исключать возможность проникновения вредоносного ПО с ВМ на хост. Если это произойдет, то другие ВМ будут легко скомпрометированы. Другие машины с прямым сетевым подключением или общими дисками также будут скомпрометированы. Если изоляция имеет решающее значение или высок риск заражения вредоносным ПО, целесообразно разделять ВМ на разных хост-машинах и избегать прямого сетевого подключения и общего доступа к дискам.
Сеть в VirtualBox
По умолчанию сетевые адаптеры ВМ подключены к NAT. То есть они используют активный сетевой шлюз хост-машины (проводной, беспроводной, VPN и т.д.) с трансляцией сетевых адресов (NAT) и встроенный в VirtualBox DHCP-сервер. Несколько ВМ, использующих VirtualBox NAT, изолированы друг от друга. Сетевые адаптеры ВМ также могут быть подключены к внутренним сетям VirtualBox, и несколько ВМ могут взаимодействовать через общие внутренние сети. Однако для ВМ, подключенных к NAT или внутренним сетям, сетевое соединение с хост-машиной отсутствует.ВМ маршрутизаторов/брандмауэров (например, pfSense и OpenWRT) имеют как минимум два сетевых адаптера, WAN и LAN, и обычно запускают DHCP-сервер на LAN. Например, можно подключить WAN-адаптер к хосту через NAT, а LAN-адаптер – к внутренней сети. Также можно использовать виртуальные машины маршрутизатора/брандмауэра для установки соединений с удаленными VPN-серверами или Tor через WAN и маршрутизации этих соединений в LAN. На этом, собственно, и основана создаваемая нами система.
Сетевые адаптеры ВМ могут быть подключены к хост-машине двумя другими способами. Во-первых, выбрав в настройках ВМ "Bridged Adapter", их можно подключить к физическим сетевым адаптерам хоста. Например, виртуальные машины с WAN, подключенные к LAN-адаптеру хоста, ведут себя так же, как и другие машины в локальной сети хоста, возможно, с IP-адресами от LAN-маршрутизатора. И наоборот, подключив LAN-адаптер ВМ маршрутизатора/брандмауэра к другому сетевому адаптеру хоста, можно транслировать маршрутизируемые ресурсы (например, VPN или Tor-туннель) для других физических машин или сетей.
Во-вторых, выбрав режим Host-only Adapter, можно подключить сетевые адаптеры ВМ к виртуальным сетевым адаптерам хоста. Эти два режима моста хорошо сочетаются друг с другом. В частности, можно направлять трафик из локальной сети хоста (с Bridged Adapter) на виртуальную машину (или даже сеть виртуальных машин), а затем обратно на хост (с Host-only Adapter) через виртуальный сетевой адаптер. Например, можно обеспечить доступ хост-машины в интернет через систему предотвращения вторжений (IPS) и/или вложенную цепочку VPN и Tor.
Об этом мы как раз и поговорим в следующей статье.
| часть 1 | часть 2 | часть 3 | часть 5 |
Источник