id: Гость   вход   регистрация
текущее время 19:15 28/03/2024
создать
просмотр
ссылки

Voice over TOR


Предлагаю для тестирования кипто VOIP-утилиту для работы через TOR (в режимах TOR -> доменное имя и TOR->скрытый сервис). Переделал с старого PGPFone: заменил транспорт на TCP и добавил адаптивный буфер для компенсации высокого jitter в TOR-туннеле. Также добавил обмен сообщениями и файлами.


Win98-XP-7-8. Полностью портируема. Работает peer-to-peer (звонить на доменное имя или TOR-hidden service). Использует DH4096+3DES.


Приветствуются замечания и пожелания.
Сайт проекта http://torfone.org (англ./рус.), там же доступны исходники (Visual C 6).


 
На страницу: 1, ... , 28, 29, 30, 31, 32, ... , 50 След.
Комментарии
— gegel (12/06/2014 18:45)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
Скачал последний tbb: когда-то все было линковано статически, но теперь, по видимому, делают иначе. Так что придется тянуть dll. Кроме того, из-за изменений в дефолтных настройках может потребоваться дополнительная редакция torrc. Вообщем, надо пробовать.
У меня, кстати, Торчат + Торфон работают на старом Tor ( v0.2.3.25 (git-17c24b3118224d65)).
— Гость (13/06/2014 23:54)   <#>

А из Крыма проверяли? Работает?
— gegel (15/06/2014 10:58)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
человечки не зеленеют

А из Крыма проверяли? Работает?

Конечно. Все няш-мяш!
— Гость (15/06/2014 14:36)   <#>
Вежливые зелёные человечки...
— Гость (17/06/2014 02:56)   <#>

Похоже, всё-таки достаточно. Чтобы было проще понять, фильтрацию на lo лучше переписать так:
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m owner --uid-owner TBB-user -m tcp --dport 9151 -j ACCEPT
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m owner --uid-owner TBB-user -m tcp --dport 9150 -j ACCEPT
iptables -A INPUT  -i lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m tcp --dport 9151 -j ACCEPT
iptables -A INPUT  -i lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m tcp --dport 9150 -j ACCEPT
 
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m owner --uid-owner TBB-user -m tcp --sport 9151 \
    -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m owner --uid-owner TBB-user -m tcp --sport 9150 \
    -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT  -i lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m tcp --sport 9151 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT  -i lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m tcp --sport 9150 -m state --state RELATED,ESTABLISHED -j ACCEPT
Объяснить можно на примере работы с произвольным демоном, запущенным на порту PORT от имени этого же юзера:
# Разрешаем USER'у послать пакет на 127.0.0.1:ПОРТ
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m owner --uid-owner USER -m tcp --dport PORT -j ACCEPT
# Пакет проходит ядро и преврщается из OUT-пакета (исходящего) 
# в IN-пакет (входящий). Его тоже разрешаем (сессии ещё нет):
iptables -A INPUT  -i lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m tcp --dport PORT -j ACCEPT
# Итак, сервис на 127.0.0.1:PORT получил пакет. Надо дать ему ответить.
# Мы разрешаем ему отвечать на уже полученные пакеты, т.е. только
# в рамках кем-то уже установленной с им сессии (сам он инициировать
# соединение не может):
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m owner --uid-owner USER -m tcp --sport PORT \
    -m state --state RELATED,ESTABLISHED -j ACCEPT
# Сервис в рамках сесии послал ответ, ядро превратил его из исходящего
# в аналогичный входящий, его тоже разрешаем:
iptables -A INPUT  -i lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m tcp --sport PORT -m state --state RELATED,ESTABLISHED -j ACCEPT
Вроде всё работает. Если теперь надо дать доступ к этому сервису от другого пользователя, достаточно продублировать первую строку, указав там нужного пользователя:
iptables -A OUTPUT -o lo -s 127.0.0.1 -d 127.0.0.1 -p tcp \
    -m owner --uid-owner USER2 -m tcp --dport PORT -j ACCEPT
А так iptables не для людей, да.

Правила выше для Tor'а на lo написаны с этим же упорядочением, поэтому объясняются аналогично.
— Гость (21/07/2014 23:00)   <#>

RELATED не нужен (он только для извращённых протоколов типа ftp), достаточно ESTABLISHED. На работоспособность это не влияет. См. также обсуждение тут.
— Гость (28/09/2014 22:52)   <#>
В-общем, стал я ждать годами, когда тов. Гегель выполнит свои многократные обещания по созданию финального употребимого релиза его распиаренного продукта.
Отговорки типа "Не хватает времени" и т.п. пусть прибережет для наивных лохов – не сделает он Torfon никогда, поверьте моему слову.
Не держит он свое слово, увы, и это бесспорный факт.

Поэтому перешел на Jitsi. Еще не все опробовал, но первые впечатления по юзабельности, как ни странно, самые благоприятные.
Поскольку в Jitsi есть возможность загнать трафик в прокси (SOCKS), любопытно будет поганять его по SSH-туннелю.
Осталось оценить его криптоскойкость, но с этим вы наверняка справитесь.
— gegel (29/09/2014 00:03, исправлен 29/09/2014 00:05)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0

Да готов он, но после здешнего "воспитания" не хотел выкладывать "as is". Хотя все же я сторонник доводки софта "в процессе", поэтому в течение пары дней на скорую руку соберу пре-альфу и представлю на github. Пока могу показать fileчерновик описания (функционал, установка, команды, подробное описание криптографии и т.п.). Могут быть грамматические ляпы: вычитать все, подогнав под принятые здесь "математические" традиции – весьма кропотливый труд, сопоставимый с самой разработкой. Критика и пожелания принимается в любом виде :)


ПС: посмотрите в описании по ссылке [3] работу, в которой представлены эксперименты с Tor VOIP по VPN-туннелю. Возможно, это облегчит решение вашей задачи альтернативными способами.

— Гость (29/09/2014 01:10)   <#>

Обратите внимание что в Опции – Расширенные – Прокси-сервер есть таблица, где видно для каких сетей эта настройка работает.
— Гость (29/09/2014 01:12)   <#>
ЗЫ Во всяком случае sip туда не входит. Увы..
— gegel (29/09/2014 11:33)   профиль/связь   <#>
комментариев: 393   документов: 4   редакций: 0
Во всяком случае sip туда не входит

Четко разграничивайте SIP и RTP (ZRTP) протоколы. Первый идет по TCP транспорту и может быть пущен через Tor, второй – по UDP, и должен быть туннелирован через VPN по TCP. Это нетривиальная конструкция, и без четкого понимания одними галками в настройках не обойтись. Вот прямые ссылки на две свежие работы, в которых проблема поднимается: тут и fileтут.
В прошлом году я поднимал вопрос добавить возможность прямого соединения на мейллисте Jitsi, но без никакой реакции: это или совсем никому там не интересно, или подавляется принципиально.
— Гость (29/09/2014 20:14)   <#>
Тоже не дождался законченного Торфона и отправился искать похожие альтернативы.
Но в отличие от предыдущего оратора отверг Jitsi, поскольку мне очччень не понравились его некоторые завязки на Google (в моем понимании Google тождественно АНБ, и наоборот).
Поэтому пока остановился на Tox.
Вот только если uTox завелся на CentOS 6.5 с пол-оборота, то Venome (вроде лучший форк) при установке начал ругаться на недостающие зависимости, требуя, как мне кажется библотек от Гнома-3.
Кто-нить победил это?
И как вообще находите этот Tox в плане безопасности?
— Гость (29/09/2014 23:57)   <#>

Допилили таки поддержку Tor
— Гость (30/09/2014 00:08)   <#>

Так что, Torfon теперь в самом деле не нужен? :-)
— Гость (30/09/2014 02:57)   <#>
Да почему не нужен? Нормальный сабж никогда не помешает. Еще б кроссплатформенный, да для гаджетов..
На страницу: 1, ... , 28, 29, 30, 31, 32, ... , 50 След.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3