Представлен (https://blog.torproject.org/blog/tor-0286-released) выпуск инструментария Tor 0.2.8.6, используемого для организации работы анонимной сети Tor. Tor 0.2.8.6 является первым стабильным выпуском ветки 0.2.8, которая развивалась последние десять месяцев.
Основные изменения:
- Проведена работа по сокращению времени запуска клиента. В состав включен список запасных директорий Tor, построенный на основе подборки из пригодных к работе шлюзов;
- Во всех шлюзах обеспечена возможность проброса запросов к серверам директорий (точки подключения к сети, отвечают за аутентификацию и передачу пользователю списка шлюзов, обрабатывающих трафик). Ранее запросы к серверам директорий допускались только для шлюзов, специально настроенных на приём соединений на отдельном сетевом порте (DirPort). Теперь данные запросы могут обрабатываться и при обращении к шлюзовому порту (ORPort). Поведение можно поменять через настройку DirCache;- В Linux добавлена возможность привязки к системным сетевым портам (ниже 1024) в случае запуска под root и настройки сброса привилегий;
- Завершена миграция серверов директорий (Directory Authority) на улучшенную систему идентификационных ключей для шлюзов;
- Расширен тестовый набор;
- Прекращена поддержка систем с беззнаковым типом
"time_t", таких как OpenVMS;
- Повышены требования к версии сборочного инструментария, для сборки теперь требуется Autoconf 2.63+ и Automake 1.11+.URL: https://blog.torproject.org/blog/tor-0286-released
Новость: https://www.opennet.ru/opennews/art.shtml?num=44915
блиин вот бы они заодно в пакетах fedora (SELinux) и ubuntu (AppArmor) пофиксили профили...в федоре то ладно я пофиксил custom rule, а вот в ubuntu чет не хочет он фиксится, по багу отписываются до сих пор.
https://bugs.launchpad.net/ubuntu/+source/tor/+bug/1568435
правда что я в чистом виде его юзал без обфс4прокси...но аппармор все равно его не пропускает...кто знает как разрешить его в AppArmor?
Открывается профиль и редактируется. Далее все работает. Алсо обновляться до 16 никто не заставлял.
https://github.com/vitvegl/AppArmor-profiles/blob/master/ubu... - попробуй, только линковки сверь
мой простой конфиг, создан с помощью aa-logprof - https://dpaste.de/Jacf/raw
> Прекращена поддержка систем с беззнаковым типом "time_t"Шикарно. А про то, что стандарт не запрещает этому типу быть беззнаковым, чуваки, видимо, не слышали.
О том, что причина отказа от систем с беззнаковым time_t может быть независима от того, у кого где и что написано в стандартах, тебе видимо не пришло в голову.
Стандарты и 16-битный char не запрещают. Пара компиляторов так даже делали, из-за клинческой неспособности проца адресовать данные более мелкими порциями. Однако ж софт от этого дуреет только в путь.
>OpenVMSОн и там работал? Удивительно.
не-а, не работал. из оригинала:- Tor no longer attempts to support platforms where the "time_t"
type is unsigned. (To the best of our knowledge, only OpenVMS does
this, and Tor has never actually built on OpenVMS.) Closes
ticket 18184.
Скажите, пожалуста, если кто знает, зачем time_t делать знаковым?
Спроси у Т-1000
Чтобы хранить разницу
> Чтобы хранить разницуПолистал https://duckduckgo.com/?q=unsigned+time_t интернеты...
Сабжовый тикет https://trac.torproject.org/projects/tor/ticket/18184 ставит вопрос наоборот: нам _надо_, поэтому будем требовать и делать так.
Говорят, стандарт ANSI C http://lists.freebsd.org/pipermail/freebsd-ports/2006-Januar... достаточно нетребователен и оставляет некоторую свободу им-пле-мент-орам компиляторов.
А ещё некоторые обсуждают http://lkml.iu.edu/hypermail/linux/kernel/0001.0/0198.html UNIX-традицию в этом вопросе, расширение за 32(знаковых, да) бита и "проблему 2038 года".
Но это всё "вопрос наоборот". Читая разнообразие ответов на https://duckduckgo.com/?q=why+is+time_t+signed , думаю, что "никто не знает" и "так получилось" -- наиболее верные ответы.
"According to that Wikipedia page, changing time_t to an unsigned integer cannot be done because it would break programs that handle early dates." --http://stackoverflow.com/questions/4840115/time-as-a-signed-...
Видимо, все заложились на то, чтобы в одном типе хранить и абсолютные тайм-штампы, и интервылы (разницы), в т.ч. и отрицательные. А теперь, уже проще 64бита сделать, чем "переписывать всё".
вероятно, чтобы избежать целочисленого переполнения при вычитании из одного time_t другого (си-шные проблемы, в общем)
у нас в КЗ заблокировали Tor.
Использую плагин Frigate в Chrome.
Несолидный анонимайзер, раз его можно так легко заблокировать.
> Несолидный анонимайзер, раз его можно так легко заблокировать.Для солидных случаев есть bridges.
И камуфляж http://storage1.static.itmages.ru/i/16/0804/h_1470311422_864...
> И камуфляж http://storage1.static.itmages.ru/i/16/0804/h_1470311422_864...Для более легких случаев есть еще директива FascistFirewall, это если враги не любят соединения на энные порты.
Бриджи тоже заблокированы.
> у нас в КЗ заблокировали Tor.
> Использую плагин Frigate в Chrome.Используй bridges. OBFS4 даже китай не смог забанить ;)
У нас в компании тоже прикрыли тор. Никакие бриджи и типы соединения не проходят.
Нашел вот Psyphon какойто. Работает на ура. Не разбирался как там под капотом, но то что мне надо - делает.
> Никакие бриджи и типы соединения не проходят.Такое может быть только с применением белого списка. Однако в таком случае и Psiphon не должен работать. Ты вот что, закажи себе 100% не запаленные бриджи мылом bridges@bridges.torproject.org с текстом сообщения get transport obfs4. Куда скопипастить сам разберешься?
Okey.Сейчас попробую. Спасибо
пс. Я посылал с предметом get bridges на адрес bridges@torproject.org
> Okey.Сейчас попробую. Спасибо
> пс. Я посылал с предметом get bridges на адрес bridges@torproject.orgПолучилось. Merci beaucoup ;)
> Получилось. Merci beaucoup ;)Добро пожаловать :)
p.s.: лучше надергай себе хотя-бы с десяток бриджей, из соображений надежности.
>> Okey.Сейчас попробую. Спасибо
>> пс. Я посылал с предметом get bridges на адрес bridges@torproject.org
> Получилось. Merci beaucoup ;)Круть), знал же что оно должно работать!
>> Никакие бриджи и типы соединения не проходят.
> Такое может быть только с применением белого списка. Однако в таком случае
> и Psiphon не должен работать. Ты вот что, закажи себе 100%
> не запаленные бриджи мылом bridges@bridges.torproject.org с текстом сообщения get transport
> obfs4. Куда скопипастить сам разберешься?Почему они не скидывают мосты я отправил собщение с этим текстом?
Пфф. У нас на работе сделали интернет только через Citrix. Т.е. есть ферма куда заходишь со своего компа и запускаешь браузер откуда выходишь в интернет. И все никаких торов и т.п. Так как ничего не поставить, от слова никак. А напрямую с рабочего компа никакого интернета просто нет, от слова совсем.
Поэтому хомяк просто достанет фигу^W мобилу из кармана.
> у нас в КЗ заблокировали Tor.
> Использую плагин Frigate в Chrome.Свободы сеятель пустынный,
Я вышел рано, до звезды;
Рукою чистой и безвинной
В порабощенные бразды
Бросал живительное семя —
Но потерял я только время,
Благие мысли и труды...Паситесь, мирные народы!
Вас не разбудит чести клич.
К чему стадам дары свободы?
Их должно резать или стричь.
Наследство их из рода в роды
Ярмо с гремушками да бич.<Ноябрь, 1823>
В КЗ можно часть блокировок обойти без проксей, а тор запускать без obfs4.
> Прекращена поддержка систем с беззнаковым типом "time_t"Каких ещё "систем"? Это же библиотечный тип. И в чём проблема с _беззнаковым_ time_t? Они с ним арифметические действия производят, что ли? (Даже в этом случае можно решить проблему преобразованием типов.)
Я бы ещё понял, если бы они перестали поддерживать _32-битный_ time_t.
> _беззнаковым_ time_t? Они с ним арифметические действия производят, что ли?Вполне вероятно.
> (Даже в этом случае можно решить проблему преобразованием типов.)
И поиметь море глюков в виде интервалов длиной чуть менее чем половина бесконечности.
> И поиметь море глюков в виде интервалов длиной чуть менее чем половина бесконечности.Например?
Попробуй вычесть из чуть меньшего безнакового чуть большее беззнаковое. Думаешь, при вычитании итервалов они и правда хотят получить именно эту половинку от вечности?
Пример, говорю, приведи.В ядре, например, есть макросы типа:
#define time_after(a,b) \
(typecheck(unsigned long, a) && \
typecheck(unsigned long, b) && \
((long)(b) - (long)(a) < 0))и вроде бы в вечность никто ещё не ушёл.
> Пример, говорю, приведи.С точки зрения элементарной логики: допустим ты хочешь считать интервалы без гимора.
Куда класть результат и с каким типом? По логике вещей разница времен - просится в time_t, потому что кто б его знает что еще на этой системе вместо time_t может время хранить без глюков (кто-то обещал какие-то соотношения размеров типов?). С знаковым time_t все просто: вычитаем одно из другого, результат тоже time_t. Знак - индикатор что было раньше, модуль - величина интервала. Но с unsigned это не катит, по сразу 2 причинам.
> В ядре, например, есть макросы типа:
> #define time_after(a,b) \
> (typecheck(unsigned long, a) && \
> typecheck(unsigned long, b) && \
> ((long)(b) - (long)(a) < 0))Этот макрос может возвращать только 1 и 0. Проверять тип, когда проблема в самом определении типа - смысл? Это safety check что макрос не используют по левому. Даже если по такому макросу поменять операнды местами и вычитать из большего меньшее, чтобы избежать overflow - хорошо, мы получим "насколько удалены события". Но тогда надо где-то сбоку (ну не в unsigned time_t же?) надо хранить дополнительные сведения о том ЧТО было раньще. Это возможно, но там чуть ли не struct просится. Становится заметно сложнее. А если time_t знаковый, знак операции и несет описание что раньше. При том, поскольку времена отдаваемые системой больше ноля (что есть отрицательное "абсолютное" время?), результат вычитания должен помещаться в time_t, а знак - индикатор того что раньше.
Грубо говоря, signed time_t может хранить и ЧТО раньше и НАСКОЛЬКО именно. А unsigned - так не может. Потому что unsigned.
> и вроде бы в вечность никто ещё не ушёл.
Этот макрос вообще лишь говорит что было раньше. Это замечательно, только не о сохранении сразу и "что раньше" и "насколько именно". Сразу оба этих понятия можно и вроде бы технически валидно засунуть в signed time_t, но совершенно не катит c unsigned.
Много ты написал, но не о том. Я просил привести конкретный пример, когда беззнаковый time_t может вызвать проблемы, но, похоже, не судьба.
> Много ты написал, но не о том. Я просил привести конкретный пример,
> когда беззнаковый time_t может вызвать проблемы, но, похоже, не судьба.Так я и написал - вычти из меньшего time_t большее и получи integer overflow в подарок. Или городи многоэтажные костыли, если не лениво. Разработчикам tor судя по их коментам это делать лениво.
Это переполнение элементарно проверяется. ИМХО time_t со знаком - это идиотизм.
> Я бы ещё понял, если бы они перестали поддерживать _32-битный_ time_t.Очередной счастливый обладатель 2^44 MB RAM?
> Очередной счастливый обладатель 2^44 MB RAM?Скорее визитер из 2037 года.
Причём здесь RAM? Мы о времени говорим, вообще-то.
> Мы о времени говорим, вообще-то.Вообще-то, ты предложил прекратить поддержку всех архитектур, не поддерживающих 64-битный time_t. То есть оставить только 64-битные архитектуры, которые в среднем случае нужны лишь когда у тебя много памяти (> 64ГБ с учётом PAE).
Это где я такое предлагал? 32-битные архитектуры вполне себе могут поддерживать 64-битный time_t.
> 32-битные архитектуры вполне себе могутМогут, но прямо сейчас не поддерживают. А вы предлагаете прямо сейчас убрать поддержку (ну хорошо, "поняли бы, если бы они перестали поддерживать прямо сейчас") 32-битного time_t.
> Могут, но прямо сейчас не поддерживают.Поэтому под ними что-то такое тикает, там что-то про проблему-2037 было :)
Кто-нибудь из присутствующих, реально использующий данный софт, может сделать небольшую сводку о неудобствах/трудностях которые возникли при работе?
> Кто-нибудь из присутствующих, реально использующий данный софт, может сделать небольшую
> сводку о неудобствах/трудностях которые возникли при работе?Из самого очевидного:
1) Слабое место tor - bootstrap. С точки зрения цензоров его достаточно легко придушить/сломать. В этой версии по идее ощутимо улучшено ;)
2) Особо рьяные цензоры могут обнаруживать tor и давить его. Эффективная удавка требует не совсем тривиальных технологий, китайский фаер определяет tor так: если какое-то соединение по его мнению возможно tor, он конектится к назначению и если оно понимает протокол tor - добро пожаловать в баню. Так великий файрвол может постепенно накрывать почти все entry. Но это можно обдурить.
3) Latency и скорость. Если ты гонишь трафф через 3 узла - ты гонишь трафф через 3 узла. Это означает RTT порядка секунды и скорость "как повезет". С другой стороны, радости от быстрого но процензуреного и нашпигованого шпиками интернета - еще меньше.
4) Дефолтной конфигурации хватит если ты Неуловимый Джо. Но если за тобой дружно бегают все анб, фбр, моссад, ми-6 и фсб в полном составе - ты должен понимать что уровень угрозы потребует более серьезных мер в сетевой безопасности и анонимности. Одной прожкой ты при таком уровне угроз не отделаешься. Создатель SilkRoad пожизненное схлопотал. Нет, tor и биткоины никто не ломал. Нашлись способы попроще.
Что значит сводку? Инет нашпигован статьями по сабжу. Читайте, анализируйте исходя из своей модели угроз.
Вот сейчас обидно было.