Использование ESNI (Encrypted SNI) в России

На данный момент, использование ESNI у многих провайдеров, применяющих DPI, ухудшает доступность сайтов, вопреки ожиданиям.
Причина в отсутствии SNI.
DPI многих провайдеров настроены так, что когда они не могут определить, к какому домену производится доступ, они блокируют соединение, и фактически получается блокировка по IP.

Реестр запрещенных сайтов состоит из следующих элементов:

  • Тип блокировки : default (обычно используется для конкретных HTTP URI), domain, ip
  • Домен
  • IP-адрес/адреса
  • Другая нетехническая информация, вроде судебного решения и органа, добавившего элемент в реестр

Пример:
Есть в реестре заблокированный домен w1.mobgo1azino.site, с IP-адресами 104.28.26.13 | 104.28.27.13. Он заблокирован по доменному имени (реестр содержит IP-адреса даже для типа блокировки type=domain).
Вы хотите зайти на незаблокированный сайт bo0om.ru, у которого те же IP-адреса, потому что оба сайта находятся за Cloudflare.
Если вы используете браузер без ESNI, то DPI провайдера увидит, что вы пытаетесь зайти на bo0om.ru по этим IP-адресам, и разрешит соединение.
Если вы будете использовать ESNI, то в TLS ClientHello-пакете не будет поля SNI, и DPI заблокирует ваше соединение.

2 Likes

Ещё стоит отметить, что в России заблокирован стандартный DoH-резолвер, вписанный в Firefox, mozilla.cloudflare-dns.com.
https://isitblockedinrussia.com/?host=mozilla.cloudflare-dns.com

Один адрес, 104.16.249.249, внесён в реестр для домена ineedusersmore.net (многие провайдеры не будут блокировать другие сайты на этом IP-адресе, но не все).
Второй адрес, 104.16.248.249, внесён уже чисто по IP-адресу, на основании «суд;2-946/13», и доступ к нему должен блокироваться полностью.
Не удивляйтесь, если DoH в Firefox будет работать через раз или не работать вовсе.

1 Like

The date given for the blocking order of 104.16.248.249 is 2013-06-10, over six years ago. It could not have been a DoH server at that time. Perhaps the IP address was used for some other purpose in 2013, and the DoH server inherited the block?

https://isitblockedinrussia.com/?host=mozilla.cloudflare-dns.com

1.1.1.1 is still reported as not blocked. (It’s not the default in Firefox, I believe it would have to be configured manually.)

https://isitblockedinrussia.com/?host=one.one.one.one

That’s the date of court decision, not the date of the record. The IP addresses were added to the registry in the end of 2016 [1,2].

Oh, and you got inconsistent result from isitblockedinrussia. It’s fully blocked for me.

Please ping the author here: https://github.com/deNULL/isitblockedinrussia.com/issues/3

eSNI это очень плохая идея. Во-первых, сессию очень легко на мидлбоксе свалить в fall back на TLS 1.2. Во-вторых, DoH легко режется по SNI сам по себе, потому что из-за доступности и обратной совместимости большинство провайдеров поддерживают fallback to SNI (мы проверяли в лаборатории). Ну и пробинг, собственно, ловит и позволяет пресечь. Доступность теряется. Требовалось либо обеспечить глобальный переход всех и сразу, и без fallback - что невозможно, либо не заморачиваться вообще.

Как я понимаю, ESNI прежде всего сделан для защиты приватности, чтобы провайдер пассивно не мог анализировать пользовательское поведение на основании DNS-запросов и SNI в TLS, а не для предотвращения цензурирования доступа.

В общем и целом - да. Кроме того, всегда остается опасность подписывания сертификата мидлбокса у рутов, и незаметного подсматривания (peek или stare) доменного имени; ну и реверсивные прокси видят TLS полностью, о чем не стоит забывать.

Такое практически невозможно в современном мире PKI, где используется Certificate Transparency.

Не понял, о чем речь.

Я бы насчет рутов не говорил “невозможно”. Вспомним Симантек и BlueCoat. Которые по сей день находятся в эксплуатации (есть доказательства).

Реверсивные прокси для кэширования полностью расшифровывают HTTPS. Кэшировать без расшифровки HTTPS трафик невозможно. Это мало кто знает - это не афишируется - но это так. Об этом следует помнить.

Они не стоят у провайдера, а если и стоят, то только специализированные, вроде Google Global Cache, который сам управляет всем.
В любом случае, это уже не по теме.

Они именно у провайдера и стоят. Cloudflare стоит прямо на провайдерах во многих случаях. GGC… я не могу это обсуждать, к сожалению. CDN это отдельная, очень нехорошая, тема, которую, к сожалению, считают к делу не относящейся. Просто я бы посоветовал не отмахиваться от этого, окей? Это все, что я могу сказать.

6 posts were merged into an existing topic: Cloudflare blocked IP circumvention

Let’s discuss Cloudflare’s feature in Cloudflare blocked IP circumvention