[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Туннелирование DNS



05.03.2013 17:02, Yuriy Kaminskiy пишет:
> Артём Н. wrote:
>> Эх, видимо, обсуждение теперь будет в этой ветке...
>>
>> 01.03.2013 00:38, Ivan Zavarzin пишет:
>>> Hleb Valoshka:
>>>> On 2/27/13, "Артём Н." <artiom14@yandex.ru> wrote:
>>>>
>>>>> 1. Если установлен какой-либо плагин браузера, например, TorButton, DNS
>>>>> запрос всё-равно производится напрямую и открытым текстом?
>>>> нет
>>>>
>>> По-идее нет. Но для большей гарантии, лучше произвести прозрачную
>>> торификацию посредством фаервола, если речь идет о сети Tor. На сайте
>>> торпроджекта это подробно описано.
>>> Тогда, правда, TBB надо "отвязать" от локальных тора, видалии и т.п.
>>> (В tor-browser*/start-tor-browser для этого ./App/vidalia --datadir
>>> Data/Vidalia/ -style Cleanlooks заменить на ./App/Firefox/firefox
>>> -profile ./Data/profile -style).
>> Я не имею ввиду именно Tor. Я привёл его просто, как пример "защищённого
>> соединения".
>> В этом плане больше меня интересуют SOCKS и прочее.
>> Вопрос 1 был в том, как firefox (поскольку я им пользуюсь) производит резолвинг:
>> 1. Используя системные вызовы (gethostbyname и подобное)?
>> 2. При использовании прокси, через прокси? Если да, то как: у него есть
>> встроенный резолвер?
>> 3. При использовании сторонних расширений анонимизации, _например_ TorButton,
>> резолвинг обеспечивается расширением?
> 
> Есть несколько видов прокси. При использовании http прокси - ресолвинг идёт на
> стороне прокси.
Для HTTP прокси понятно, что он работает по HTTP протоколу и ему передаётся
только адрес. Но я не его имел ввиду, а прокси через которые возможно пробросить
любой прикладной протокол (или хотя бы на базе TCP).

> При использовании socks4 - ресолвинг идёт на стороне браузера,
> (и для tor это, очевидно, не подходит); socks4a (и socks5?) - ресолвинг идёт в
> прокси (см. network.proxy.socks_remote_dns).
Спасибо.
Посмотрел: "SOCKS4a is a simple extension to SOCKS4 protocol that allows a
client that cannot resolve the destination host's domain name to specify it."
И SOCKS5:
"It is an extension of the SOCKS4 protocol. It offers more choices of
authentication, adds support for IPv6 and UDP that can be used for DNS lookups."

> TBB/TorButton пользуется именно
> этим вариантом.
Теперь всё встало на свои места.

> Также tor умеет отвечать на dns запросы, и можно его настроить в качестве
> nameserver (man torrc на предмет DNSPort).
> Альтернативный вариант - см.
> https://trac.torproject.org/projects/tor/wiki/doc/TransparentProxy
А, ну да. Альтернативный вариант (и более универсальный) - redsocks. Или лучше
proxychains, который не используя брандмауэр работает?

>> Вопрос 2 был в том, как организовать туннелирование DNS запроса?
> Если строгой анонимизации не нужно и нужно только пробросить dns с доверенного
> сервера через небезопасную сеть, то dnscrypt-proxy и dnscrypt-wrapper подойдут,
> наверно, больше.
Я позавчера как раз наткнулся на этот dnscrypt. :-)
Всё-равно странно то, что такая штука появилась только в 2011-2012 годах и
только у OpenDNS.

> Если строгой анонимизации не нужно
Почему здесь нет "строгой анонимизации"? Я разве не могу пробросить запрос через
любую анонимизирующую сеть или через цепочку туннелей?
А dnscrypt, в данном случае, просто будет средством, позволяющим организовать
защищённый канал до сервера. И позволит уменьшить количество открытой
информации, получаемой каждым участником обмена (провайдером, DNS сервером и
промежуточными узлами цепочки).
Правда, в свете того, что, при использовании, например Tor, запрос полностью
шифруется, а DNS сервер не знает адреса клиента, dnscrypt не так уж и нужен.
Хотя есть и существенный минус у Tor: там дешифровка производится на выходной
ноде (а, как известно, есть народ, который не против поперехватывать трафик).
Это означает, что выходная нода знает слишком много (содержание запроса, время
отправления, получателя и предыдущую ноду), а также имеет возможность подмены.
При использовании dnscrypt, информацией о содержании запроса обладает только DNS
сервер, а также исключается возможность подмены.

Вопрос в том, как реализуется резолвинг, в случае использования SOCKS4a/5?
Браузер просто не вызывает gethostbyname?
Как прикрутить dnscrypt к "соксификатору"?

>> Например, я имею локально запущенный DNS сервер или нечто подобное (dnsmasq),
>> который прописан в resolv.conf.
>> Я могу запустить его через stunnel.
> М... stunnel - это ведь tcp? А для dns нужен udp.
Хм... Да, точно: "POP-2, POP-3, and IMAP servers, to standalone daemons like
NNTP, SMTP and HTTP, and in tunneling PPP"... Про UDP ничего не сказано. :-(

>> Но куда прикрутить "второй конец" stunnel? Есть ли какие-то гейты, которые
>> позволяют туннелировать через них любой протокол (этакий SOCKS только ещё и с SSL)?
>> Есть ли DNS с поддержкой SSL?
> См. выше про dnscrypt-proxy.
Я имел ввиду, что-то вроде "нет ли SOCKS с поддержкой SSL"? :-)


Reply to: