Еще одно интересное применение Privoxy

Аватар пользователя Tolstik

Еще одно интересное применение Privoxy - совместно с программой Tor
Подробности здесь

Хорошо бы, если бы автор данного форума подробнее осветил данные вопросы, соответствующих шаблончиков для Privoxy накидал и т.д.

Аватар пользователя DRVTiny

Re: Еще одно интересное применение Privoxy

Интересно, а к чему их, шаблоны эти, можно прикрутить?
Ладно проехали... Вот написал специально для Вас, Андрей, и для всех интересующихся вопросами защиты собственной конфиденциальности в агрессивной среде Глобального Информационного Пространства товарищей по Клубу, мини-статью на тему установки TOR в связке с Privoxy.

Итак... для того, чтобы TOR работал в связке с Privoxy можно (а в конечном итоге - жизненно необходимо, поскольку устанавливать в системе Privoxy для защиты приватности без использования анонимных прокси - это всё равно, что сохранять инкогнито в целях конспирации, но при этом раздавать всем желающим ключи от собственной квартиры) пойти 2-мя путями: либо вписать в /etc/privoxy/config строку вида:

forward-socks4a <шаблон URL, запросы по которому направляются через TOR>  <адрес:порт, прослушиваемые TOR> <"родительский" http прокси или просто ".", если за Privoxy никаких прокси в цепочке не стоит>

В простейшем случае для того, чтобы перенаправить от Privoxy к TOR вообще весь поток исходящего трафика, достаточно добавить строку forward-socks4a / 127.0.0.1:9050 . (обратите внимание на то, что в конце точка стоит - это не опечатка, она там действительно должна стоять, если Вы никаких прокси после Privoxy не используете, хотя даже если и используете - всё равно правильнее будет определить соотв. настройку (параметр Http(s)Proxy) в свойствах TOR) в /etc/privoxy/config.
Но есть также и второй путь, который предполагает, что все исходящие запросы проходят сначала через TOR, а потом через Privoxy (разумеется, всё, что будет, наоборот, - поступать к нам извне, - сначала профильтруется через Privoxy (и, может быть, на этом этапе будет принято решение об отсутствии насущной потребности в докачке "лишних" частей веб-страниц, что может довольно здорово разгрузить канал), а затем попадёт к TOR'у). Для реализации этого варианта необходимо отредактировать файл /etc/tor/torrc так, чтобы в нём появились следующие строки:

HttpProxy <то, что записано в параметре listen-address файла /etc/privoxy/config, только имя хоста желательно заменить на его IP-адрес, определённый в /etc/hosts или параметрами службы DNS>
HttpsProxy <то же, что и в HttpProxy :-) >

При этом в браузере необходимо прописать TOR в качестве SOCKS-прокси, что, к сожалению, можно сделать далеко не для каждой "смотрелки": например, в моей старенькой Опере 7.22 соответствующего параметра нет и в помине, зато в пользующемся несколько большей популярностью у народа FireFox'е всё делается совершенно элементарно: идём в Правка->Настройки->Основное->Параметры соединения, снимаем галки с HTTP/HTTPS-прокси, меняем тип SOCKS-прокси с "SOCKS 4" (удалённый прокси) на "SOCKS 5" (локальный прокси, коим, собственно, TOR и является (хотя он, конечно, может быть расшарен по локалке, но и в этом случае нужно будет устанавливать его тип в "SOCKS 5", поскольку TOR работает с протоколом SOCKS 4a, т.е. более новым, чем SOCKS 4 и, насколько я понимаю, по сути являющимся не развитием 4-той версии протокола, а отдельной его ветвью, давшей начало следующей за ним - 5-й версии)) и прописываем в полях "SOCKS-прокси" соответственно IP-адрес и SOCKS-порт, прослушиваемые TOR'ом (см. параметр SocksPort в /etc/tor/torrc или, если такового в виду его deprecated-сущности в новых сборках TOR'а не окажется, то см. SocksBindAddress.
Если же строк SocksBindAddress в конфиге ко всему прочему ещё и несколько окажется - поднапрягите память, вспомните зачем Вы их туда собственноручно в таком количестве прописали и тогда уж сами разбирайтесь с тем, что из всего этого разнообразия адресов и портов нужно переносить в настройки браузера ;-) ).

Если же браузером, используемым Вами по умолчанию, является совсем не FireFox, а главная гордость и вополощение мощи оболочки KDE - универсальный, но какой-то уж очень загадочный Konqueror (в нём Socks вроде бы настроить можно, но, собственно, как это сделать, я так и не понял. Надеюсь, хотя бы сами разработчики Konqueror вполне понимают, как этой его замечательной способностью работать через SOCKS-протоколы хотя бы теоретически можно воспользоваться) или Opera ранних версий, то, видимо, придётся либо пойти всё-таки традиционным путём (под номером 1), перенаправляя исходящие пакеты от Privoxy к TOR (что, в общем, не так уж и плохо и даже рекомендуется разработчиками TOR, поскольку это позволяет определять URL, при работе с которыми требуется высокий уровень анонимности и не принципиально некоторое снижение пропускной способности соединения, а также исключить URL тех серверов, которые категорически не желают иметь дело с пользователями, IP-адрес которых непредсказуемым образом периодически меняется и указывает то на студенческий кампус в Германии, то на университет в г.Минеаполис, США), либо настроить дополнительный прокси-сервер, способный осуществлять forward на SOCKS-прокси, - например, для этой цели прекрасно подходит MiddleMan, - и отправлять пакеты по цепочке такого вида: Клиентское приложение (браузер Opera, например) -> Дополнительный прокси (MiddleMan) -> TOR -> Privoxy, хотя в данном случае учитывая то, что основной функцией MiddleMan всё-таки является кэширование (выцарапать у него единожды загруженный по неосторожности баннер или flash-ролик без полной очистки кэша будет не так-то просто) и работа со сжатым контентом через библиотеку zlib, да к тому же MiddleMan ещё и фильтровать поток данных, передаваемых как по HTTP, так и по FTP, не хуже Privoxy умеет, возможно, стоило бы поставить его в самое начало цепочки, но этому, к сожалению, сильно мешает одно крайне неприятное обстотельство: MiddleMan совершенно не отличается стабильностью, так что не исключено, что в один совсем не прекрасный миг веб-страницы совершенно неожиданно перестанут грузится, процесс закачки застопорится намертво, и вообще возникнет такое крайне неприятное ощущение, словно между Вами и внешним миром вдруг опустился "железный занавес".

При чём задача выявления источника проблемы может оказаться для Вас отнюдь не столь тривиальной, как того хотелось бы: ведь надо будет проследить путь последовательного прохождения пакетов через всю цепочку прокси-серверов и выявить "самое слабое звено", при разрушении которого образовался "затор". В принципе, будучи предупреждённым о том, что таковым с вероятностью 80%, а то и больше, является MiddleMan, при обнаружении описанных выше симптомов полной "непроходимости интернет-соединения", можно смело вводить service mman restart и пытаться возобновить свою активную интернет-деятельность после вынужденного "перерыва по техническим причинам".

Впрочем, оазумеется, Вам никто не может помешать поставить на место MiddleMan'а наиболее популярный в среде пользователей и системных администраторов Unix-based систем кеширующий прокси-сервер SQUID, хотя, на мой взгляд, применять его только ради того, чтобы обеспечить forwarding на SOCKS-прокси - это всё равно, что стрелять из пушки по воробью (кстати, я даже и не знаю, как там, в SQUID'е, можно настроить перенаправление по SOCKS-протоколу. Впрочем в разделе "Документация" на сайте разработчиков TOR я на эти сведения вроде уже наталкивался). Совсем иное дело, если SQUID активно использовался Вами и до установки TOR'а, поскольку в этом случае есть прямой смысл строить цепочку, начиная с установленного и настроенного Сквида и заканчивая мощным HTTP-фильтром Privoxy на границе с внешней средой, не принимающим и, соответственно, не передающим на обработку далее по цепочке, любые виды нежелательного контента.

После того, как партнёрское взаимодействие TOR и Privoxy с образованием своеобразного их симбиоза, будет наконец налажено, для Вас станет возможным немедленно приступить к настройке собственно TOR'а (поскольку, как я предполагаю, Privoxy у Вас и так настроен в лучшем виде), о чём я постараюсь рассказать во 2-й части этой статьи Улыбка. А пока что настоятельно рекомендую всем заинтересовавшимся этим вопросом почитать мой (неполный пока ещё, но там не переведено исключительно то, что не представляет ни малейшей ценности для пользователя, поскольку может оказаться полезным лишь для какого-нибудь особо крутого хакера-взломщика или администратора узла в сети маршрутизаторов Onion Routers) перевод man-страницы TOR'а, который можно найти по нижеследующему адресу: http://privoxy.asplinux.net/man-page/tor-man-page.html

Аватар пользователя Mimino

Re: Еще одно интересное применение Privoxy

Спасибо, Андрей, превосходная статья! Улыбка

PS. Я немножко разбил на абзацы для читабельности. Но вот с этим абзацем не справился - уж очень большое предложение получилось: свыше 250 слов в одном предложении - это не для средних умов Улыбка :

Цитата:
Если же браузером, используемым Вами по умолчанию, является совсем не FireFox, а главная гордость и вополощение мощи оболочки KDE - универсальный, но какой-то уж очень загадочный Konqueror (в нём Socks вроде бы настроить можно, но, собственно, как это сделать, я так и не понял. Надеюсь, хотя бы сами разработчики Konqueror вполне понимают, как этой его замечательной способностью работать через SOCKS-протоколы хотя бы теоретически можно воспользоваться) или Opera ранних версий, то, видимо, придётся либо пойти всё-таки традиционным путём (под номером 1), перенаправляя исходящие пакеты от Privoxy к TOR (что, в общем, не так уж и плохо и даже рекомендуется разработчиками TOR, поскольку это позволяет определять URL, при работе с которыми требуется высокий уровень анонимности и не принципиально некоторое снижение пропускной способности соединения, а также исключить URL тех серверов, которые категорически не желают иметь дело с пользователями, IP-адрес которых непредсказуемым образом периодически меняется и указывает то на студенческий кампус в Германии, то на университет в г.Минеаполис, США), либо настроить дополнительный прокси-сервер, способный осуществлять forward на SOCKS-прокси, - например, для этой цели прекрасно подходит MiddleMan, - и отправлять пакеты по цепочке такого вида: Клиентское приложение (браузер Opera, например) -> Дополнительный прокси (MiddleMan) -> TOR -> Privoxy, хотя в данном случае учитывая то, что основной функцией MiddleMan всё-таки является кэширование (выцарапать у него единожды загруженный по неосторожности баннер или flash-ролик без полной очистки кэша будет не так-то просто) и работа со сжатым контентом через библиотеку zlib, да к тому же MiddleMan ещё и фильтровать поток данных, передаваемых как по HTTP, так и по FTP, не хуже Privoxy умеет, возможно, стоило бы поставить его в самое начало цепочки, но этому, к сожалению, сильно мешает одно крайне неприятное обстотельство: MiddleMan совершенно не отличается стабильностью, так что не исключено, что в один совсем не прекрасный миг веб-страницы совершенно неожиданно перестанут грузится, процесс закачки застопорится намертво, и вообще возникнет такое крайне неприятное ощущение, словно между Вами и внешним миром вдруг опустился "железный занавес".

RSS-материал