HOWTO: Анонимизируем свою работу в Internet с помощью Tor
Что?
Tor - это программа, распространяющаяся по лицензии BSD, разработанная Roger Dingledine и Nick Mathewson, которая дает возможность анонимного доступа в Internet через TCP.
На сайте разработчиков написано:
Tor - это набор средств, которые подойдут как для организаций, так и для обычных пользователей, которые хотят улучшить безопасность работы в Internet. Tor поможет вам засекретить работу браузера, программ обмена мгновенными сообщениями, IRC, SSH и других приложений, использующих протокол TCP. Tor также предоставляет платформу, на которой можно разрабатывать приложения с уже встроенными функциями защиты.
Целью Tor является защита пользователя от:
анализа трафика;
сетевого надзора, который может угрожать безопасности пользователя;
раскрытия конфиденциальной информации о бизнес-активности и бизнес-отношениях.
Технология Tor основана на использовании большого количества Tor-серверов (nodes), вся входящая и исходящая информация проходит через эти сервера.
Также Tor позволяет устанавливать так называемые скрытые сервисы Tor, т.е. разного вида серверы (Web, SSH и так далее) с IP, скрытым от пользователей.
Почему?
Зачем использовать Tor? Наверное для того чтобы никто не смог собирать, анализировать и использовать против вас информацию о вашем пребывании в Internet. Или возьмем другой пример. Вы хотите скачать что-нибудь в Internet, но не хотите чтобы можно было узнать кто это делает. Или, предположим, есть сервер, скачивать с которого можно одновременно только один файл. Используя Tor, вы можете менять ваш IP каждую минуту. Сессия скачивания не прерывается. Поэтому во вкладках Firefox можно одновременно загружать несколько файлов. Применений много. Но все это замедлит работу в Internet, так как запрос и ответ должны пройти Tor-сервера (примечание переводчика).
Как?
Как я уже упоминал выше, запрос браузера (клиента мгновенными сообщениями, агрегатора RSS...) сначала проходит сеть Tor-серверов, доходит до нужного сервера и обратно, уже через другие сервера, попадает на компьютер пользователя. При этом набор серверов совершенно произволен. Сервера стоят по всему миру. Вероятность вычислить пользователя практически нулевая. Для более полной технической документации можете обратится сюда и сюда.
Для того чтобы использовать Tor, надо установить Tor клиент/демон (не обязательно Server!). Если вы счастливый пользователь Debian и Debian-производных систем (Kubuntu, Ubuntu, MEPIS), наберите следующее:
sudo apt-get install tor
для пользователей других систем, скачайте исходники отсюда и скомпилируйте их.
Обычно Tor используется совместно с Privoxy, специальным HTTP-прокси, который следит, чтобы ваш браузер не допускал всплывающих окон, баннеров, жабаскриптов, кукисов и т.д. В Debian ставим:
sudo apt-get install privoxy
Все. После установки и запуска соответствующих программ, можно приступить к настройке вашего Веб-браузера. Для этого нужно установить Privoxy в качестве HTTP-proxy (описано ниже). После этого Privoxy будет использовать Tor, чтобы скрывать ваше пребывание в Internet. Для этого в файл /etc/privoxy/config добавьте следующее:
"forward-socks4a / localhost:9050 ."
Анонимное использование различных приложений.
Большинство (но не всё) из нижеприведенного описано в Torify HOWTO. Все, чего там не хватает, вы найдете здесь. Поскольку я немного параноик, то работу всех приложений проверял с помощью Ethereal, чтобы убедиться в их анонимности. Если вы такие же как и я, можете проделать тоже самое.
Внимание: DNS утечки:
Главная проблема большинства приложений, это утечка DNS-запросов. Т.е., хотя и используется Tor, приложения сначала посылают DNS-запрос "незатореным" чтобы получить IP-адрес конечной цели. И уже только после этого обращаются к конечной цели ("заторенными"). Следовательно, любой подслушивающий с более чем тремя извилинами сможет выяснить посещенный вами Веб-сайт по DNS-запросу. Чтобы этого избежать, используйте Tor с Privoxy, совместно. Это сводит на нет все DNS-утечки. Многие приложения, основанные не на HTTP, используют маленькие программки, называемые torify, но у них есть DNS-утечки. Смотрите ниже.
HTTP Proxy: 127.0.0.1 port 8118 HTTPS Proxy: 127.0.0.1 port 8118 FTP Proxy: 127.0.0.1 port 8118
Внимание: Хотя Privoxy и не поддерживает FTP, вам все же следует настроить браузер с использованием Tor + Privoxy и для FTP. Сделав это, при попытке набрать ftp:// URLs вы получите ошибку, но зато информация не будет послана незасекреченной.
Внимание: Firefox's "Live Bookmarks" (RSS feeds) могут иметь проблемы при переключении с использование/неиспользование прокси. Firefox периодически запрашивает источники, на которые вы подписались. Так, если вы выключили Tor + Privoxy, Firefox и дальше будет посылать запросы, но уже не анонимно, и вы об этом даже не узнаете. Чтобы этого избежать, удалите все "Live Bookmarks" или никогда не выключайте Tor + Privoxy.
Приложения, основанные на использовании HTTP: lynx, links, w3m, wget, curl, ...:
Большинство других приложений, таких как wget, могут быть анонимизированы, используя переменные окружения http_proxy и HTTP_PROXY. Другие приложение могут иметь другие способы установки HTTP-прокси (программы, которые не поддерживают эти переменные окружения). Добавьте в ваш ~/.bashrc (или заменяющий его) файл, следующее:
Установки http_proxy достаточно, apt-get поддерживает переменную окружения http_proxy. Но вы также можете добавить в файл /etc/apt/apt-conf, следующую линию:
Acquire::http::Proxy "http://127.0.0.1:8118/";
У APT утечек DNS-запросов не наблюдалось.
Внимание: так как Privoxy не поддерживат FTP, то все вышесказанное будет работать только с HTTP источниками (только линии deb/deb-src в /etc/apt/sources.list).
Информация о том, на какие RSS-ленты вы подписаны, является очень заманчивой для многих любителей на этом заработать. Следовательно, очень важно анонимизировать RSS-клиент. Но здесь все просто. Akregator использует напрямую Konqueror, так что если вы настроили последний, то проблем возникнуть не должно.
У Akregator утечек DNS-запросов также не наблюдалось.
Используя только torify fetchmail, вы столкнетесь с утечкой DNS-запросов. Идеальным решением будет использовать tor-resolve (утилиты, которая расшепляет DNS запросы через Tor-сервера), но я пока не нашел как это применить. Поэтому сейчас я использую следующее. Кодирую IP адрес в файле конфигурации ~/.fetchmailrc, а после этого уже, использую torify fetchmail. Но это приводит к выводу разных сообщений, например:
"fetchmail: Server CommonName mismatch: foo.bar.com != xxx.xxx.xxx.xxx"
Fetchmail я всегда запускаю вручную, кликая на иконку, находящуюся в IceWM тулбаре. Поэтому в конфигурационный файл ~/.icewm/toolbar надо добавить запись:
Для тех кто хочет запускать с командной строки, добавьте следующую строку в файл ~/.bashrc :
alias fetchmail='torify fetchmail'
Приложения которые нельзя относительно легко сделать анонимными:
Все что не использует TCP, не может быть легко использованым с Tor, так как последний работает с TCP. Но вы можете безопасно использовать специальные web-интерфейсы, как, например, dnsstuff.com через Tor + Privoxy (если они на заблокируют пользователей Tor).
Не TCP трафик от приложений ping, host, dig, nslookup, nmap, traceroute и многих других.
whois: хотя torify whois google.com приводит к утечке DNS-запроса для whois-server (ваш сервер), зато нет никакой утечки информации о сервере, который вы прослушиваете. Может кто-нибудь это подтвердить? Хотя наверное более безопасный метод - использовать web-интерфейсы.
FTP: хотя torify ncftp в принципе работает, опять же возникают проблемы с утечкой DNS-запросов. Я пока еще не нашел решение этой проблемы.
Sending email (SMTP): Не представляю как можно совместить это с Tor. Большинство Tor серверов блокируют SMTP по умолчанию. Скорей всего самое лучшее решение Mixmaster/Mixminion
CVS, svn, Bittorrent/Azureus (untested HOWTO), usenet clients (pan, slrn), xmms: TODO. : еще не проверялись
О том, почему не стоит применять Tor к торрент-клиенту, читайте в этой статье.
Некоторые полезные советы:
Не потеряйте свою анонимность только из-за своей невнимательности;
IRC: не используете ник, который может указать на вас. Не пользуйтесь такими услугами как DCC. Отключите CTCP, запрос версии, автоматический прием файлов от других пользователей IRC, etc. etc;
Не допускайте случайного доступа до URL скрытых Tor-серверов, если в браузере не активирован Tor+Privoxy. Это может привести к тому, что кто-нибудь сможет вычислить ваши координаты;
Проверьте, что приложение не дает утечки DNS запросов;
Подправьте не только ваши ~/.foobarrc конфигурационные файлы, но и те, что в папке /etc. Не сделав этого, вы можете, например, выйти в Интернет через ssh, lynx или wget под пользователем root. Естественно, вы не будете анонимны;
Везде и во всем отключите автоматические обновления;
Никогда, никогда не думайте что Tor шифрует ваш траффик. Он этого не делает. Поэтому ничего не посылайте в виде обычного текста. Tor только делает анонимным ваш трафик, но не шифрует его. Всегда в дополнение к Tor используйте шифрование;
Следите внимательно за языком, на котором вы пишите. Хороший лингвист, в случае надобности, сможет доказать что написали это именно вы.
Это все. Буду рад услышать ваши комментарии, особенно о том как применить эту технику к другим приложениям. Также пишите если что-нибудь не получилось.
Поддерживаю РФ: Кириллические домены должны поддерживаться в российском ПО и сервисах
Поддержка российским ПО и отечественными сервисами кириллических доменов и адресов электронной почты станет ключевой задачей проекта Поддерживаю.РФ в 2021 году. По словам директора Координационного центра доменов .RU/.РФ Андрея Воробьева, национальный дом
В этой статье мы расскажем о пошаговой установке и конфигурировании Apache 2.0, чтобы снизить риск неавторизованного доступа или успешного взлома в случае применения новой уязвимости, обнаруженной в Apache Web сервере. В результате, можно будет пользовать
В этом цикле статей я хочу рассказать об операционной системе, родившейся прямо на наших глазах - летом 2004 года. Имя ей - DragonFlyBSD, и являет она собой представителя славного племени BSD-систем. В сущности, исходно это fork (порождение) FreeBSD 4-й в