id: Гость   вход   регистрация
текущее время 18:16 26/04/2024
Автор темы: Гость, тема открыта 20/10/2005 10:16 Печать
http://www.pgpru.com/Форум/АнонимностьВИнтернет/ЧтоЗаПараметрSOCKSBindAddressВTorrc
создать
просмотр
ссылки

Что за параметр SOCKSBindAddress в torrc?


Я не очень понимаю разницу между параметрами TOR'а SOCKSPort и SOCKSBindAddress. Когда я переводил man-руководство для TOR'а (результат см. на http://www.privoxy.asplinux.ne.....ge/tor-man-page.html ), мне было проще опираться на такую сказочную версию: к SOCKSPort'у подключается всё то, что запущено "по соседству" с TOR (т.е. на localhost c IP=127.0.0.1), а в SOCKSBindAddress прописывается тот IP-адрес системы, который виден извне (к примеру, IP компьютера в локальной сети). Но тогда получается, что номера портов в SOCKSPort и SOCKSBindAddress по идее должны совпадать (т.е могут, конечно, и не совпадать, но тогда получается, что запросы от удалённых клиентов TOR и от клиентов, запущенных на localhost, должны обслуживаться на разных портах, что вроде бы не совсем логично).
Пожалуйста, будьте милостивы, попытайтесь раскрыть "ускользающий" от меня смысл параметров SOCKSPort и SOCKSBindAddress, а то я никак понять не могу, зачем же, собственно, нужен SOCKSPort, если есть наполовину дублирующий его SOCKSBindAddress (ведь в том же Privoxy никаких альтернатив listen-address'у не предусмотрено... )?


 
На страницу: 1, 2, 3 След.
Комментарии
— unknown (25/10/2005 20:44)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
я тут как-то прочёл в одной статье о TOR, что реально действующих серверов OR по всему миру до сих пор насчитывается всего лишь 195 штук.

cat /var/lib/tor/cached-directory | grep "router " | nl | awk {'print $1'} | tail -n1

335
— Гость (26/10/2005 22:42)   <#>
По поводу SocksPort и SocksBindAddress: спрашиваю что называется "в лоб ": правильно или нет извлекать именно таким образом (см. ниже) номер порта, который слушает TOR?:
— Гость (28/10/2005 22:32)   <#>
Такое впечатление, что меня не совсем правильно поняли. Объясняю человеческим языком: я предполагаю, что при задании порта в SocksBindAddress значение SocksPort (пусть даже эта опция используется "ниже по тексту") попросту игнорируется (по аналогии с парой ORPort:ORBindAddress). Это так или нет?
Кстати, тот код, который я привёл выше – всего лишь кусочек из из моего скрипта на bash (называется "tor_pvx", предназначен для синхронной правки конфигов TOR'а и Privoxy)
— unknown (29/10/2005 13:39)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
SOCKSPort PORT – это по умолчанию.

SOCKSBindAddress IP[:PORT]

This directive can be specified multiple times to bind to multiple addresses/ports.

Так можно задать дополнительные порты для разных адресов. Мне кажется, вторая комманда имеет больший приоритет. (ну по аналогии с /etc/hosts/deny и /etc/hosts/allow).
— Гость (29/10/2005 16:28)   <#>
Тогда предлагаю такой вариант: скрипт для того, чтобы определить, какие сейчас IP:Порт используются TOR'ом (с Privoxy, к счастью, всё намного проще), определяет, есть ли в torrc незакомментированная строка SocksBindAddress. Если такая строка есть, скрипт берёт значение порта оттуда и ставит # перед открытыми строками SocksPort = ... , а если SocksBindAddress'а нет, то: 1-й вариант – просто взять значение порта, а torIP приравнять к 127.0.0.1; 2-й вариант – сделать то же, что в 1-м варианте + закомментировать SocksPort и вставить новую строку SocksBindAddress = 127.0.0.1:<порт из SocksPort=>
Как Вы думаете, так правильно будет или нет? Кстати, unknown, Вы на bash'е скрипты пишете? А то, может, я для наглядности прямо сразу соответствующий код выдавать буду (с комментариями)?
— unknown (29/10/2005 20:32)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Кстати, unknown, Вы на bash'е скрипты пишете?

Ну как же в Линуксе и без баша? :-)

А то, может, я для наглядности прямо сразу соответствующий код выдавать буду

Мы так распугаем всех посетителей этой ветки.

Может в Линукс-разделе форума создать тему-проект по скриптованию tor? Опишите подробнее в начале поставленную задачу. Хотя эти две ветки будут между собой пересекаться.

И мне ваш стиль показался не очень наглядным. Я привык по-другому. Вместо трудночитаемого перечисления классов на sed мне проще работать с полями в awk.

Я бы делал как-то по-своему проще и нагляднее что-ли:



Пусть будут переменные и называются также как и в исходном конфиге. Получается самодокументированность.

Я вот только не очень понимаю, зачем это нужно? Если кто-то будет расшаривать tor по локалке или привязывать к разным адресам и портам, то разбирая все такие случаи мы увязнем в скриптописательстве. Пусть они лучше ручками или сами скрипты пишут.
— Гость (29/10/2005 22:13)   <#>

И мне ваш стиль показалс[]я не очень наглядным. Я привык по-другому. Вместо трудночитаемого перечисления классов на sed мне проще работать с полями в awk.


На самом деле sed использутся постольку поскольку он имеет вполне полноценную поддержку т.н. "расширенных" регулярных выражений. А регулярные выражения нужны для того, чтобы стало возможным отбирать строки по признаку соответствия чётко определённому синтаксису. Именно описанием синтаксиса с последующим извлечением несущих требуемую смысловую нагрузку частей по сути и является последовательность из соединённых программным каналом экземпляров потокового редактора sed. Недостатком Вашего метода является как раз то, что Вы чётко определяете корректное положение значащих полей относительно соответствующих разделителей, но не проверяете содержимое собственно самих полей. Т.е. строка, в которой допущена ошибка или опечатка будет пропущена "дробящим" фильтром awk, но забракована сканирующим фильтром регулярного выражения. На самом деле, даже мой вариант не является абсолютно защищённым от ошибок, поскольку регулярными с помощью ргулярнх выражений всех проблем не решишь, наглядный тому пример: пользователь может оставить в torrc такую запись: SocksBindAddress 192.168.0.0:443 По сути – это прото надругательство над здравым смыслом, но по формальным признакам соответствия синтаксису, определяемому на уровне классов символов никакго криминала вроде бы и нет. Но подобная ошибка может быть совершена пользователем разве что по злому умыслу (ну что делать, если человек сам себя решил без надёжного прикрытия анонимайзера оставить), так что подобные безнадёжные клинические случаи, возможно, и не стоит принимать во внимание... Откровенно говоря, меня в значительно большей степени волнует другая, гораздо более серьёзная, проблема: ведь пользователь без всякого зазрения совести может указать в конфигурационном файле множество строк SocksBindAddress и множество SocksPort. Если со 2-м можно хоть как-то бороться (оставить только последнее (или первое) значение SocksPort, напрочь закомментировав всё остальное), то над тем, что же, собственно, можно извлечь из torrc при неудачном стечении обстоятельств под номером 1 – ума не приложу, хотя голову над этим ломаю уже давно. Аналогичная ситуация иеет место в случае, когда нужно извлечь адресуемый SOCKS-пор, адресуемый Privoxy, из значения опции forward-socks4a Этот треклятый forward на вполне легальных основаниях может быть задан в различных вариациях бесконечное число раз (например, меня бы не удивил миллион строк forward в одном config'е, хотя в этом случае спасёт то, что Privoxy просто "рухнет" в тот момент, когда он попытается передать такой файл на вход парсера), так что по сути автоматическое редактирование файлов конфигурации torrc и config теоретически даже при 2-х forward-socks4a'ях или 2-х SocksBindAddress'ах может привести к совершенно непредсказуемым результатам, что вообще говоря очень сильно меня удручает. такое впечатление, что для идеального решения задачи нужно написать полноценный парсер этих конфигов или... склеить (объединить) те парсеры, которые используются собственно кодом Privoxy и TOR'а. Не слабая задачка, однако....
.
Кстати, если в качестве разделителей для awk использовать регулярные выражения, наши антагонистические концепции синтаксического разбора практически будут полностью совпадать.

Я вот только не очень понимаю, зачем это нужно? Если кто-то будет расшаривать tor по локалке или привязывать к разным адресам и портам, то разбирая все такие случаи мы увязнем в скриптописательстве. Пусть они лучше ручками или сами скрипты пишут.


Идея в другом состоит: нужно создать программу-переходник (я назвал её "мостом") между TOR и Privoxy, позволяющую распознавать (при старте) и менять текущее состояние связки этих прокси: замкнута она или разомкнута, идёт ли передача пакетов данных в направлении от TOR к Privoxy (очевидно, данные при этом не должны бы (хотя при отключенной фильтрации Privoxy это не имеет значения) претерпевать криптографических изменений на стороне TOR) или наоборот – в направлении от Privoxy к TOR, какой адрес (пресловутая пара IP:Порт ) используется для приёма и фильтрации на уровне HTTP-протокола, а какой – для работы на уровне прокола TCP/IP с шифрованием данных и конструированием маршрута передачи пакета через цепочку из 3-х анонимных серверов сети OR и т.д.
При чём определение состояния моста (0=разведён, 1-наведён, передача от Privoxy к TOR, 2 – наведён, передача от TOR к Pirvoxy, 3 – ошибочное состояние моста, коллизия, разрешаемая аварийным завершением отработки запроса по тайм-ауту ожидания ответа удалённого хоста) и переключение направления передачи данных между TOR и Privoxy уже сейчас реализует cкрипт tor_pvx в сопряжении с простеньким фронтэндом к нему, написанным на Gambas (Это по сути Visual Basic 4 Linux, пусть и не умеющий компилировать до машинного кода (но создающий промежуточный байт-код, аналогично тому, как это делает компилятор javac )).
Итак, хотелось бы знать, что Вы думаете по поводу всего вышеизложенного: есть в этом хоть какое-то разумное зерно или мне давно уже надо было 03 на дом вызывать?
— Гость (29/10/2005 22:23)   <#>
Прошу извинить меня за неудовлетворительный вид первого абзаца: в данном случае по количеству опечаток и ошибок набора я умудрился сам себя превзойти! :-( В следующий раз надо будет под учётной зписью DRVTiny входить на форум (дабы иметь возможность редактировать свои сообщения).
— unknown (29/10/2005 23:15)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
пользователь может оставить в torrc такую запись: SocksBindAddress 192.168.0.0:443 По сути – это прото надругательство над здравым смыслом, но по формальным признакам соответствия синтаксису, определяемому на уровне классов символов никакго криминала вроде бы и нет.

Если пользователь не придерживается синтаксиса конфига, значит он "сам себе злобный буратино", как вы и начали замечать. Пусть правит свои конфиги ручками и для tor'a и для privoxy. Может он будет расшаривать тор по разным локалкам или еще как извращаться.
Может написать программу, которая бы выводила обидные сообщения и выбрасывала пользователя из консоли, если он залезет в /etc/shadow и матерные слова в полях там напишет?

Зачем нужна эта автоматическая парсилка-конфигурялка-переключалка для tor'a? Какие реально она проблемы решит?
Она облегчит использовать tor неподготовленным пользователям?
Или это postinstall скрипт для deb-пакета? Чтобы набрать dpkg-reconfigure?

есть в этом хоть какое-то разумное зерно или мне давно уже надо было 03 на дом вызывать?

Ну есть повод подумать о профилакте. Это не конкретно вам совет, а всем нам: сочувствующим и участвующим.
Я честно говоря так и не понял где тут спрятана разумное зерно и в чем конкретно идея.
— Гость (30/10/2005 08:59)   <#>

Зачем нужна эта автоматическая парсилка-конфигурялка-переключалка для tor'a? Какие реально она проблемы решит?
Она облегчит использовать tor неподготовленным пользователям?
Или это postinstall скрипт для deb-пакета? Чтобы набрать dpkg-reconfigure?


Идея состоит в том, чтобы использовать TOR в связке с Privoxy как 1 составной прокси, занимающий 1 SOCKS-порт и 1 HTTP-порт. Выглядеть всё это должно так: из одного пакета устанавливается сразу и TOR, и Privoxy, а фронтэнд для управления этим конгломератом, опирающийся на функциональность скрипта tor_pvx, помогает пользователю абстрагироваться от подробностей внутреннего устройства программы, позволяя представлять её единым монолитным прокси, обеспечивающим super privacy за счёт расширенных возможностей фильтрации контента+заголовков HTTP (Privoxy) и предоставления анонимных сервисов (TOR)
Проблема состоит в том, как обрабатывать множественные вхождения строк SocksBindAddress и forward-socks4a в torrc и config'е соответственно, а также возникают определённые трудности в связи с тем, что gambas не является компилятором, так что по-видимому его модуль интерпретирующий байт-код модуль gbx придётся включать в пакет, после чего в целом программа будет "весить" уже где-то около 1,5Мб и тянуть за собой довольно много зависимостей..
— unknown (30/10/2005 12:18)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
возникают определённые трудности в связи с тем, что gambas не является компилятором,

Что-то я его не нашел в Debian. Если его там нет, то это наводит на мысли, что у него проблемы с лицензией или еще чем-то.

возникают определённые трудности в связи с тем, что gambas не является компилятором,

Выводить предупреждение: обнаружено столько то портов-адресов, сами выберите тот, который будете использовать. Раз пользователь замутил себе такой сложный конфиг, то ему уже некуда абстрагироваться.

Идея состоит в том, чтобы использовать TOR в связке с Privoxy как 1 составной прокси,

Все равно это костыли какие-то. Если пользователь вручную правит настройки, то сам за них отвечает. А здесь – лишняя автоматизация – больше вероятность упустить нестандартную ситуацию – больше вероятность ошибки – больше вероятность дыры в безопасности всей схемы.

Возможно сам privoxy форкнут и включат в него поддержку tor?



так что по-видимому его модуль интерпретирующий байт-код модуль gbx придётся включать в пакет, после чего в целом программа будет "весить" уже где-то около 1,5Мб и тянуть за собой довольно много зависимостей..



tor специально написан в маленьком объеме кода. А здесь получается громоздкое решение, в котором уже на этапе создания не просчитать все возможные нестыковки и ошибки. Лучший фактор безопасности – разумный минимализм.
— Гость (30/10/2005 19:25)   <#>

Что-то я его не нашел в Debian. Если его там нет, то это наводит на мысли, что у него проблемы с лицензией или еще чем-то.


В Debian, насколько я знаю, включаются исключительно "идеологически выверенные" программы, в число которых Gambas не попадает по одной простой причине: это не игрушечный BASIC наподобие yabasic, это – мощный полнофункциональный объектно-ориентированный язык программирования, по сути представляющий BASIC как реальную альтернативу C-подобным клонам наподобие Java или C++ (к тому, наверное, же нездоровые ассоциации с вездесущим Microsoft Visual BASIC возникают). К сожалению, многие адепты Linux'остроительства относятся с откровенным пренебрежением ко всяким языкам программирования, не являющимися диалектами C. Я как раз наоборот с большим уважением отношусь к оригинальным самостоятельным языкам, таким как Intel Assembler, Fortran, BASIC, Pascal, Ada, REXX (скриптовый), встроенный язык Shell оболочки BASH. В общем, так вот и получается, что идеология Debian'овцев на все 100% является для меня чуждой, неприемлемой (вообще у меня очень много претензий идеологического плана к Debian'овцам (о чём я уже неоднократно говорил на раличных форумах), так что предлагаю не развивать далее эту тему). На самом деле Gambas распространяется на условиях GPL почти исключительно в исходных кодах (хотя раньше для дистрибутива Mandrake собирались rpm'ки).


Возможно сам privoxy форкнут и включат в него поддержку tor?


Вся проблема как раз в том, что разработчики Privoxy окончательно бросили своё детище в связи с "высоким уровнем занятости и семейными обстоятельствами", так что развивать и "форкать" Privoxy – теперь удел заинтересованных лиц. Я таким лицом являюсь, но мне совершенно не хочется лезть в код Privoxy, поскольку, как я уже отмечал, мне совершенно "не улыбается" писать что бы то ни было на диалектах C (для меня мукой является даже создание кода на PHP, поскольку в этом языке признаки "тяжёлой наследственности" проявляются практически во всём (за исключением работы с переменными, что вполне понятно, поскольку PHP-язык интерпретируемый, а не компилируемый)).

tor специально написан в маленьком объеме кода. А здесь получается громоздкое решение, в котором уже на этапе создания не просчитать все возможные нестыковки и ошибки


Ну тогда нужно собрать отдельный бинарный пакет с Gambas'ом, тем более, что в "полные комплекты" многих популярных дистрибутивов (SuSE, Mandriva) Gambas и так уже включен.
— Гость (30/10/2005 19:28)   <#>
Между прочим, вот Gambas для Debian (при чём совсем недавно был собран): http://www.linex.org/sources/l...../gambas/binary-i386/
— unknown (04/11/2005 14:35)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Претензии к Debian отпадают. Пройдет "еще три года" и мы увидим этот гамбас в стабильной ветке.

Только я лично не ставлю многие программы, просто потому, что автору не захотелось использовать Си. То питон с "жабой" прикрутят, то ruby, то еще чего. Хотя реальны аналоги на Си, где все работает отлично и без этого в считанных килобайтах кода.

Может у Gambas ниша офисных приложений "под заказ", как у delphi/kylix? Я просто думаю, что многих серьезных разработчиков/пользователей такой выбор отпугнет.

Хотя – это всего лишь фронтенд-переключалка, решать все равно вам.

что идеология Debian'овцев на все 100% является для меня чуждой, неприемлемой

Ну что вы так серьезно сразу! Отошли от генеральной линии Столлмана. Прямо правый уклонист! Может Вы еще выступаете за коммерческие драйвера в ядре и бинарную совместимость? ;-)

(полный offtopic)
— Гость (29/01/2006 14:56)   <#>

Может Вы еще выступаете за коммерческие драйвера в ядре и бинарную совместимость?


Угадали, попали что называется в точку :-)!

У нас здесь сайт, посвящённый tor'у наклёвывается на базе asplinux.net (tor.asplinux.net). Не желаете присоединится и разместить там свой контент (любой, лишь бы к TOR'у имел отношение)?
На страницу: 1, 2, 3 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3