Безопасная работа под Linux

Тема в разделе "Анонимность в сети", создана пользователем evaporator, 27 сен 2016.

  1. evaporator

    evaporator

    Сообщения:
    208
    Баллы:
    16
    Выбор между openvpn и pptp по-моему очевиден. Естественно, если вам важна ваша безопасность.

    Установка и настройка клиента openvpn не отличаются особой сложностью.

    Скачиваете последнюю версию исходников, и банальная последовательность "./configure", "make", "make install" в большинстве случаев всё решает.

    Если вдруг у вас в системе нет ssl - тогда предварительно придётся его установить.

    На первых порах использование openvpn бывает омрачено отсутствием гуё-вого интерфейса, но это дело привычки. Запуск осуществляется примерно так:

    /usr/sbin/openvpn --config /home/user/job-disk/vpn/config.ovpn --daemon
    Где:

    "/usr/sbin/openvpn" - путь к исполняемому файлу (у вас может отличаться);

    "--config /home/user/job-disk/vpn/config.ovpn" - тут мы указываем, где лежит конфиг конкретного сервиса ВПН;

    "--daemon" - этой опцией мы запускаем впн как демон (по виндовому - сервис), в результате он не будет занимать нам терминал и выводить кучу не интересных сообщений о подключении к серверу.

    Вовсе не обязательно каждый раз ********ать в терминале длинную команду запуска. Достаточно прописать всё в маленький скриптик.

    При использовании openvpn под линухом я столкнулся со следующими проблемами:
    Во-первых, openvpn работает с устройством tun (/dev/net/tun), доступ к которому по умолчанию имеет только рут. Не целесообразно это менять. Достаточно прописать в скриптике запуск openvpn с правами суперпользователя:

    sudo /usr/sbin/openvpn --config /home/user/job/vpn/config.ovpn --daemon

    Потом просто подредактируйте свой sudo, или лучше - каждый раз при запуске вводите рут-пароль.

    Во-вторых, под опенвпн ваш провайдер (xDSL, кабельный, спутниковый) перестаёт воспринимать вас как своего клиента и его ДНС-серверы, которые автоматически прописываются у вас в файле /etc/resolv.conf, не хотят вам нахаляву резолвить имена. Поэтому придётся поискать в сети адреса бесплатных серверов, например тут:

    opennic.unrated.net/public_servers.html
    tech-faq.com/public-dns-servers.shtml

    А затем самим прописать их в resolv.conf, предварительно удалив записи о ДНС вашего провайдера. Этим кстати решается и проблема их скрытия. В консоли:

    echo "nameserver 217.115.138.24
    nameserver 199.166.29.3
    " > /etc/resolv.conf


    Это тоже можно добавить в скриптик запуска openvpn. После этих манипуляций ВПН должен работать без проблем.

    КРИПТО-КОНТЕЙНЕР

    Для создания крипто-диска я пользуюсь truecrypt. Поводов предпочесть ему какой-нибудь проприетарный софт я пока не имел. Программа также консольная. Запуск диалога создания крипто-диска:

    truecrypt -c

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

    Монтирование диска осуществляется командой:

    truecrypt -u /home/user/disk /home/user/job

    Где:

    "/home/user/disk" - путь к файлу крипто-контейнера;

    "/home/user/job" - директория, к которой мы монтируем крипто-контейнер.

    Эту команду также имеет смысл прописать в скриптик.

    Итого, скрипт, обеспечивающий запуск ВПН и монтирование файла крипто-контейнера будет выглядеть примерно так:

    #! /bin/sh

    truecrypt -u /home/user/disk /home/user/job

    sudo /usr/sbin/openvpn --config /home/user/job/vpn/config.ovpn --daemon

    echo "nameserver 217.115.138.24
    nameserver 199.166.29.3
    " > /etc/resolv.conf


    Назвать его можно кратенько, например job, и положить в соответствующую папку bin (например: /home/usr/bin).

    В итоге, перед началом работы вам достаточно будет набрать в консоли:

    job

    Затем ввести пароль на крипто-контейнер и пароль рута для запуска ВПН.

    Получается намного быстрее, чем кликанье мышкой по окошкам.

    В скриптик также можно дописать всю ту рутину, которую вы делаете перед началом работы. Например запуск мессенджера, браузера, и т. п.

    Для обеспечения столь же быстрого окончания работы, необходимо создать скриптик, который будет: останавливать ВПН, размонтировать крипто-диск и приводить в первоначальное состояние resolv.conf.

    Он будет выглядеть примерно так:

    #! /bin/sh

    sudo start-stop-daemon -K --exec /usr/sbin/openvpn
    sleep 2s

    truecrypt -d

    echo "bla-bla-bla
    " > /etc/resolv.conf


    Где:

    "sudo start-stop-daemon -K --exec /usr/sbin/openvpn" - используется маленькая программка start-stop-daemon для остановки конкрентного демона, демон определять можно например по расположению его исполняемого файла. Установка start-stop-daemon, если её до сих пор у вас нет, абсолютно банальна.

    "sleep 2s" - даём небольшую паузу, чтобы демон успел остановится.

    "truecrypt -d" - размонтируем все крипто-диски в системе (хотя можно указать и какой-то конкретный диск).

    "echo "bla-bla-bla

    " > /etc/resolv.conf" - ну а тут мы возвращаем предыдущее содержимое resolv.conf на место.
    Назвать его можно, например, stop и кинуть рядом с job.

    Естественно, этот скриптик, как и предыдущий, можно редактировать по своему усмотрению.
    И да, не забудьте сделать оба файла (job и stop) исполняемыми.

    ШИФРОВАНИЕ ОБЩЕНИЯ

    gpg

    gpgme

    libgpg-error

    KGpg

    PSI

    Для безопасной переписки и общения, как мне кажется, наиболее оптимально использовать open-source реализацию PGP - GPG.

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

    В KDE под GPG есть очень удобный gui, называется KGpg. Благодаря ему, настройка и использование GPG под KDE в комментариях не нуждается, всё очевидно и просто.

    Для использования gpg вам нужно будет создать пару ключей - public и private. Первый вы можете отсылать всем, с кем общаетесь. Им будет шифроваться всё то, что вам хотят передать ваши коллеги (письма, сообщения мессенджера, файлы). Расшифровать их можно будет только используя ваш private ключ. Так что, его следует особо бережно хранить.Как мне кажется, наиболее безопасным и дружелюбным протоколом общения является jabber. Ну а лучшим мессенджером на его основе - PSI. Простой и симпатичный интерфейс, поддержка всех особенностей протокола jabber. При использовании PSI я столкнулся лишь с двумя проблемами:

    а) PSI не даёт возможности выбора директории, в которой следует хранить логи переписки. Наименее трудозатратным способом заставить его сохранять логи именно в криптоконтейнер является создание на месте папки с логами (расположена: /home/user/.psi/profiles/default/history) символической ссылки, которая бы вела в папку, где смонтирован крипто-контейнер (/home/user/job/). Например так:

    ln -s /home/user/job/history /home/user/.psi/profiles/default/history

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

    б) для использования GPG шифрования общения в PSI необходимо отметить в KGpg опцию "Use GnuPG agent", т.к. без этого при соединении с сервером не вызывается диалог ввода пароля от вашего секретного ключа, соответственно, соединение не происходит.Для обеспечения безопасного общения в PSI необходимо:

    отметить "use SSL encryption", "ignore SSL warnings";

    убрать галку с опции "Allow plaintext login";

    указать PSI каким private ключом вы будете пользоваться для расшифровки сообщений;
    выслать вашему собеседнику public key, который является парным вашему private ключу;

    получить от собеседника его public key и назначить этот ключ его контакту в PSI (Assign OpenPGP key);

    Нажать на значок замка в окошке чата.

    Ваш собеседник, естественно, должен сделать то же самое.Небольшое замечание: при использовании некоторых jabber-серверов в настройках PSI нужно вручную прописывать хост и порт используемого сервера.

    СОКСИФИКАЦИЯ

    В качестве программы-соксификатора я выбрал консольную ProxyChains. Её последние версии без багов соксифицируют почти весь необходимый софт (за исключением KDE-шного браузера Konqueror). Она лишена многих избыточных функций, но всё необходимое в ней присутствует.

    Настройка программы и добавление соксов осуществляются путём редактирования файла proxychains.conf. В абсолютном большинстве случаев, достаточно просто дописать в его конец строчку вида:

    socks5 123.123.123.123 12345

    Где: "socks5" - определяет вид сокса или прокси (socks4, socks5, proxy);

    "123.123.123.123 12345" - IP и порт используемого сокса. Запуск программы осуществляется так:

    proxychains firefox

    Где после proxychains указывается приложение (или полный путь к исполняемому файлу), которое необходимо соксифицировать.

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