1

Существует ли какая-либо программа или способ включить только безопасное соединение через opensuse, и, например, если я случайно открою свой обычный браузер, он не будет подключаться.

Также есть программа, с помощью которой я могу контролировать свой сетевой трафик в режиме реального времени, чтобы убедиться, что он работает. Например, какая программа подключается к тому, что IP, и если он вообще не использует Интернет. Заранее спасибо.

Я попытался использовать встроенный YAST-Firewall, но не нашел его очень полезным.

2 ответа2

1

Да, вы можете, но вам это не понравится. Tor очень медленный даже для просмотра современных веб-страниц, и тем более для всего остального. Высокая задержка и склонность к потере пакетов делают его непригодным, например, для двунаправленной связи в режиме реального времени. Что еще хуже, Tor оказался не таким безопасным, как нам всем хотелось бы, особенно если вы используете его для обхода государственного надзора.

Тем не менее, в Tor's Wiki есть руководство, которое поможет вам включить прозрачный прокси (см. Оригинал здесь):

  1. Откройте файл конфигурации Tor (/etc/tor/torrc в OpenSUSE) с полномочиями суперпользователя, чтобы добавить следующие строки:

    VirtualAddrNetworkIPv4 10.192.0.0/10
    AutomapHostsOnResolve 1
    TransPort 9040
    DNSPort 53
    
  2. Чтобы перенаправить DNS-запросы через Tor, откройте файл /etc/resolv.conf с привилегиями суперпользователя и замените все, что в нем, этой строкой:

    nameserver 127.0.0.1
    
  3. Напишите скрипт iptables который предотвращает перенаправление пакетов, предназначенных для вашей локальной сети, на Tor. В следующем примере 192.168.0.0/24 и 192.168.1.0/24 являются локальными сетями:

    #!/bin/sh
    
    ### set variables
    #destinations you don't want routed through Tor
    _non_tor="192.168.1.0/24 192.168.0.0/24"
    
    #the UID that Tor runs as (varies from system to system)
    _tor_uid="109"
    
    #Tor's TransPort
    _trans_port="9040"
    
    ### flush iptables
    iptables -F
    iptables -t nat -F
    
    ### set iptables *nat
    iptables -t nat -A OUTPUT -m owner --uid-owner $_tor_uid -j RETURN
    iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-ports 53
    
    #allow clearnet access for hosts in $_non_tor
    for _clearnet in $_non_tor 127.0.0.0/9 127.128.0.0/10; do
      iptables -t nat -A OUTPUT -d $_clearnet -j RETURN
    done
    
    #redirect all other output to Tor's TransPort
    iptables -t nat -A OUTPUT -p tcp --syn -j REDIRECT --to-ports $_trans_port
    
    ### set iptables *filter
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    
    #allow clearnet access for hosts in $_non_tor
    for _clearnet in $_non_tor 127.0.0.0/8; do
      iptables -A OUTPUT -d $_clearnet -j ACCEPT
    done
    
    #allow only Tor output
    iptables -A OUTPUT -m owner --uid-owner $_tor_uid -j ACCEPT
    iptables -A OUTPUT -j REJECT
    

Вы в значительной степени сделали. Возможно, вы захотите внести некоторые коррективы, в зависимости от ваших конкретных потребностей. Например, вы можете удалить iptables -F и iptables -t nat -F если у вас установлены другие правила пересылки NAT.

0

Это возможно с помощью iptables и пользовательского модуля.

Поскольку демон tor обычно запускается от имени пользователя "tor", мы можем использовать владельца модуля iptables для фильтрации исходящего трафика на основе пользовательского uid.

В этом примере мы отбросим весь трафик, который не инициирован пользователем, который запускает демон tor.

Во-первых, давайте предположим, что вы начинаете с пустой политики брандмауэра. Вы хотите, чтобы у этого была политика по умолчанию, чтобы отбросить весь трафик.

iptables -P INPUT drop
iptables -P OUTPUT drop
iptables -P FORWARD drop

Теперь вы хотите принять входящий трафик, связанный с установленным соединением. Обратите внимание, что вы можете выполнять фильтрацию только по имени пользователя в исходящем трафике. Вы не можете контролировать пакеты, отправленные из Интернета.

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Разрешить трафик в интерфейсе обратной связи. Это позволит вам подключиться к демону tor socks, работающему через порт 9050.

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

И, наконец, вам придется разрешить трафик от пользователя "тор".

iptables -A OUTPUT -o inet-iface -m owner --uid-owner tor-uid -j ACCEPT

Замените inet-iface и tor-uid на интерфейс, к которому вы подключаетесь к интернету, и uid своего пользователя tor.

Вуаля, весь трафик, не связанный с Tor, теперь должен быть заблокирован.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .