Уважаемые пользователи форума, убедительно просим вас переходить в телеграмм продавца, исключительно по предоставленной ссылке. Проверяйте продавца, отправив сообщение на электронную почту, чтобы убедиться в том, что вы общаетесь действительно с ним.

SBC+VPN+Tor+obfsproxy в кармане(2016)

Тема в разделе "Безопасность", создана пользователем TEXHO, 12 июл 2016.

  1. TEXHO

    TEXHO Member

    Сообщения:
    141
    Симпатии:
    0
    В этой статье будет рассказано об одном из вариантов получения переносного решения с Tor, VPN и обфускацией, к которому можно подключить свои мобильные устройства, ПК или ноутбук.

    Постановка задачи: получить одноплатный компьютер, который можно подключить к своему ноутбуку/ПК/мобильному устройству и который будет заворачивать трафик сначала в VPN, затем в Tor, обфусцировать с помощью obfs-proxy и отправлять на удаленный VPN-сервер.

    Исходные данные:

    1) Одноплатный компьютер. В моем случае это Raspberry Pi модель B+;
    2) ОС Raspbian. Для данной статьи использовалась Raspbian Jessie, билд от 18-03-2016;
    3) Карта памяти (Micro SD);
    4) Картридер;
    5) Беспроводной адаптер или переходник ethernet to usb;
    6) Удаленный OpenVPN сервер.

    Схемы подключения:

    1) eth-eth

    [​IMG]

    2) wlan-eth

    [​IMG]

    3) wlan-wlan

    [​IMG]

    4) eth-wlan

    [​IMG]

    Обозначения:

    1. SBC — одноплатный компьютер;
    2. CR — устройство, через которое осуществляется доступ в Интернет. Устройство не обязательно может быть подключено напрямую в порт SBC;
    3. PC — какой-либо компьютер (или мобильное устройство) подключаемое к SBC;
    4. VPN-server — целевой VPN сервер;
    5. Входной интерфейс — физический интерфейс, куда поступает клиентский трафик;
    6. Выходной интерфейс — физический интерфейс, с которого трафик уходит в Интернет.

    Допущения:

    В статье рассматривается случай, когда параметры для линка в интернет приходят по DHCP или задаются статически. Для случаев с получением параметров для линка по L2TP, PPPoE или иных ситуаций настройка будет отличаться. Также будем считать, что для удобной работы VPN-сервер выступает как DNS-relay.

    Установка системы и подключение

    На официальном сайте Rasbian присутствуют очень подробные инструкции для записи образа для Linux, Mac OS и Windows, поэтому я не буду описывать процесс записи образа ОС на карту памяти, чтобы не загромождать статью. По своим наблюдением могу сказать, что лучше брать карту от 16 Гб, чтобы избежать в будущем проблем с нехваткой памяти.

    С подключением к плате после записи образа и включения может быть несколько вариантов:

    1) Если у вас есть специальный экран/монитор/телевизор c поддержкой hdmi, то достаточно его подключить по hdmi;
    2) Если экрана нет, но параметры на физический интерфейс приходят по DHCP, то можно просканировать сеть nmap-ом с другого компьютера и подключиться по ssh. Пользователь pi, пароль raspberry;
    3) Если нет DHCP, то можно отредактировать файл /etc/network/interfaces и прописать туда адреса вручную.


    Форвардинг трафика

    Для того, чтобы трафик пересылался с одного интерфейса на другой, необходимо, чтобы был включен соответствующий параметр ядра Linux. Это можно сделать с помощью команды:

    sysctl -w net.ipv4.ip_forward=1
    или

    Code:
    echo 1 /proc/sys/net/ipv4/ip_forward​

    Для проверки можно использовать команду:

    Code:
    cat /proc/sys/net/ipv4/ip_forward​

    Она должна вернуть «1».

    iptables

    Для того, чтобы упростить маршрутизацию трафика, включим маскардинг для туннельного интерфейса с помощью iptables:
    Code:
    iptables -t nat -A POSTROUTING -s 10.5.5.0/24 -o tun0 -j MASQUERADE​

    Вместо этого можно было бы прописать статические маршруты и статический адрес для клиента. Или использовать ccd.


    Установка пакетов

    Обновить репозитории и получить обновления:
    Code:
    sudo apt-get update
    sudo apt-get upgrade​

    Установка из репозиториев:
    Code:
    sudo apt-get install python2.7 python-pip python-dev build-essential tor openvpn obfs-proxy​

    Если вы хотите схему с точкой доступа, то помимо этого установим hostapd и DHCP-cервер:
    Code:
    sudo apt-get install hostapd isc-dhcp-server​

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


    Настройка сетевого подключения

    Схема eth-eth

    Данный вариант является самым простым. На физическом интерфейсе Raspberry Pi, к которому подключается ПК, достаточно настроить статический адрес. На ПК также задать параметры вручную. Также можно настроить isc-dhcp-server, чтобы он выдавал параметры. На клиентской машине на Linux для первоначальной настройки достаточно выполнить команды:
    Code:
    ip a add 10.5.5.2/24 dev <интерфейс
    ip route add default gw 10.5.5.1​

    А в файл /etc/resolv.conf добавить запись:
    Code:
    nameserver 10.8.0.1​

    Схема wlan-eth

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

    Для организации wi-fi точки доступа с DHCP я использовал связку hostapd и isc-dhcp-server, но не обязательно использовать именно эту связку. На хабре есть несколько очень подробных статей по настройке различных вариантов в Linux. Ссылки я привел в источниках.

    Привожу пример своих настроек:

    /etc/hostapd/hostapd.conf
    <div style="margin:20px; margin-top:5px

Поделиться этой страницей