Параноикам посвящается

- Я не присягал ни одной системе!

- Что, что?

- Операционной, в смысле!

(Из беседы в военкомате)

Каким образом можно узнать, кто с кем общается через Интернет? Да запросто. Для этого служит так называемый "анализ потока данных", который позволяет третьим сторонам выяснить источник и приёмник интернет-трафика, что, в свою очередь, раскрывает ваши поведение и интересы в Сети. Это может обойтись вам дорого: например, раскроет ваши деловые связи и может даже угрожать лично вам, так как третьим лицам становится известно, кто вы и где вас можно найти. Как бы вы ни шифровали свои данные, заголовки пакетов, используемые для маршрутизации, вы не зашифруете, что и выдаёт вас не только вашему провайдеру, но и провайдеру получателя, а то и вообще неавторизованному наблюдателю. Использование простого анонимайзера малоэффективно по следующим причинам: во-первых, источник и приёмник всегда видны конечным провайдерам, могущим иметь между собой соглашение; во-вторых, анонимайзер, который вы собрались использовать, может быть заблокирован или просто недоступен; в-третьих, адрес приёмника тоже может оказаться заблокированным на пути следования пакетов; в-четвёртых, одиночный прокси-сервер малоустойчив против так называемой атаки пересечения. Последняя состоит в тривиальном сопоставлении времён отправления и получения сообщения. Кроме того, ручная настройка-перенастройка атрибутов прокси на своём компьютере - занятие утомительное. Как же быть?

Вспомним об известном принципе: так затруднить третьим лицам анализ сообщений, чтобы затраты на этот анализ намного перевесили "интерес" этих самых третьих лиц. Способ такого затруднения имеется, он вытекает из самой сущности транспортировки пакетов по протоколу TCP (а это веб-трафик, ftp, ssh и т. д.) и состоит в достаточно быстром создании и разрушении в процессе передачи данных виртуальных туннелей из цепочек прокси-серверов между источником и приёмником. Фишка в том, что сообщение между смежными прокси-серверами надо шифровать каждый раз по-разному. Вручную реализовать такой способ практически невозможно. Но если для пользователя, не обременённого техническими познаниями (репортёра, например), эту работу автоматизировать, то задачу можно считать решённой. Однако тут возникает проблема: организация, взявшая на себя поддержку подобной прокси-сети, и будет владеть всей конфиденциальной информацией, передаваемой через эту сеть.

Некоторый экскурс в историю. Впервые система шифрующих анонимайзеров (узлов системы) была разработана в исследовательской лаборатории ВМС США. Возможно, нужда в этой разработке обуславливалась желанием находящихся в длительном плавании моряков пользоваться Интернетом, но требовалось сокрытие местонахождения, т.е. похоже, что уже изначально система не несла какой-то особой военной нагрузки. Однако монополизация системы вызывала недоверие к ней. По этой причине, а также из-за необходимости доработки и развития, в 2002 г. разработку решили рассекретить, исходные коды передать независимым разработчикам, а систему сделать расширяемой за счёт компьютеров клиентов. В результате было создано клиентское ПО и опубликованы исходники под свободной лицензией, чтобы все желающие могли принять участие в его отладке. Проект был поддержан известной правозащитной общественной организацией Electronic Frontier Foundation, которая приложила большие усилия по пропаганде и расширению сети шифрующих прокси-узлов. В итоге сейчас сеть содержит более полутора тысяч узлов, разбросанных по всему миру. Узлы системы подвергались многочисленным атакам, особенно со стороны КНР, но система выстояла и работает. Система изначально получила название TOR как сокращение от "The Onion Router", т.е. "луковая маршрутизация". Официальный сайт проекта - www.torproject.org.

Как же работает система TOR? На ваш компьютер устанавливается соответствующее программное обеспечение (ПО). Какое именно и как оно устанавливается - чуть позже. На первом этапе вашему компьютеру позволяется получить список некоторой части входных прокси-серверов системы TOR. Это один из принципов: TOR никогда никому не раскрывает себя полностью. Если окажется, что большинство серверов в вашем списке подавлено или заблокировано, то список может быть обновлён. Но не обольщайтесь: предпочтение отдаётся тем, кто предоставил свой компьютер системе как сервер. Это второй принцип TOR: любишь кататься - люби и саночки возить. "Принцип саночек" характерен и для торрент-систем, но в совершенно другом аспекте. Вернёмся к системе TOR.

 

Отправляя сообщение, например, начиная закачивать нечто с помощью "торифицированного" ПО, сначала попадаете на один из входных TOR-серверов предварительно созданной цепочки, который вам присылает тройной ключ как атрибут цепочки. По существу вам присылают три ключа. Данные в каждом пакете шифруются трижды, т.е. как бы защищаются тремя "луковыми" кожурами. Обычно цепочка содержит три прокси-сервера. Назовём их A, B и C. По мере прохождения данных от источника к получателю сервер A снимает с данных первый кодирующий слой, сервер B - второй слой, наконец, сервер C снимет последнюю шелуху, и данные попадают к получателю в первозданном виде, но, естественно, не с вашим IP-адресом. Это третий принцип TOR: не позволять третьим сторонам сопоставлять пакеты, что сильно затрудняет атаки пересечения. Нетрудно сообразить, что данные в пакете, уходящем от отправителя, НЕ совпадают с данными, поступающими к получателю, так как отправляемые данные зашифрованы, а получаемые - нет. Собственно, в многослойности шифрования и состоит "луковость", а логотипом TOR-систем часто служит стилизованное изображение луковицы, думается, как юмор разработчиков: мол, заплачешь, раскрывая отправителя. Четвёртый принцип TOR: виртуальная цепочка НЕ постоянна! Через некоторое время данные пойдут уже совсем по другой цепочке. За все эти удобства пользователь платит задержками, иногда значительными - до нескольких минут, но так как эти задержки не имеют постоянной величины, то это дополнительно затрудняет атаку пересечения третьей стороной. Впрочем, довольно теории, поставим TOR на компьютер.

Оговорюсь сразу, что я не буду рассматривать, как это делается для ОС Windows. Не потому, что недолюбливаю эту ОС (на самом деле я её очень уважаю и на работе пишу кое-какой софт под неё), а потому, что под Windows мне не удавалось получить результатов, которые бы радовали. По адресу www.torproject.org/docs/tor-doc-windows.html.ru можно прочитать подробную инструкцию по установке TOR для Windows, если кому-то надо. Речь далее пойдёт об ОС "Убунту", которую может установить любой пользователь, если только он не чрезмерно криворукий. Благо, в продаже загрузочных DVD с "Убунту" навалом.

Собственно, для работы с TOR-сетью для вашего компьютера требуются следующие программы: фильтрующий прокси-сервер Privoxy, сам пакет TOR и GUI-интерфейс к нему. Privoxy анализирует заголовки и подменяет их в случае необходимости для предотвращения передачи браузером информации о пользователе. Для установки софта сначала потребуется получить доступ к репозиториям пакетов проекта TOR. Для этого запускаем терминал и командой

gksudo gedit /etc/apt/sources.list

запускаем редактор gedit на правку файла sources.list. Добавляем в конец файла строку

deb http://deb.torproject.org/torproject.org distro main

Заменяем слово distro на название своего релиза "Убунту" (например, intrepid) и сохраняем. Инсталлируем ключи подписи новых пакетов:

gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add - 

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

sudo apt-get update

Устанавливаем пакеты:

sudo apt-get install privoxy
sudo apt-get install tor tor-geoipdb
sudo apt-get install vidalia

Последний пакет - GUI-интерфейс для TOR. Он часто входит в расширенный набор софта, распространяемый вместе с дистрибутивом "Убунту". Убедимся, что установленное ПО работоспособно. Отыскиваем в меню "Приложения->Интернет" значок Vidalia и щёлкаем по нему. Должно открыться окно управления Vidalia. Так как TOR был запущен сразу после установки, то луковица на панели "Состояние" должна быть зелёной. Щёлкаем кнопки "Трафик", "Просмотреть сеть" и "Журнал сообщений". Появится окно "Карта сети TOR" и через минуту-другую на ней появится список доступных входных серверов. Пока остановим TOR, для чего жмём кнопку "Остановить TOR". Если не будем создавать на своём компьютере сервер, то Vidalia нам далее может понадобиться только в том случае, если провайдер заблокирует все ваши входные серверы, что вряд ли. Но если это случилось, то в окне управления жмём "Настроить сервер", в открывшемся окне жмём "Настройки" и ставим птичку в чекбоксе "Мой провайдер блокирует доступ к сети TOR". Немедленно появится панель "Настройка моста", жмём кнопку "Найти мосты", через несколько секунд поиска новых входных узлов вам будет выделено ещё несколько входных серверов.

Теперь немного настроим веб-прокси Privoxy путём редактирования его конфигурационного файла config. Для этого в терминале запускаем команду

gksudo gedit /etc/privoxy/config

и добавляем в начало файла config вот такую строку:

forward-socks4a / 127.0.0.1:9050 .

Строка оканчивается точкой! Не потеряйте точку. Этой строкой определяется т.н. "слушалка" Сети. Чтобы не создавались лог-файлы из входящих запросов, удалите или закомментируйте символом решётки следующую строку (хотя это и не обязательно):

logfile logfile

Сохраняем config на место, закрываем редактор gedit. Перезагружаемся. Учтите, что после перезагрузки установленные privoxy и tor будут запущены. В этом вы можете убедиться, открыв системный монитор.

Далее надо "торифицировать" браузер, т.е. заставить его работать с сайтами через сеть TOR. Это совсем просто. Если у вас Firefox, то всего лишь потребуется установить дополнение Torbutton. С помощью этого дополнения можно оперативно управлять браузером: быстро выбирать, работать ли через сеть TOR или как обычно. Запускаем Firefox, идём на https://addons.mozilla.org/ru/firefox/addon/2275 и жмём кнопку "Установить". В строке состояния браузера появится кнопка с красным текстом "Тор отключён". Жмём эту кнопку. Через несколько секунд текст на кнопке изменится и станет зелёным: "Тор включён". Протестируем, удаётся ли работать через TOR-сеть. Для этого при включённом TOR'е просто идём на https://check.torproject.org. Если через несколько секунд на экране появляется сообщение "Congratulations. You are using Tor", то всё в порядке.

Теперь для продвинутых пользователей. Работать, как клиент системы TOR, конечно, интересно, трафик увеличивается незначительно, но анонимность в Сети можно ещё усилить: чтобы запутать наблюдателя, надо сделать свой компьютер тоже сервером сети TOR, тогда не ясно, кто инициирует соединение. Одно отступление. Как отмечалось, демон TOR запускается при загрузке компьютера. Это мешает управлению через Vidalia, поэтому уберём TOR из автозапуска, чтобы запускать его по своему желанию. Не ищите запуск TOR'a в автозагрузке, его там нет, а установите на свой компьютер так называемый Boot-Up Manager, сокращённо BUM, введя терминалом команду:

sudo apt-get install bum

Запустите BUM:

sudo bum

Появится окно с чекбоксами и именами процессов, запускаемых при старте системы. Далее в чекбоксе "Tor" снимите галочку и перезагрузитесь. Прежде чем начать настраивать сервер, установите точное время на своём компьютере.

Запустите Vidalia и нажмите "Настроить сервер", в открывшемся окне щёлкните радиокнопку "Режим сервера". На открывшейся панели с тремя вкладками выбираем "Ограничить трафик", устанавливаем по бедности 256 Кбит/с (25 Кбайт/с) или ещё меньше. На вкладке "Базовые настройки" указываем реально существующий адрес электронной почты, куда будут поступать сообщения о том, что сделано не так; желательно также присвоить себе человеческий ник вместо Unnamed. Настройки сервера хранятся в файлах /home/you/.vidalia/torrc и /etc/hosts, где you - ваш логин в "Убунту". Возможно, настройки потребуется изменить. Подробно о настройках сервера можно почитать в https://www.torproject.org/docs/tor-doc-relay.html.ru. Попытка запуска сервера происходит при нажатии кнопки "ОК" в окне настроек. Если после нажатия этой кнопки вы не получите сообщения вроде "Сonfig lines ... not validate", то считайте, что сервер запущен. Правда, это не значит, что он запущен корректно. Смотрите логи, они вызываются кнопками "Журнал сообщений", "Экспертные". Возможно, в логах вы увидите сообщение о недоступности "слушалок", указанных в базовых настройках сервера. В этом случае устраняйте причину их недоступности. При успехе сервер увидит свои порты снаружи, и в логи поступит сообщение вроде "Reachable from the outside". Произойдёт это минут через 10-20.

Короче, устанавливайте Privoxy, TOR, Vidalia, "торифицируйте" Firefox, отключите в нём куки, джава-скрипты и... не выходите в Интернет! Шутка, конечно, но выполнение джава-скриптов в браузере всё же следует отключить. TOR от них, увы, не защищает.

Михаил ГУРЧИК,
gor-mike@tut.by

Версия для печатиВерсия для печати

Номер: 

06 за 2010 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Страницы

Аватар пользователя Инкогнито
А фидошник тоже баран раз тор не асилил
Аватар пользователя mike
Да, баран я: иксу пытался хелпить, а зачем? Всё равно будет хула. Больше иксам не отвечаю.
Аватар пользователя Частокол
> 05:27, суббота

Майк, ты что, сутками над форумом по своей статье дежуришь? :-))))

Поспал бы, что ли....

Аватар пользователя mike
Дык спрашивают же, в личку пишут. Др. браузеры тоже просто торятся. Напр., "Хром": "Настройки->Параметры"->Расширенные->Изменить настройки прокси->Ручная настройка", ставим IP=127.0.0.1, порт=8118, применяем. Чтобы расториться, (тор остаётся включённым!) "Настройки->...->Прямое соединение". Но не вздумайте напрямую зайти на форум, заториться и пакостить: попадётесь на DNS-утечке. :)
Аватар пользователя Matador
Лично мне статьи Майка очень даже нравятся. И я уважаю человека, который смог разобраться с кардинально новой для него операционкой и писать грамотные и интересные статьи.
Аватар пользователя mike
Спасибо, Матадор, на добром слове; но Линукс мне ещё постигать и постигать. Пишу из принципа: освоил -- делюсь.

Страницы