Как стать автором
Обновить

Комментарии 36

dns.goolge (тут нет опечатки, теперь у знаменитой корпорации появился свой домен первого уровня)


Тут все же опечатка, они конечно dns.google (8.8.4.4).

Да, бывает...

Спасибо за статью, доступно изложены новые фичи протоколов. Можно брать на вооружение!

НЛО прилетело и опубликовало эту надпись здесь
Ставьте на своей виртуалке AdGuard Home, и пользуйтесь DoH на своём сервере. Заодно и рекламу поблочите.
Эта проблема давно стоит, вспомнить хоть ту статью про журналистку, которая пыталась неделю не пользоваться продуктами Google.
eSNI — лишь одна из проблем.

Это все ещё лучше, чем нешифрованный DNS, а если хочется приватности — используем свой личный DNS.

Я вдруг понял, что мне это сломает фильтрацию дома на pi-hole.

Интересно, а шифрование домена для eSNI с одним и тем же ключом даёт один и тот же результат? Или там какие-то IV есть?
Стандарт, 7.5.5:
This design is not forward secret because the server's ESNI key is
static. However, the window of exposure is bound by the key
lifetime. It is RECOMMENDED that servers rotate keys frequently.

Может клиенты будут добавлять seed/nonce в SNI, может это даже в стандарт внесут (или уже, но я ленивая задница и не прочёл).
Просто я подозреваю, что сам сервер DPI может делать такие же запросы, получать ключи, шифровать, добавлять в табличку, а потом просто сравнивать с такой таблицей пакеты юзеров :(
Вы не поняли: клиент добавляет шум.
Вместо:
Алиса и Мэллори получает один и тот же публичный ключ и шифруют с его помощью SNI, получают один шифротекст и можно использовать его вместо SNI для бана.
Получаем это:
Алиса и Мэллори получает один и тот же публичный ключ и шифруют с его помощью SNI, но Алиса добавляет шум: «telegram.org:::%random_uint%», получая постоянно уникальный шифротекст, который запомнить нельзя, но получатель может расшифровать и убрать шум.
Ну, я так надеюсь, выглядит логично, иначе толку от eSNI и правда мало.
Ну вот я это и имел ввиду под IV. Можно в данном случае это назвать nonce. Если это используется, то хорошо.
Хм, что это за «IV»?
Вектор инициализации, используется в AES.

У той же клаудфлары ключи меняются раз в 20-30 мин...

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

Очень хочется увидеть инструкцию по поднятию собственного DNS-сервера с поддержкой eSNI, дабы "отвязаться" от Google с Cloudflare.

Ну, вроде бы там ничего особо мудреного нет. Генерируем пару ключей, открытый ключ бейсим и отдаем в виде txt-записи на запросы _esni.mydomain.com
Закрытый ключ скармливаем nginx'у чтобы он мог распарить esni.

Это ж блин, теперь любая малварь и реклама будет резолвиться безнаказанно :-/

Эм, клиент-то знает что он шифрует, до шифрования и блочить.

Угу. Как мне это поможет, если приложение на телефоне начнет телеметрию слать и резолвиться мимо локального DNS?

Настройка, что тут делать-то?
Новые технологии требуют нового подхода, ничего необычного.
Настроить обращение к общему для сети DNS (роутер?), например.

У меня и так настроено. Но теперь все приложения смогут это игнорировать

Большую часть рекламы можно зарезать на уровне ДНС. Ставите тот же dnsmasq, с файлом хостов, остальное он запрашивает у клиента, запрашивающего по протоколу DoH/DoT с вашей виртуалки в ЕС. Это если наколеночно делать, а можно взять AdGuard Home, который я выше упомянул, он всё это умеет. И код открыт.
А то, что не зарезалось на ДНС, резать расширениями всякими. Например, если баннеры на том же домене, что и контент, только урл другой.

В следующей части как раз пример будет;)

Многие приложения уже давно используют DOH, например — Telegram.

Теперь самый интересный вопрос: когда же google в chrome включит eSNI? Сейчас они только DOH включают и то, очень аккуратно...

На sumtel не работает такой способ, там блочится TLS с неизвестным ssl hello на IP-адреса, внесённые в список РКН. По мере распространения eSNI (сейчас он доступен только ИТ-специалистам) (проще говоря когда будет в хроме по умолчанию), РКН, очевидно даст рекомендацию блочить такой трафик.

Т.е. eSNI это лишь временная «победа» над РКН как когда-то был IPv6 («специалисты» РКН похоже долго не знали что оно существует)

Так можешь блочится по причине того, что ИП внесён в список? Вся прелесть dpi как раз в том и заключается, что ркн хочет уйти от блокировки по ипам...

нет, я проверял, если подключаться без esni на тот же ip, то не блочится (прописал ip в hosts и попробовал)
Возможно глупый вопрос, но кто мешает вырезать из запроса клиента поле encrypted_server_name? А то, что у него что-то там не работает, проблема клиента.
«Отчего вы не пишите письма на открытках? Вы что-то плохое прячете.»

Поломать возможность клиенту использовать eSNI и жить счастливо. Как вариант?

Если вырезать что то из пакета, то придется пересчитывать все чек суммы, перестраивать пакеты и т.д. а это при большом трафике довольно таки накладно.
Проще уж тогда совсем дропать такие пакеты, но тогда опять мы вернёмся к самой первой картинке в статье.

НЛО прилетело и опубликовало эту надпись здесь
По этому поводу вспомнилось, как редактор какого-то журнала (кажется, «Юный натуралист») рассказывал байку
оффтопик
В редакцию вечером пришло письмо с Камчатки, какой-то мальчик поймал краба и спрашивал, чем его можно кормить. Редактор прикинул, что письмо шло несколько дней, краб там уже наверное на грани голодной смерти, подорвался на телеграф и отстучал «кормите краба тухлым мясом». А утром за ним пришли товарищи в штатском и поинтересовались, что за шифровки он передает по ночам в приграничные регионы — телеграфистке телеграмма показалась подозрительной, и она её передала не адресату, а в КГБ.
Здесь важно правильно указать все каталоги, где находится openssl (в нашем случае — это /opt/openssl/) и проследить, чтобы процесс конфигурации прошел без ошибок.

Чего-то не получилось, выдало ошибку:
configure: error: /opt/openssl is a bad --with-ssl prefix!
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории