Віктор Турський про програмування / навігатор

Мережі та інтернет / крок 07

Як не дати віртуальній машині лазити по вашій домашній мережі (офтоп для спонсорів)

просунутий 36:08 дивитися на YouTube ↗

Розділи

Про що це відео

Перше з незмонтованих офтоп-відео каналу, записаних спеціально для платних спонсорів — наживо, без монтажу, фактично хакерська сесія з демонстрацією екрана. Проблема: коли віртуальна машина VirtualBox працює в режимі bridged, вона отримує реальний IP від DHCP домашнього роутера і сидить прямо у вашій локальній мережі — тож якщо VM (або те, що ви в ній запускаєте, наприклад недовірений код чи AI-модель) скомпрометовано, вона може сканувати й діставатися до кожного пристрою у вашій домашній мережі. Режим NAT ізолює VM, але автор хоче чогось більш свідомого. Його рішення: поставити між VM і домашньою мережею віртуальний роутер і закрутити його правилами фаєрвола, щоб VM мала інтернет, але не могла торкнутися домашньої мережі.

Головне

  • Небезпека саме в bridged-режимі: VM виглядає як просто ще один хост у домашній підмережі (наприклад, 192.168.50.x) і вільно пінгує та дістається до домашніх пристроїв. NAT її ховає, але він хоче явну, контрольовану межу.
  • Архітектура: друга VM у ролі роутера з двома адаптерами — bridged-адаптер як WAN (отримує IP домашньої мережі через DHCP роутера, дає інтернет) та адаптер internal network як LAN. Цільова Ubuntu-VM сидить лише в тій внутрішній мережі, тож увесь її трафік мусить проходити через віртуальний роутер.
  • Випробувані інструменти: він згадує, що колись прошивав реальні роутери OpenWRT/DD-WRT, і зауважує готові образи віртуальних роутерів — образ MikroTik Cloud Hosted Router (CHR) для VirtualBox (безкоштовний тариф обмежено ~1 Мбіт, крихітний розмір) — але зупиняється на pfSense (на основі FreeBSD, open source, потребує ~512 МБ RAM і невеликий диск). Він ставить його у VM, призначає WAN через DHCP і налаштовує внутрішній LAN-інтерфейс зі статичною підмережею (наприклад, 10.10.10.1/24) та власним діапазоном DHCP (10.10.10.50–100), щоб роздавати адреси гостьовим VM.
  • DHCP-сервер pfSense у внутрішній мережі видає Ubuntu-гостю IP, шлюз (10.10.10.1) і DNS-сервер (він поставив 8.8.8.8).
  • Закручування фаєрвола (сенс усієї вправи): за замовчуванням він лишає anti-lockout-правило, щоб не втратити адмінський доступ, а далі додає правила, які (а) випускають гостя в інтернет, (б) блокують гостю доступ до домашньої підмережі (192.168.x.x) і (в) блокують доступ до адмінки самого pfSense із гостя. Він ітерує наживо у Wireshark/ping, виправляючи помилки з пріоритетом правил (floating rules), доки не тримається кінцевий стан: Ubuntu-гість дістається до google.com, але не може пінгнути домашній роутер чи будь-який домашній пристрій і не відкриває адмінку pfSense — повна ізоляція з робочим інтернетом.
  • Наприкінці: майбутні спонсорські відео в такому «сирому» форматі можуть бути про експерименти з локальними нейромережами — запуск Stable Diffusion і Llama на його RTX 3090 (24 ГБ).

Теми відео

Частина цих треків