orjail — запуск программ в пространстве имен сети Tor

Пространство имён (namespaces) — это функция ядра Linux, позволяющая изолировать и виртуализировать глобальные системные ресурсы множества процессов. Примеры ресурсов, которые можно виртуализировать: ID процессов, имена хостов, ID пользователей, доступ к сетям, межпроцессное взаимодействие и файловые системы.

Как это работает?

Orjail создает разделенное пространство имен (используя ip netns) сети со своим собственным сетевым интерфейсом и ссылкой на интерфейс хоста с некоторыми правилами iptables (на хосте), которые заставляют трафик, генерируемый изнутри orjail, идти только через Tor (включая dns).
Внутри orjail вы будете в другом пространстве имен pid (таким образом вы не можете переключить пространство имен) и другом пространстве имен монтирования.

Если вы найдете способ деанонимизировать программу, запущенную внутри orjail (также shell с привилегиями root), было бы приятно поделиться им с разработчиком.

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

  1. orjail требует разрешение root для запуска
  2. orjail запускает вашу программу с правами вашего пользователя
  3. orjail запустит экземпляр tor, привязанный к интерфейсу orjail

 

Примеры использования

запуск скрытого сервиса внутри orjail (вы найдете свой адрес внутри examples/hostname)
sudo orjail -v -H 8080 -d examples "python -m SimpleHTTPServer 8080"

получение содержимого домашней страницы с помощью curl через tor
sudo orjail curl autistici.org > autistici.org

тоже самое, но с другим пользователем
sudo orjail -u another_user curl autistici.org

получить содержимое веб-сервера сайта через tor:
sudo orjail curl wi7qkxyrdpu5cmvr.onion