Есть ли защита от DNS-спуфинга?
Добрый день! Вот такая модель угрозы: человек находится посередине между вами и вашим интренет-провайдером.
При вашей попытке отправить DNS-запрос он перехватывает сообщение, уничтожает его и отсылает обратно поддельный ответ.
Есть ли защита от такого?
Я так понимаю, что это одна из многих видов DNS-спуфинга. Также можно подделывать кэш DNS сервера. Какие еще виды DNS-спуфинга существуют? Есть ли защита от них?
При использовании TOR, выходная нода тоже может спуфить DNS?
Ссылки
[link1] http://www.pgpru.com/poisk
[link2] https://www.pgpru.com/comment55325
[link3] https://github.com/opendns/dnscrypt-proxy/downloads
[link4] http://www.opennet.ru/openforum/vsluhforumID3/95135.html#66
[link5] http://download.dnscrypt.org/dnscrypt-proxy/
[link6] https://yandex.ru/yandsearch?text=безопасные%20dns&lr=21280
[link7] http://www.comss.ru/list.php?c=securedns
[link8] http://www.dnscurve.org/
DNSSEC, OpenDNSCrypt. /Поиск[link1] Вам в помощь.
А то! И с Tor приведённые выше методы не работают.
Вот оно как..
Тогда как вот такая идея: софт, работающий через TOR, отправляющий DNS-запросы по трём различным цепочкам. Сравнивает три ответа на предмет спуфинга. Плюс можно дополнительно отправлять DNS-запрос через провайдера на предмет спуфинга локального (от тебя до провайдера).
Думаю, что идея не нова.. Есть ли готовые реализации?
В каком софте это должно быть реализовано? Что, если этот софт использует стандартный резолвер ОС, а не собственный? Как он должен себя вести, если полученные ответы не согласуются?
То есть самостоятельно устраивать утечку DNS-запроса?
А смысл проверять спуфинг днс со стороны эксита, ну получили вы самый настоящий адрес, и что? Эксит всё равно, чуть менее чем полностью, контролирует адрес назначения к которому будет подключаться, пусть это будет хоть 146% достоверный ип-адрес запрошенный вами. В вашей схеме проверок тор лишняя деталь.
Господа, вы не поняли. ТОР – средство проверки того, пытаются ли произвести локальный DNS-спуфинг. Имеется ввиду, что не требуется анонимность. По ТОР отправляются/получается только DNS-запросы/ответы. Трафик идет прямым каналом через провайдера.
ну допустим, типа tornslookup.
насколько мне известно, в пакете ТОР есть собственный DNS форвардер. можно присобачить его.
Исходники открыты, можете приспособить под свои нужды.
Хотите изобрести собственный велосипед с преферансом и поэтессами? Почему нельзя использовать готовые механизмы, мне решительно непонятно.
в принципе это не главное (для tornslookup), можно просто выдать предупреждение.
но если конкретизировать, то возможны следующие варианты.
1. DNS-ответ от провайдера и от тор-нод совпадают – всё хорошо
2. DNS-ответ от провайдера и от тор-нод НЕ совпадают – прослушивание локальное (на стороне провайдера)
3. DNS-ответ от провайдера совпадает только с двумя из трёх нод – прослушивание удаленное (на стороне ноды)
4. DNS-ответ от провайдера совпадает только с одной из трёх нод – ZOG!!! =))
Всегда есть вероятность ошибки.. Например, в варианте №2 – противник установил DNS-спуферы на все три ноды, и только твой родной провайдер не врёт.. =)
Я уже спрашивал[link2]
Например какие?
Если вы имеете ввиду DNSSEC и прочие, то для этого нужно, насколько мне известно, чтобы администратор веб-сайта позаботился об этом, не так ли?
Это не то, о чём я спрашиваю. Какие ответы должен давать этот гипотетический резолвер? Они должны быть чисто текстовые, т.е. работа с программой предполагается исключительно в ручном режиме?
OpenDNSCrypt'у не нужно ничего, кроме использования DNS-серверов OpenDNS.
Думаю, хотя бы сделать консольное приложение, а потом посмотрим, как попрёт)))
Против OpenDNSCrypt сказать ничего не могу, за исключением того, что нужно доверять их сервису. Конечно, вероятность целенаправленной атаки против меня мала.
Также, считаю, всегда нужны альтернативные средства защиты. Комплексный подход к безопасности же!)
"Как попрёт" — это отличное инженерное требование.
Для консоли напишите простой скрипт, перестраивающий цепочки Tor'а (или просто перезапускающее его процесс) и запрашивающее IP домена через tor-resolve нужное число раз. Можно как ограничиться простым выводом IP, так и прикрутить свистелки, автоматически сравнивающие результаты между собой и ответом от провайдерского DNS-сервера. В любом случае работа на несколько минут.
Под заявленную Вами модель угрозы подходит.
Ни рестарт, ни тем более новая личина, не гарантируют нового эксита. Тут уж как попрёт, ага.
Кстати, я тут подумал, также можно проверять сертификаты сайта. Пытаются ли вас обмануть на стороне провайдера, подменяя сертификат (подписанный другим центром сертификации). Хотя от таких атак и защищает спецплагин, он не бьет тревогу, если предыдущий сертификат истекает.
Именно. Поэтому, в идеале, придётся через управляющий порт проверять их идентичность.
Пытался сделать несколько раз:
Результат каждый раз разный.
И даже здесь этих адресов нет:
Видимо, это связано с резервированием. При проверке крупных сайтов будут ошибки. С pgpru все нормально.
У гугла и вообще любого крупного сайта кластеры серверов с балансировкой нагрузок. Ещё одна причина, почему нужно использовать стандартные средства.
DNSCrypt for Linux[link3]
как скачать и установить? не вкурю ((
1.
спасибо.
но вот это: and download the .deb file я как раз и не смог сделать. нет там пакетов. я подумал, может как то по другому нужно делать..
Конечно по-другому, например скомпилировать самому)
а между тем dnscrypt уже 1.3.3 и появился для Анроида, Винды. только установка усложнилась. теперь требуется еще и libsodium ставить.
в этой связи при кофигурации вылезла такая ошибка:
.......
checking whether we are cross compiling... configure: error: in `хххх/dnscrypt-proxy-1.3.3/src/libevent-modified':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
дальше ступор (( прошу помощи.
зы пардон. система Debian 6.0.7 x86
Поможет ли DNSCrypt обойти провайдера в такой ситуации? http://roem.ru/2014/03/30/turkishdns95653/
Как сообщает сам Google, турецкие власти, совместно с телеком-операторами, решили не просто блокировать гугловский DNS 8.8.8.8, но настроили «маскарадинг» и клиент, обращающийся к Google’s Public DNS, прозрачно получает ответ подставных турецких DNS.
Система DNS отвечает за разрешение человеко-читаемых интернет-адресов (таких, как Roem.ru), в их цифровые IP-адреса и может быть представлена как телефонный справочник. Подмена DNS позволяет подменять сайты, стоящие за доменными именами (такой метод является распространенной хакерской тактикой для перенаправления пользователей на подставные фишинговые сайты). Ранее, во время первой блокировки Twitter, жители Турции обнаружили, что блокировка обходилась отказом от использования выданного провайдером DNS-сервера в пользу 8.8.8.8:
Зависит от нюансов блокировки. Провайдер может разрешать соединения только со своим DNS-сервером. Или может заблокировать любые DNS-сервера, поддерживающие DNSCrypt (с ним же вообще вроде бы работает только OpenDNS?).
https://github.com/jedisct1
Frank Denis jedisct1
San Francisco, CA.
{email}
http://twitter.com/jedisct1
Joined on Sep 09, 2009
На опеннете "рекламируют" провайдера[link4], который делает как в турции. Только провайдер не из турции.
Впрочем нет подробностей, делают ли так в отношении всех днс серверов или гуглу повезло особо.
Туплю. В примере все подробности. Гуглу повезло.
появилась версия и для Андроид[link5]
только вот никак не соображу как его туда установить. в разделе Installation упоминается что можно ставть на рутовый андроид, но как?
в архиве 3 папки:
– bin
– sbin
– share
может есть у кого опыт установки?
есть DNSCrypt
В этой теме он есть, начиная с первого поста два года назад.
По запросу в Google, Yandex и etc, можно найти "защищенные" dns сервера от Norton, Comodo и т.д.
Поиск DNS[link6]
сами DNS[link7]
Вот еще проект[link8]