Як створити єдиний мережевий інтерфейс Tor, який підходить для Firejail?


4

Відомий, але небезпечний метод - використання torify. Це небезпечно, оскільки ми просимо програму використовувати Tor, а не змушувати її. Якщо додаток погано поводиться або використовується помилка, воно все одно дозволить здійснювати з'єднання, що не стосуються Tor, із зовнішнім світом.

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

Отже, як я можу створити мережевий інтерфейс, призначений лише для Tor, який може подаватися в Firejail ? Згідно з документацією Firejail, він приймає будь-який інтерфейс мостової мережі:

Firejail може приєднати новий стек мережі TCP / IP до пісочниці. Новий стек має власну таблицю маршрутизації, брандмауер та набір інтерфейсів. Він повністю незалежний від стека вузлової мережі.

  • Створіть нові інтерфейси - Macclan і пристрої мостового ядра Linux створюються та переміщуються автоматично в пісочниці.
  • Переміщення існуючих інтерфейсів - існуючі інтерфейси можна переміщувати всередині пісочної скриньки. Конфігурація інтерфейсу збережена.

Відповіді:


4

Firejail з Tor HOWTO https://www.void.gr/kargig/blog/2016/12/12/firejail-with-tor-howto/

Я не можу перевірити, що tor працюватиме, як зазначено у вищенаведеній статті, однак ssh переадресація з використанням того ж підходу (тобто, порт socks5) працює чудово.


«Перенаправити трафік з моста HTTP проксі» superuser.com/questions/1172607 / ... - я в даний час з допомогою цієї конфігурації , але з Privoxy замість tinyproxy, який (а також рекламних блокування) маршрут HTTP запити через SOCKS проксі.
користувач5321531

3

ми реалізували ще одне рішення, як підтримка firejail - прапор netnet. для того, щоб зв’язати firejail всередині простору імен мережі, яка могла б дістатися до Інтернету лише через tor, кроки:

# configure tor with this configuration
AutomapHostsOnResolve 1
TransPort 9040
TransListenAddress 10.0.0.1
DNSPort 5354
DNSListenAddress 10.0.0.1
SOCKSPort 0

тоді..

# create a new network namespace named torjail
ip netns add torjail

# create two virtual ethernet  interface
ip link add out-torjail type veth peer name in-torjail

# bind one interface to torjail network namespace
ip link set in-torjail netns torjail

# set interfaces ip and default routing
ip addr add 10.0.0.1/24 dev out-torjail
ip link set out-torjail up
ip netns exec torjail ip addr add 10.0.0.2/24 dev in-torjail
ip netns exec torjail ip link set in-torjail up
ip netns exec torjail ip route add default via 10.0.0.1

# forward all dns traffic to tor DNSPort
iptables -t nat -A  PREROUTING -i out-torjail -p udp -d 10.0.0.1 --dport 53 -j DNAT --to-destination 10.0.0.1:5354

# forward all traffic to tor TransPort
iptables -t nat -A  PREROUTING -i out-torjail -p tcp --syn -j DNAT --to-destination 10.0.0.1:9040

# accept established connection
iptables -A OUTPUT -m state -o out-torjail --state ESTABLISHED,RELATED -j ACCEPT

# accept only forwarded traffic
iptables -A INPUT -i out-torjail -p udp --destination 10.0.0.1 --dport 5354 -j ACCEPT
iptables -A INPUT -i out-torjail -p tcp --destination 10.0.0.1 --dport 9040 -j ACCEPT
iptables -A INPUT -i out-torjail -p udp --destination 10.0.0.1 --dport 9040 -j ACCEPT
iptables -A INPUT -i out-torjail -j DROP


# finally run firejail within torjail namespace
firejail --dns=10.0.0.1 --netns=torjail $YOUR_ANONYMOUS_COMMAND_HERE

ми реалізували цей метод torjailдля простого використання, погляньте:

https://torjail.github.io
https://github.com/torjail/torjail

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.