Tor представил Oniux — свежий инструмент для параноиков и не только. Теперь можно запускать любые приложения в Linux через Tor без страха утечки трафика. Как он работает, чем лучше старого доброго torsocks и почему namespaces — это новый фетиш для защитников приватности? Разбираемся подробно и по-человечески.
Tor и Oniux: маленькая революция в мире анонимности
О Tor слышали, кажется, все: если хочется скрыть, кто ты и откуда, Tor — почти обязательная вещь. Но даже у такого культового проекта есть свои "но": запускать сторонние приложения через Tor на самом деле не так уж и просто, и классические методы (типа torsocks) уже давно трещат по швам. Вот тут и появляется Oniux — утилита, которая обещает реальную, а не иллюзорную, изоляцию на уровне ядра Linux.
Почему прежние решения — не спасение
До появления Oniux самым популярным способом "прогнать" приложение через Tor был torsocks . Это такой "обманщик", который через трюк с LD_PRELOAD
подменяет сетевые вызовы приложений, чтобы трафик шёл через Tor. Но есть пара проблем:
- Если приложение написано с хитрецой и обращается к сети напрямую, мимо libc, torsocks этого даже не заметит.
- Статически скомпилированные приложения вообще игнорируют этот трюк.
- Полной изоляции нет — приложение всё равно "видит" сетевые интерфейсы хоста.
В общем, хорошая задумка, но из серии «надейся, но проверяй».
Oniux: что это вообще такое и как работает
Теперь, благодаря Oniux, можно не просто "надеяться", а быть уверенным: приложение действительно не сможет ускользнуть ни в какие обходные пути. Oniux использует пространcтва имён ядра Linux — namespaces , чтобы каждое приложение работало в отдельном "контейнере" с собственным сетевым пространством.
Простыми словами: Oniux создаёт мини-вселенную для каждого процесса. Приложение не видит реальных интерфейсов машины, не может отправить ничего напрямую в интернет — только через виртуальный интерфейс onion0, который "завязан" на Tor.
Архитектура Oniux: что под капотом?
- Использует Linux namespaces: сеть, монтирование, пользовательские и PID namespaces.
- Каждое приложение получает свой сетевой стек — оно не видит даже loopback-хоста.
- В качестве транспорта — новый движок Tor под названием Arti и вспомогательный компонент onionmasq для виртуального интерфейса.
- В корне системы: утилита написана на Rust (да, мода на Rust — теперь и у Tor!).
- Безопасный DNS: через mount namespace подменяет
/etc/resolv.conf
на Tor-friendly конфиг. - Минимальные права: сетап изоляции проходит с понижением привилегий, чтобы даже вредонос не выбрался наружу.
Результат? Приложение физически не может "просочиться" в обычный интернет. Всё, что оно отправит — пройдёт только через Tor, или не пройдёт никак.
Для кого это всё?
Оniux — это мечта всех, кто занимается аудитом безопасности, запускает сомнительные бинарники, тестирует анонимность или просто не хочет, чтобы очередной "условный curl" неожиданно раскрыл ваш реальный IP.
Инструмент особенно полезен:
- Пентестерам и исследователям: безопасно анализировать сетевую активность приложений.
- Разработчикам: тестировать работу программ в условиях полной сетевой изоляции.
- Любителям приватности: запускать тор-браузер, почтовый клиент, мессенджер, любой app — в режиме тотального контроля.
Как Oniux работает на практике — шаг за шагом
Давайте разберём, как Oniux "упаковывает" приложение:
- Создаёт отдельное сетевое пространство имён (network namespace).
- Отключает доступ к любым реальным интерфейсам — даже loopback будет "нулевой".
- Подключает виртуальный интерфейс
onion0
, который связан с onionmasq и через него с Tor. - Монтирует Tor-совместимый
/etc/resolv.conf
через mount namespace. - Использует отдельные PID и user namespaces — приложение даже не сможет поднять root-права или видеть другие процессы.
- Всё сетевое взаимодействие приложения идёт через Tor, даже если оно пытается делать "низкоуровневые" вещи.
Звучит сложно? На практике — одна команда в терминале:
oniux curl http://example.onion
или даже так:
oniux bash
— и вся сессия вашего bash уже в полной изоляции.
Oniux vs torsocks: таблица отличий
Чтобы окончательно всё разложить по полочкам, вот сравнение:
Oniux | Torsocks |
---|---|
Работает как отдельное приложение | Нужен отдельный работающий Tor-демон |
Использует kernel namespaces | Использует LD_PRELOAD (ld.so preload hack) |
Работает с любыми приложениями (даже статическими бинарями) | Работает только с программами, которые используют system calls через libc |
Вредоносное приложение не сможет утечь напрямую | Вредонос легко "просачивается" через raw system calls |
Только Linux | Кроссплатформенный (но с теми же ограничениями) |
Экспериментальный | Используется уже 15 лет |
Работает на Arti | Работает на CTor |
Rust | C |
Выглядит заманчиво, но есть нюанс: Oniux пока экспериментальный и не обкатан на реальных боевых задачах. Для критических применений его использование пока не советуют — но попробовать, если вы не боитесь приключений, более чем можно!
Как установить Oniux: пошаговая инструкция
Всё просто, если у вас уже есть Rust. Если нет — ставим Rust ( официальный сайт ), а дальше — одна команда:
cargo install --git https://gitlab.torproject.org/tpo/core/oniux oniux@0.4.0
Готово! Примеры использования от самих разработчиков:
- Зайти на onion-сайт:
oniux curl http://example.onion
- Запустить всю оболочку через Tor:
oniux bash
- Запустить графическое приложение (например, HexChat) через Tor:
oniux hexchat
Исходники доступны на GitLab Tor Project .
Linux namespaces — как это работает и зачем это вообще нужно?
Namespaces — это как квартиры в огромном доме: у каждой свой вход, свой холодильник и даже собственный Wi-Fi. Linux позволяет любому процессу работать "в отдельной квартире", чтобы никто не подглядывал и не мог устроить аврал в коридоре. Для Oniux это гарантирует, что приложение не "увидит" ничего, кроме виртуального интерфейса, созданного специально для Tor.
- Network namespace — каждый процесс видит только свои сетевые интерфейсы и роутинг.
- Mount namespace — у процесса собственный набор смонтированных файловых систем (например, свой resolv.conf).
- User и PID namespaces — собственные ID пользователей и процессы, не связанные с остальной системой.
В сумме: даже если приложение попыталось выйти за пределы — у него не получится.
Сценарии применения и реальные примеры
- Аудит безопасности: Проверяете подозрительный бинарник? Просто запускаете его через Oniux — и даже если он вздумает "стучаться" куда не надо, все его попытки ограничены только Tor-ом.
- Разработка анонимных сервисов: Тестируете новые onion-сервисы? С Oniux не боитесь, что софт случайно "провалится" в обычную сеть.
- Гарантированная приватность: Хочется уверенности, что никто не узнает ваш IP — Oniux гарантирует, что даже при баге приложение "не сольёт" вас наружу.
Можно запускать даже браузеры, почтовые клиенты, мессенджеры — главное, чтобы это были Linux-приложения.
Есть ли минусы? Что нужно помнить
Без ложки дёгтя не обошлось. Oniux пока свежий, тестируется мало, в сложных сценариях (нестандартные приложения, сложные сессии) может вести себя неожиданно. Для критических задач лучше всё-таки подождать, пока энтузиасты не обкатают инструмент во всех режимах. Разработчики просят: пробуйте и присылайте баги — именно так инструмент станет "боеспособным".
Заключение: Новый стандарт анонимности?
Oniux — инструмент, который может изменить подход к анонимности в Linux. Вместо старых "хаков" — полноценная изоляция на уровне ядра, никаких обходных путей, никаких случайных утечек. Да, пока это только начало, и многое будет дорабатываться. Но подход явно показывает, куда движется индустрия: всё больше доверия к kernel-space, всё меньше — к "магии" пользовательского пространства.
Те, кто не боится свежих решений, уже могут попробовать Oniux — быть может, вы станете тем, кто поможет довести новый стандарт анонимности до ума.
P.S. Для самых смелых — инструкции и свежие коммиты на официальной странице Oniux .