AdguardTeam / CoreLibs

Core Adguard libraries
https://adguard.com/
Apache License 2.0
40 stars 7 forks source link

ERR_ECH_FALLBACK_CERTIFICATE_INVALID error on 5.doramatv.one #1913

Open adguard-bot opened 2 months ago

adguard-bot commented 2 months ago

Issue URL (Incorrect Blocking)

https://5.doramatv.one/vasha_chest

Comment

Не показывают закладки на сайте, при выключения расширения закладки появляются.
Username: @DimonPro242

Screenshots

Screenshot 1 ![Screenshot 1](https://cdn.adguard.info/sitereports/79icn67ymagws0ogssoog8gkkk44g8g7nxz54g2564.png?nc=1)
Screenshot 1 with AdGuard disabled ![Screenshot 1](https://cdn.adguard.info/sitereports/9md4im79x4owogkwogk4cwkk04csgogkaa65fxp75c.png?nc=1)

System configuration

Information Value
AdGuard product: AdGuard for Mac v2.15.1.1731 release
System version: MacOS Somona 14.6.1
Browser: Яндекс Браузер
License type: paid
Tracking protection options: Block Push API,
Block Location API,
Block Java,
Strip URLs from tracking parameters,
Hide your search queries,
Send Do-Not-Track header,
Hide your Referrer from third-parties,
Hide your User-Agent,
Remove X-Client-Data header from HTTP requests,
Self-destructing third-party cookies (180),
Block trackers
DNS filtering: disabled
Filters: Ad Blocking:
AdGuard Base

Privacy:
AdGuard Tracking Protection,
AdGuard URL Tracking,
EasyPrivacy,
Peter Lowe's Blocklist

Annoyances:
AdGuard Annoyances,
AdGuard Cookie Notices

Language-specific:
AdGuard Russian
Browsing Security: enabled
Browsing Security statistics: disabled
Userscripts: Web of Trust (url: https://userscripts.adtidy.org/release/adguard-wot/1.0/wot.user.js)
AdGuard Popup Blocker (url: https://userscripts.adtidy.org/release/popup-blocker/2.5/popupblocker.user.js)
AdGuard Extra (url: https://userscripts.adtidy.org/release/adguard-extra/1.0/adguard-extra.user.js)
Userstyles: disabled
Alex-302 commented 2 months ago

@DimonPro242 Не повторяется. Какая версия базового фильтра?

Отключение антитрекинга помогает? Если да, то какая опция приводит к проблеме?

DimonPro242 commented 2 months ago

Базовый фильтр 2.3.51.27

DimonPro242 commented 2 months ago

Я пробую все отключить по отдельности не чего не помогло

DimonPro242 commented 2 months ago

Не знаю вам это поможет или нет. Отключил Автоматически фильтровать трафик приложений и сайт заработал ну только и появилась реклама, Режим там стоит Сетевое Расширения. Теперь по пробывал в Режим Фильтрации поменять на Автомотически прокси, помогло реклама пропала и сайт заработал.

Alex-302 commented 2 months ago

Нет, это нам не поможет) А удалённо нельзя глянуть? Виртуальная машина тоже подойдёт, если повторится на ней.

DimonPro242 commented 2 months ago

у меня макбук и я незнаю как вам помочь

Alex-302 commented 2 months ago

Можно через AnyDest. Аналог TeamViewer https://anydesk.com/ru/downloads/mac-os

Если такой вариант подходит - напишите в https://t.me/Alex302_AdGuard

Если нет - попробуйте добавить api.rmr.rocks в исключения HTTPS

Details ![image](https://github.com/user-attachments/assets/822b1798-110b-49ff-9ffa-dc67fed6da93)
DimonPro242 commented 2 months ago

api.rmr.rocks сделал я это и не помогло

ameshkov commented 2 months ago

@sfionov the problem is with Encrypted Client Hello it seems, but I cannot reproduce it so far.

The domain in question is api.rmr.rocks.

So far I am unable to reproduce the issue, but I've only tried it with Chrome.

Cloudflare indeed serves a ECH configuration for that domain:

dig -t https api.rmr.rocks. @1.1.1.1 +short
1 . alpn="h3,h2" ipv4hint=104.21.76.145,172.67.196.31 ech=AEX+DQBBuQAgACCSfpCSUjXkbXXOhe+gOQwJ/TxWDFR3gxXYYO43HNmnewAEAAEAAQASY2xvdWRmbGFyZS1lY2guY29tAAA= ipv6hint=2606:4700:3030::ac43:c41f,2606:4700:3033::6815:4c91
Alex-302 commented 2 months ago

@DimonPro242 А в обычном Хроме или Firefox повторяется?

DimonPro242 commented 2 months ago

в Safari закладки запускаються

DimonPro242 commented 2 months ago

в Опере так же все запускаеться

JIiCeHoK commented 1 month ago

Столкнулся с такой же проблемой. Выяснил, что это происходит при включенной фильтрации HTTPS и использовании системного сервера DNS. После выбора сервера AdGuard DNS сайты вновь заработали

ameshkov commented 1 month ago

@JIiCeHoK а какой у вас системный DNS сервер?

JIiCeHoK commented 1 month ago

@JIiCeHoK а какой у вас системный DNS сервер?

Cloudflare. image

JIiCeHoK commented 1 month ago

Причём чтобы точно всё заработало, нужно сначала отключить фильрацию, зайти на сайт и несколько раз обновить страницу, после включать фильтрацию и менять сервер DNS. Но сработать может не сразу, поэтому нужно пробовать несколько раз

dDmioko commented 1 month ago

У меня похожая ошибка с другими сайтами. Проблема именно с открытием страниц в Яндекс Браузере. В других браузерах (например chrome и edge) в то же время всё нормально работает

Стабильно вылетает ошибка ERR_ECH_FALLBACK_CERTIFICATE_INVALID на одной из следующих страниц:

Реже:

Указанный в шапке сайт также показывает упомянутую ошибку

Способ воспроизведения:

  1. Включить фильтрацию HTTPS в AdGuard
  2. Проверить что выключен Encrypted Client Hello (без неё стабильнее воспроизводится. Если включить, то несколько вкладок всё же загрузит, а остальные - нет)
  3. ИЛИ установить Яндекс Браузер начистую. После открыть каждую из указанных страниц (при чистой установке первая же падала)
  4. ИЛИ в уже установленном Яндекс Браузере поочерёдно открыть указанные страницы (падает стабильно на одной из них)
  5. При открытии страниц рекомендуется несколько раз перезагрузить их (Ctrl+R)

Временное решение: Обнаружил, что указанные сайты начинают работать, не показывая ошибки, если выключить настройку "Фильтрация HTTPS"

dDmioko commented 1 month ago

P.s.: При включенной HTTPS фильтрации пробовал добавлять сайт, на котором вылезла ошибка, в исключение с помощью расширения браузера "Браузерный помощник AdGuard". Не помогает

P.s.s: Если необходимо, вот мои настройки из AdGuard\ https://drive.google.com/file/d/1byRPh6n7SfRe6LpgTjp0xXhSKix2OdY9/view?usp=sharing

ameshkov commented 1 month ago

А можете еще точную версию ЯБраузера и ОС сказать?

dDmioko commented 1 month ago

Версия ЯБ: 24.7.3.1250 (64-bit) ОС: Windows 11 Pro Версия ОС: 23H2 Сборка ОС: 22631.4169

ngorskikh commented 1 month ago

Выглядит так, будто проблема связана не с ECH, а с тем, что браузер не принимает сертификат: https://source.chromium.org/chromium/chromium/src/+/main:net/socket/ssl_client_socket_impl.cc;l=1162?q=ERR_ECH_FALLBACK_CERTIFICATE_INVALID%20&ss=chromium

Однако, мне не удалось повторить ни на одном из сайтов из данного обсуждения.

@dDmioko Не могли бы вы, пожалуйста, записать лог браузера:

  1. Открыть chrome://net-export.
  2. Start Logging to Disk.
  3. Воспроизвести проблему.
  4. Stop Logging.
  5. Отправить лог на devteam@adguard.com (со ссылкой на задачу)
RomanBAH commented 1 month ago

Решается добавлением в исключения https фильтрации домена cloudflare-ech.com

dDmioko commented 1 month ago

Решается добавлением в исключения https фильтрации домена cloudflare-ech.com

Да, действительно помогло. Благодарю, добрый человек

ameshkov commented 1 month ago

Ну это решение по сути отключит фильтрацию для всех доменов, на которых используется ECH, а их со временем будет становиться больше.

Нам бы до причины докопаться.

y0rtar commented 1 month ago

Добрый день, присоединяюсь к обсуждению, аналогичная проблема, только ноут у меня на Windows 11. Не открывает сайт с документацией FastAPI, ошибка ERR_ECH_FALLBACK_CERTIFICATE_INVALID.

sfionov commented 1 month ago

Мы изучили данную проблему:

Проблема возникает из-за того, как Яндекс.Браузер обрабатывает сертификат для HTTPS-фильтрации.

Сначала они получают код ошибки -215 (ERR_CERT_ISSUED_BY_UNKNOWN_ROOT) при валидации на встроенном хранилище сертов, далее они переключаются на системное хранилище. Это позволяет предупредить юзера, показав "разомкнутый" замок, если используется MITM-серт, и "зелёный", если серт оригинальный.

Однако эта схема не очень совместима с нарастающим внедрением ECH.

Т.к. получив эту ошибку, код ECH заменит её на ERR_ECH_FALLBACK_CERTIFICATE_INVALID, на чём обработка соединения завершится, и будет показана ошибка.

В хроме же это работает, т.к. он успешно валидирует сертификат cloudflare-ech.com, понимает, что доверенное соединение произошло, но зашифрованная часть ClientHello не была обработана сервером. Этого достаточно, чтобы не использовать ECH для этого сайта.

Воркэраунд

В качестве воркэраунда необходимо включить Расширенную настройку Адгарда, созданную специально на случай подобных проблем - dns.proxy.block.encrypted.client.hello.response.parameters и перезапустить Яндекс.Браузер.

sfionov commented 1 month ago

В Adguard для Windows расширенная настройка называется "Block ECH" и находится среди настроек DNS (почти в самом конце списка Advanced-настроек)

image

Что делать, если ECH мне нужен?

Если вам всё-таки нужен ECH, кроме настройки выше, необходимо так же включить расширенную настройку network.https.ech.enabled в мак-версии.

В Windows-версии это следующая настройка:

image

Тогда AdGuard сам будет заботиться о шифровании ClientHello при обращении к сайтам.

dDmioko commented 1 month ago

Указанный способ помог, спасибо

ameshkov commented 1 month ago

Проблему отрепортили в Яндекс, надеюсь исправят, пусть задача пока открытая висит.

y0rtar commented 1 month ago

В Adguard для Windows расширенная настройка называется "Block ECH" и находится среди настроек DNS (почти в самом конце списка Advanced-настроек)

image

Что делать, если ECH мне нужен?

Если вам всё-таки нужен ECH, кроме настройки выше, необходимо так же включить расширенную настройку network.https.ech.enabled в мак-версии.

В Windows-версии это следующая настройка: image Тогда AdGuard сам будет заботиться о шифровании ClientHello при обращении к сайтам.

Помогло, спасибо, только перезагрузка Яндекс Браузера не помогла, как и убийство процесса. Только после перезагрузки ПК заработало конкретно у меня.

y0rtar commented 1 month ago

У меня лично снова начал проявляться этот баг, настройки не менял.

TpSr52 commented 2 weeks ago

I switched to the Yandex browser and encountered the same bug. The workaround didn't work for me. Even with those 2 options or 1 of them enabled, most of the time the ERR_ECH_FALLBACK_CERTIFICATE_INVALID occurs.

JusticeWay commented 2 weeks ago

I switched to the Yandex browser and encountered the same bug. The workaround didn't work for me. Even with those 2 options or 1 of them enabled, most of the time the ERR_ECH_FALLBACK_CERTIFICATE_INVALID occurs.

Аналогично, не помогают опции выше.

JusticeWay commented 1 week ago

Я так понимаю про Adguard приложение для Windows можно забыть и не ждать новостей?

sfionov commented 1 week ago

@JusticeWay Подскажите, включена ли у вас DNS-фильтрация?

JusticeWay commented 1 week ago

@JusticeWay Подскажите, включена ли у вас DNS-фильтрация?

Стоит Adguard Home (ваш же) на VPS и использую DOH протокол.

sfionov commented 1 week ago

@JusticeWay А в самом приложении AdGuard включена DNS-фильтрация?

JusticeWay commented 1 week ago

А в самом приложении AdGuard включена DNS-фильтрация?

Нет конечно, в этом же смысла нет никакого при наличии собственного сервера Adguard Home

sfionov commented 1 week ago

@JusticeWay

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

Если предположить, что ЯБ не использует DoH, то блокирование запросов типа HTTPS подобным правилом может помочь

$dnstype=HTTPS

Если использует, то поможет только локальная DNS-фильтрация

Noatitauaggi commented 1 week ago

@JusticeWay

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

Если предположить, что ЯБ не использует DoH, то блокирование запросов типа HTTPS подобным правилом может помочь


$dnstype=HTTPS

Если использует, то поможет только локальная DNS-фильтрация

Куда именно вписать правило?

Я с приложением в плане DNS не работал

sfionov commented 1 week ago

@Noatitauaggi Если включена DNS-фильтрация в приложении, должно быть достаточно галки выше, если используется AG Home, то это правило для него