Si se quiere estar seguro de que el único tráfico de un host es a través de la red tor, se pueden usar estas reglas del firewall iptables para denegar todo tráfico que no sea de tor.
########################## IPv4 # Borra las reglas de salida actuales. iptables -F OUTPUT # Permite el tráfico saliente de procesos con usuario "tor". iptables -A OUTPUT -j ACCEPT -m owner --uid-owner tor # Permite tráfico saliente desde el interfaz de loopback. iptables -A OUTPUT -j ACCEPT -o lo # Permitir algunos servicios UDP #iptables -A OUTPUT -j ACCEPT -p udp --dport 123 # Se deniega todo el tráfico saliente. iptables -P OUTPUT DROP #iptables -L -v ########################## IPv6 ip6tables -F OUTPUT ip6tables -A OUTPUT -j ACCEPT -m owner --uid-owner tor ip6tables -A OUTPUT -j ACCEPT -o lo #ip6tables -A OUTPUT -j ACCEPT -p udp --dport 123 ip6tables -P OUTPUT DROP
Si se usa el navegador de tor, este se debería arrancar usando el mismo usuario que el proceso tor (tor, tor-debian, etc) configurado en iptbales. A diferencia del servicio tor normal (puerto 9050), el navegador viene con su propio servidor (puerto 9150 normalmente). Para ello se podrían ejecutar los siguientes comandos para arrancar tor-browser con privilegios de usuario tor. De esta manera funcionará con las reglas iptables definidas anteriormente.
chown -R tor:tor tor-browser_en-US_tor/ # Ejemplo con el usuario "tor". su -s /bin/bash tor cd tor-browser_en-US_tor/ ./start-tor-browser.desktop