Підключення до ізольованих системних середовищ із використанням Waypipe

5/Травень/2026 zero-trustsecuritywaypipewayland

Коректний настрій
Коректний настрій 1200x1000
aluminium-tin-foil-hat_exw.jpg

Продовжуючи попередні нудні опуси на тему ізоляції оточень, саме час пригадати про wayland.
Звичайно, це не заклик до дії, а лише приклади та роздуми.
Сам я дотримуюся філософії, де центр системи це користувач, і він має право налаштовувати все так, як він вважає за потрібне, а не так як це нав’язується загальними тенденціями, або як це реалізовано в конкретному дистрибутиві, разом з цим розуміючи і приймаючи всі ризики та наслідки цих дій.
Як то кажуть, “If you know what you are doing”.


І перш ніж розпочати, знову варто написати, що:

  • Так, я розумію, що це дуже поверхово.
  • Так, ніякі підключення до локальної графічної оболонки не припустимі для чогось небезпечного, і потрібно використовувати vnc або virt-viewer/spice.
  • Непривілейований LXC слід замінити на Xen / KVM
  • І так, я знаю, що з KVM ізоляції також можна вийти.
  • І про Flatpak я теж знаю.
  • І, нарешті, так, я знаю про Qubes OS та її архітектуру, можна сказати, з моменту її появи, а це 2010 рік.


І, дещо спрощуючи та адаптуючи ідеї QubesOS під свої повсякденні завдання, я віддаю перевагу в основному використати або інших локальних юзерів, або досить легковажні оточення LXC.

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

  • Firefox для повсякденного використання та перегляду “чого завгодно”.
  • Декілька проектів, які використовують пакети з PyPI, RubyGems.
  • Окремо те, що я збираю з сорців з того ж GitHub.
  • Сторонні програми element-desktop, Telegram, Zoom.
Підключення до ізольованих...

Встановлення Debian на raid-масив із LUKS шифруванням, кореневою файловою системою ZFS та завантаженням з UBS із detached header

4/Травень/2026 mdadmzfsluksusb-bootdetached-header

LUKS шифрование с отдельным header-файлом на USB 5504x3096 luks-encrypted-brick.jpg
LUKS шифрование с отдельным header-файлом на USB

Вступ здалеку

Нещодавно знову ностальгував у FreeBSD, все чудово, все звично, все зручно.
Лише один момент повністю виключає її з використання, принаймні в мене.
Майже на всіх моїх ноутбуках FreeBSD не підтримує ні режим сну, ні режим очікування (s2ram/s2disk).
І зробити я з цим нічого не зміг, а перепробував багато чого.

Без режиму очікування абсолютно неможливо користуватися ноутбуком, так як після транспортування необхідно по новому все завантажувати, включати, відкривати.
Та й перезавантажую робочі станції лише після оновлень, які цього вимагають.

З багатьох приємних дрібниць, які є у Фряхі, і які відсутні в Debian це ZFS Boot Environments, що зручніше, ніж, скажімо, снапшоти LVM.
А друге це GEOM_ELI, який підтримує не лише, як LUKS, режим АБО пароль, АБО ключ, але також підтримує режим І пароль, І ключ.

Подумав, подумав, та й вирішив розгорнути Debian з нуля з урахуванням усіх інструментів, які використовую, досвіду, і, що важливо, звичок.

Debian поки що залишається основною моєю системою, тому єдиний спосіб отримання хардварного (фізичного) ключа шифрування на додаток до паролю - це зробити його з хедера і розмістити на USB-флешці.

Встановлення Debian на...

ZBook Studio x360

17/Квітень/2026 zbookx360

ZBook Studio x360 3000x2100 IMG_20260513_181633.jpg
ZBook Studio x360


Попередній огляд ноутбука

Трохи пилу
Трохи пилу 5504x3096
IMG_20260212_154405.jpg
Трохи пилу
Трохи пилу 5504x3096
IMG_20260212_154411.jpg
Загальний вигляд
Загальний вигляд 5504x3096
IMG_20260221_183605.jpg
Щось не так
Щось не так 5504x3096
IMG_20260221_181713.jpg
Щось не коректно
Щось не коректно 5504x3096
IMG_20260221_181724.jpg
Що ж тут не так?
Що ж тут не так? 5504x3096
IMG_20260221_181730.jpg
Загальний вигляд
Загальний вигляд 5504x3096
IMG_20260221_181934.jpg
Загальний вигляд
Загальний вигляд 5504x3096
IMG_20260221_182151.jpg
Загальний вигляд
Загальний вигляд 5504x3096
IMG_20260221_183635.jpg
ZBook Studio x360...

Як треба (і як не треба) супроводжувати вашу систему, GIT та пакети

10/Січень/2026 zero-trustsecurity

Гарний адмін та його сервер
Гарний адмін та його сервер 1000x1000
good_admin_and_his_server_exw.jpg

Стандартна ситуація, у вас є основний робочий комп’ютер, на якому у вас є три різних проекта.
Один проект на nodejs, другий продакшн на python, а третій ваш власний “pet project”, теж на python.
А ще у вас у цій же системі особиста та робоча пошта, та й, скажімо, браузер і клієнт-банк.
І це все під вашим юзером.
Звичайно ж, головне, щоб не під рутом!
Решта не має значення. ¯\_(ツ)_/¯
Все цілком звичайне.

У багатьох технічно грамотних розробників таких проектів можуть бути десятки і десятки ключів для ssh або git серверів.

Приклад із популярним фреймворком PyTorch


Цілком повсякденно Ви пишете свій код, іноді комітіте, і тут у ваш затишний pet-project з AI прилітає оновлення torchtriton.
А після цього з вашої системи відлітають наступні набори даних, відповідно до основної функції бінарника, яка робить наступне:

  • Збір системної інформації:
    • nameservers з /etc/resolv.conf
    • hostname з gethostname()
    • поточний логін з getlogin()
    • поточна робоча директорія з getcwd()
    • змінні оточення
  • Читання наступних файлів:
    • /etc/hosts
    • /etc/passwd
    • Перші 1,000 файлів з $HOME/*
    • $HOME/.gitconfig
    • $HOME/.ssh/*

Оновлення прилетіло, конфедиційні дані – відлетіли.
Скомпрометовано не тільки все під вашим юзером (і, можливо, системою), але й по ланцюжку все, чим ви керували, куди комітили, куди підключалися.

Як треба (і...

Встановлення основних версій Python на Debian Trixie

24/Грудень/2025 pythontrixie

Python та Debian 1600x904 debian-python.png
Python та Debian

Дуже, дуже часто доводиться стикатися з необхідністю використання певної версії Пітона, наприклад, для torch, або чогось специфічного.
Використовувати conda або Docker у зв’язці з nvidia-container-toolkit і потім налаштовувати образи наприклад nvidia/cuda:13.0.1-runtime-ubuntu22.04 мені відчувається протиприродно, хоча часто так робив.
Та й у контейнері доводиться встановлювати додаткові пакети.

Простіше і зручніше зібрати все на хостовій системі, але при цьому не допустити контамінації всієї системи сторонніми бібліотеками та файлами.

Далі наводиться приклад компіляції кількох версій Python тільки для групи verpy, що дещо зручніше, ніж встановлення лише для одного користувача.

  • ai - довільний користувач, від якого здійснюється компіляція.
  • verpy - група, якою буде дозволено використання.
1
2
3
4
apt install \
    build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
    wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \
    liblzma-dev libgdbm-dev libnsl-dev libgdbm-compat-dev

mkdir /opt/openssl
mkdir /opt/python
groupadd --gid 42398 verpy
usermod -aG verpy ai

Встановлення основних версій...
Сторінка 2 з 14