Новости

Анонімна виртуалка. Встановлюємо VirtualBox в ОС Tails і пускаємо трафік віртуалок через Tor

  1. Зміст статті Tails - відмінна операційка, найкраща операційка, якщо твоє завдання - максимально анонімізувати...
  2. Крок 2. Встановлюємо 64-бітну VirtualBox в chroot
  3. Створюємо 64-бітове оточення виконання
  4. Встановлюємо модулі ядра для VirtualBox
  5. Встановлюємо VirtualBox в 64-бітове оточення
  6. Продовження доступно тільки учасникам
  7. Варіант 2. Відкрий один матеріал

Зміст статті

Tails - відмінна операційка, найкраща операційка, якщо твоє завдання - максимально анонімізувати свою присутність в Мережі. Але є в ній кілька особливостей, які заважають використовувати Tails як повноцінний десктоп. І одна з них - відсутність можливості встановити VirtualBox. Той, хто намагався це зробити, знає, що стандартними засобами це неможливо. Але ми розповімо, як встановити VirtualBox, причому так, щоб весь трафік віртуалок йшов через Tor.

Отже, які ж причини заважають просто взяти і встановити VirtualBox в Tails так само, як в будь-який дистрибутив Linux? Їх декілька.

Перша. Tails - це дистрибутив «без пам'яті». Будь-які зроблені тобою модифікації системи (в тому числі установка пакетів) будуть скинуті при виключенні машини. Обійти цю проблему можна, створивши Persistent-розділ і внісши потрібні пакети в список для збереження. При наступному завантаженні Tails встановить ці пакети заново. Але це тільки початок.

Друга. У Tails є одна безглузда особливість: 64-бітове ядро ​​і 32-бітове оточення виконання. Всі пакети цього дистрибутива 32-бітові, а це значить, що стандартними методами можна встановити тільки 32-бітну версію VirtualBox, яка буде мати обмеження в три гіга для кожної віртуальної машини. Більш того, запустити цю версію на 64-бітному ядрі ти не зможеш: 32-бітної VirtualBox потрібні 32-бітові модулі ядра і відповідне ядро.

Цю проблему можна обійти, завантаживши Tails з 32-бітовим ядром (воно є в комплекті). Але тоді ти отримаєш систему, яка сама буде обмежена трьома гігабайтами оперативної пам'яті. Якщо врахувати, що Tails досить вимогливий до оперативці, так як використовує RAM-диск для кореневої файлової системи (стандартна практика для Live CD / Live USB), віртуалкою не залишиться взагалі нічого.

Третя. Навіть якщо ти зможеш обійти дві попередні проблеми, ти зіткнешся з тим, що твої виртуалки просто не зможуть вийти в Мережу. Причина тому - обмеження Tails на підключення до мережевих хостів тільки через Tor. Тому тобі доведеться міняти правила брандмауера і кілька інших конфігов, щоб направити пакети віртуальної машини в Tor. Причому робити це доведеться після кожної перезавантаження.

Загалом, все складно. Але ми все-таки вирішимо всі ці проблеми.

Крок 1. Підключаємо Persistent-розділ

Для виконання наступних кроків нам знадобиться так званий Persistent-розділ. Це спеціальний розділ з файловою системою ext4, який можна створити на флешці поруч з основним. Його завдання - зберігання призначених для користувача даних, конфігов додатків і кеша пакетів, який потрібен для швидкої установки «збережених» пакетів при наступному завантаженні.

Щоб створити Persistent-розділ, необхідно встановити Tails, тобто не просто записати ISO-файл на флешку, а завантажитися з цієї флешки і встановити Tails на іншу флешку за допомогою інсталятора: Меню → Tails → Tails Installer. Після цього необхідно завантажитися з цієї флешки і створити розділ: Меню → Tails → Configure persistent volume. Коли Tails запропонує вибрати, що слід зберігати на цьому розділі, сміливо вибирай все пункти.

Після завершення операції ти побачиш в каталозі / home / amnesia / підкаталог Persistent, в який зможеш копіювати будь-які дані з метою зберегти їх між перезавантаженнями.

Після завершення операції ти побачиш в каталозі / home / amnesia / підкаталог Persistent, в який зможеш копіювати будь-які дані з метою зберегти їх між перезавантаженнями

встановлюємо Tails

Насправді для установки Tails необов'язково використовувати дві флешки. Те ж саме можна зробити, якщо запустити ISO-образ Tails всередині виртуалки, а потім прокинути в неї USB-флешку.

Крок 2. Встановлюємо 64-бітну VirtualBox в chroot

64-бітна версія VirtualBox не може працювати в 32-бітному оточенні виконання, проте спеціально для VirtualBox ми можемо створити 64-бітове оточення, яке буде відокремлене від основної системи і розташовуватися в розділі Persistent. Для цього в Debian (і, як наслідок, Tails) є інструмент debootstrap, що дозволяє розгорнути повноцінний дистрибутив Debian у виділеному каталозі.

Створюємо 64-бітове оточення виконання

Отже, завантажуємося в Tails. У вікні привітання (More options?) Натискаємо Yes і встановлюємо пароль root (будь-який). Далі відкриваємо термінал і переходимо в каталог Persistent:

$ Cd ~ / Persistent

Встановлюємо debootstrap:

$ Sudo apt-get update $ sudo apt-get install debootstrap

Відключаємо брандмауер, щоб він не завертав весь трафік в Tor і не заважав нам у подальшій роботі:

$ Sudo iptables -F $ sudo iptables -I INPUT -j ACCEPT $ sudo iptables -I OUTPUT -j ACCEPT $ sudo iptables -I FORWARD -j ACCEPT

Створюємо каталог vbox для нашого 64-бітного оточення і розгортаємо його:

$ Sudo mkdir vbox $ sudo debootstrap --arch amd64 jessie vbox http://ftp.ru.debian.org/debian/

Так ми отримаємо скелет 64-бітного Debian, в якому поки, крім базової системи, немає нічого. Наступний крок - установка VirtualBox, але спочатку нам потрібно закинути в оточення необхідні модулі ядра.

Наступний крок - установка VirtualBox, але спочатку нам потрібно закинути в оточення необхідні модулі ядра

Розгортаємо 64-бітове оточення

Встановлюємо модулі ядра для VirtualBox

Ядерні модулі VirtualBox поширюються в формі вихідного, які збираються під конкретне ядро ​​на етапі установки. Найпростіший спосіб встановити їх всередину віртуального оточення - це інсталювати офіційну версію VirtualBox в сам Tails, а потім скопіювати скомпільовані модулі в 64-бітове оточення.

Для початку встановимо компілятор і Хідер ядра, необхідні для складання модулів:

$ Sudo apt-get install linux-headers-4.8.0-0.bpo.2-common linux-kbuild-4.8 linux-compiler-gcc-4.9-x86 gcc make

Також нам знадобляться Хідер ядра для архітектури AMD64. Apt-get їх не знайде, тому завантаживши за допомогою сервера Debian, а потім встановимо за допомогою dpkg:

$ Wget http://ftp.us.debian.org/debian/pool/main/l/linux/linux-headers-4.8.0-0.bpo.2-amd64_4.8.15-2~bpo8+2_amd64.deb $ sudo dpkg -i linux-headers-4.8.0-0.bpo.2-amd64_4.8.15-2 ~ bpo8 + 2_amd64.deb

В ході установки з'явиться помилка конфігурації пакету linux-headers-4.8.0-0.bpo.2-amd64. Вона ж буде виникати при наступних викликах apt-get. Не турбуйся і сміливо продовжуй роботу, насправді пакет встановлений.

Приступаємо до установки VirtualBox. Додамо потрібний репозиторій в /etc/apt/sources.list:

$ Deb tor + http: //download.virtualbox.org/virtualbox/debian jessie contrib

Імпортуємо ключі Oracle:

$ Wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - $ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -

Знову ж таки не звертаємо уваги на помилки Wget. Нарешті встановлюємо VirtualBox:

$ Sudo apt-get update $ sudo apt-get install virtualbox-5.1

Ця команда встановить 32-бітну VirtualBox, але збере модулі для 64-бітного ядра. Працювати така зв'язка в основній системі, як я вже говорив раніше, не буде. Але нам це і не потрібно, нам потрібні модулі. Скопіюємо їх в 64-бітове оточення:

$ Sudo cp -R / lib / modules ~ / Persistent / vbox / lib /

Після цього VirtualBox можна видалити. Або не робити нічого, після перезавантаження вона зникне.

Встановлюємо VirtualBox в 64-бітове оточення

Щоб встановити VirtualBox в отримане оточення, треба зробити chroot (змінити кореневий каталог) в каталог / Persistent / vbox і виконати ті ж кроки установки. Але спочатку потрібно прокинути в оточення необхідні для його роботи віртуальні (і не дуже) файлові системи. Для цього створимо в каталозі / Persistent файл vbox-fstab такого змісту:

/ Sys / home / amnesia / Persistent / vbox / sys none bind 0 0 / proc / home / amnesia / Persistent / vbox / proc none bind 0 0 / dev / home / amnesia / Persistent / vbox / dev none bind 0 0 / home / home / amnesia / Persistent / vbox / home none bind 0 0 / tmp / home / amnesia / Persistent / vbox / tmp none bind 0 0 / var / tmp / home / amnesia / Persistent / vbox / var / tmp none bind 0 0 / usr / src / home / amnesia / Persistent / vbox / usr / src none bind 0 0

І підключимо всі перераховані в ньому файлові системи за допомогою такої команди:

$ Sudo mount -T ~ / Persistent / vbox-fstab -a

Перемикаємося в оточення за допомогою chroot:

$ Sudo chroot vbox / bin / bash

Налаштовуємо DNS і встановлюємо кореневі сертифікати для коректної роботи Wget і apt-get:

# Echo nameserver 8.8.8.8> /etc/resolv.conf # apt-get install ca-certificates

Додаємо репозиторій VirtualBox в /etc/apt/sources.list:

# Echo 'deb http://download.virtualbox.org/virtualbox/debian jessie contrib' >> /etc/apt/sources.list

Імпортуємо ключі Oracle:

# Wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | apt-key add - # wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | apt-key add -

Встановлюємо VirtualBox:

# Apt-get update # apt-get install virtualbox-5.1

І нарешті запускаємо її:

# Modprobe vboxdrv # modprobe vboxnetflt # modprobe vboxnetadp # modprobe vboxpci # virtualbox

Вітаю, у тебе є робоча 64-бітна VirtualBox в Tails. Але це ще не все, тепер необхідно зробити так, щоб виртуалки могли вийти в Мережу через Tor. Зараз Мережа повинна бути доступна віртуалкою завдяки відключеному брандмауера, але після перезавантаження Tails знову його переконфигурирует, і вихід в Мережу буде закритий.

Продовження доступно тільки учасникам

Варіант 1. Приєднайся до товариства «Xakep.ru», щоб читати всі матеріали на сайті

Членство в співтоваристві протягом зазначеного терміну відкриє тобі доступ до ВСІХ матеріалами «Хакера», збільшить особисту накопичувальну знижку і дозволить накопичувати професійний рейтинг Xakep Score! Детальніше

Варіант 2. Відкрий один матеріал

Зацікавила стаття, але немає можливості стати членом клубу «Xakep.ru»? Тоді цей варіант для тебе! Зверни увагу: цей спосіб підходить тільки для статей, опублікованих більше двох місяців тому.


Отже, які ж причини заважають просто взяти і встановити VirtualBox в Tails так само, як в будь-який дистрибутив Linux?
More options?
Ru»?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: