Своя прокладка под впн, или скажем нет логированию.

Тема в разделе "Безопасность и анонимность", создана пользователем admin, 3 апр 2017.

  1. admin

    admin Administrator Команда форума Администратор Модератор форума

    Сообщения:
    1.437
    Симпатии:
    163
    Хорошечного всем денечка, уважаемые пользователи bdf.ms. Сегодня поговорим про прокладку между вами и vpn, дабы спрятать концы в воду.

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

    Думаю также многие задаются вопросами доверия к vpn-сервисам, т.к. большинство из них обещает не хранить логи и вообще являются недоступными для органов, что на деле оказывается иногда сильным преувеличением.

    Собственно ничего супер нового я не предложу, просто расскажу как добавить звено между вами и вашим vpn-сервисом, дабы не светить свой ip-адрес для них.
    Стоит рассмотреть два распространенных случая настроек:
    1) для тех кто работает со своей хостовой машины
    2) для тех кто работает с виртуалки

    Для обоих случаев общим будет необходимость поднять свой vpn-сервер на отдельной vps, через который мы и будем подключаться к vpn-сервису, которым мы пользуемся. Собственно привожу тут набор команд, необходимый для поднятия минимального и простейшего vpn-сервера на базе vps с установленным Debian. Конфиг приводиться просто для справки, и не претендует на полноту.


    Код:
    apt-get install openvpn
    cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/

    # редактируем переменные для генерации сертификатов
    nano ./vars

    # обязательны к изменению строки (остальные по желанию)
    export KEY_SIZE=1024 # Длинна ключа (ставим минимум 2048)
    export KEY_EXPIRE=3650 # Срок действия ключа в днях

    # инициализируем переменные и чистим папку keys
    . ./vars
    . ./clean-all

    #создаем сертификаты
    ./build-ca # корневой сертификат
    ./build-key-server server # сертификат сервера
    ./build-dh # параметры для протокола Диффи-Хелмана

    #переносим полученные сертификаты
    cp ./keys/ca.crt /etc/openvpn
    cp ./keys/server.crt /etc/openvpn
    cp ./keys/server.key /etc/openvpn
    cp ./keys/dh1024.pem /etc/openvpn #цифра после dh будет зависеть от битности ключа

    #ну и создаем сертификаты пользователей
    ./build-key-pkcs12 myvpn.windows # имя выбираете какое хотите, поля заполнять необзательно, главное как всегда запомнить пароль который вас попросят ввести дважды


    #теперь настраиваем сам vpn-сервер
    zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/server.conf #берем заготовку из состава самого пакета

    nano /etc/openvpn/server.conf

    # обязательно меняем следующее (просто чтобы работало):
    local IP_АДРЕС_ВАШЕГО_СЕРВЕРА
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS x.x.x.x"
    push "dhcp-option DNS y.y.y.y"
    port 1194 #порт стандартный, желательно поменять но при этом надо не забыть поменять и в настройках клиента

    # применим настройки файрвола через rc.local, можно сделать иначе, но я остановился на этом варианте.
    nano /etc/rc.local

    # добавляем
    iptables -A FORWARD -s z.z.z.z/24 -j ACCEPT
    iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -t nat -A POSTROUTING -s z.z.z.z/24 -o eth0 -j MASQUERADE
    # сохраняем

    nano /etc/sysctl.conf

    # раскомментировать обязательно (разрешение перенаправления трафика)
    net.ipv4.ip_forward=1

    reboot #перезагружаем vps
    Когда половина дела сделано, можно подключаться к уже поднятому VPN-серверу. Для этого надо сначала вытащить сертификаты из папки:
    /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ (ssh, sftp, mc - как вам угоднее)

    Далее примеры конфига:

    Код:
    remote IP_СЕРВЕРА 1194 # порт менять не забываем, если на сервере его перенесли
    client
    dev tun
    ping 10
    comp-lzo
    proto udp
    tls-client
    remote-cert-tls server
    pkcs12 myvpn.windows.p12 #проверьте имя сертификата чтобы совпадало с тем что вытащили с сервера
    verb 3
    pull
    Собственно запускаем у себя на пк vpn с этим config-ом, вводим пароль, проверяем свой ip (whoer.net, 2ip), там должен светиться сейчас адрес вашего VPS-сервера.

    Далее для тех кто работает с виртуальной машины все просто:
    0) направляем трафик с виртуальной машины через хостовую (не пишу точный путь настроек, т.к. у разных систем виртуализации они отличаются, просто можно выставить NAT как способ подключения к интернету в настройках виртуальной машины)
    1) Со своей хостовой машины подключаемся к нашему vpn-серверу
    2) С виртуальной машины подключаемся к vpn-сервису
    3) профит - заходим с виртуалки на whoer.net и радуемся увидев там выходную точку своего vpn-сервиса

    Для тех кто работает со своей хостовой машины нужно совершить следующие действия:
    1) На ваш vps нужно закинуть конфиг с которым вы подключаетесь к вашему vpn-сервису
    2) на сервере подключиться с использованием этого конфига. Если ввод пароля для vpn не требуется то запускаем сразу в бекграунд: nohup openvpn ./config.ovpn &. В случае если требуется вводить пароль, запускаем как обычно: nohup openvpn ./config.ovpn , затем дожидаемся подключения и нажатием CTRL-Z усыпляем процесс, затем командой bg 1 убираем его в бекграунд. З.Ы. вместо nohup можете ипользовать любые другие аналогичные утилиты.
    3) Готово - заходим и проверяем свой ip.

    На этом всё, спасибо за внимание и уделенное время. Надеюсь, кому-нибудь да пригодиться.
  2. Wancor

    Wancor New Member

    Сообщения:
    3
    Симпатии:
    0
    Спасибо за статью. Как раз искал подобный мануал. Можете дать какие-то рекомендации по выбору хостинга под VPS? Страна, тип виртуализации и т.п.

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