Не фильтруется https даже при наличии сертификата

Karamzin

New Member
Смарт на Android 4.2, AdGuard 2.11.81 (до этого были 2.7.220 и 2.9.70 с той же проблемой) в режиме ручного прокси (локальный VPN по ряду причин мне не подходит), в /system/etc/security/cacerts/ заброшен сертификат AdGuard'a и фильтрация https включена в настройках

2020.07.21_01.17.57~01.jpg

для хрома прокси задан через ключ в /data/local/chrome-command-line
Code:
--proxy-server="https=127.0.0.1:8080; http=127.0.0.1:8080"
и в журнале фильтрации видно, что трафик хрома бежит через AdGuard

2020.07.21_01.20.13~01.jpg

и вроде даже что-то фильтруется

2020.07.21_01.20.32~01.jpg

при этом, в хроме, на том же рутрекере, я не вижу в инфо о безопасности сайта никаких следов того, что сайт проходит через фильтрацию AdGuard'a (в исходнике страницы характерных "маркеров" AdGuard'a тоже не обнаружилось) и что задействуется его сертификат

2020.07.21_01.21.01~01.jpg

соответственно и реклама с ресурса не пропадает

2020.07.21_01.26.04~01.jpg

равно как и с других https-ресурсов. http при этом фильтруется без особых проблем. В настройках брендмауэра все опции фильтрации для хрома активированы (равно как и для других браузеров)

2020.07.21_02.49.24~01.jpg


При той же схеме на смарте с 5.1.1 и AdGuard'e 2.8.76 https фильтруется на ура. WTF ???
 

Woitler

Moderator
Moderator
Здравствуйте, перенёс тему в правильный раздел форума.
Попробуйте версию 2.12.250, подробнее о ней можно узнать тут.
Для устройств на ОС Android 5+ рекомендую использовать последнюю релиз-версию с adguard.com

Проверьте пожалуйста, в настройках Google Chrome, Opera Mobile и тд. должна быть выключена опция ускоренной загрузки страниц, она же "режим сжатия".
Попробуйте переустановить сертификат безопасности. Также, рекомендую заглянуть в Базу Знаний AdGuard и проверить корректность настроек.

Если проблема сохраняется, сформируйте обращение в техническую поддержку AdGuard, предварительно собрав расширенные логи, следуя инструкции.
Можно попробовать загрузить расширенные логи на файлообменник, а-ля Яндекс Диск, и скинуть их в эту тему, вдруг профильный специалист заглянет.
 

Karamzin

New Member
Попробуйте версию 2.12.250, подробнее о ней можно узнать тут.
Как раз её в первую очередь и попробовал. Только при работе прокси в ручном режиме оная работала крайне нестабильно, постоянно падала и недогружала страницы. Как сказали на 4pda, связано это с переходом на реализацию прокси посредством CoreLibs, что и по нынешнее время не исправленно, ввиду малой популярности прокси-режима. Последняя версия с прокси без CoreLibs это 2.11.81. Поэтому я остановился на ней.
Для устройств на ОС Android 5+ рекомендую использовать последнюю релиз-версию с adguard.com
На ОС Android 5+ у меня всё пучком даже с 2.8.76 :) Только боюсь, дальше 2.11.81 я не обновлюсь ввиду проблем с работой прокси.
Проверьте пожалуйста, в настройках Google Chrome, Opera Mobile и тд. должна быть выключена опция ускоренной загрузки страниц, она же "режим сжатия".
В Опере Классик он у меня всегда был отключён
2020.07.22_11.29.20~01.jpg
а вот в хроме оказался включён. Тем не менее, отключение режима сжатия результата не принесло.

2020.07.22_11.29.38~01.jpg

Полностью перезапустил хром, "смахнув" его и перезапустив AdGuard я наблюдал ту же картину, что и ранее. Те же сертификаты в инфо, то же отстутствие "маркеров" адгарда в исходнике сайта (view-source).
Попробуйте переустановить сертификат безопасности.
Дык он вроде установлен вполне корректно и системой опознаётся

2020.07.22_11.41.07~01.jpg


Если проблема сохраняется, сформируйте обращение в техническую поддержку AdGuard, предварительно собрав расширенные логи, следуя инструкции.
Можно попробовать загрузить расширенные логи на файлообменник, а-ля Яндекс Диск, и скинуть их в эту тему, вдруг профильный специалист заглянет.
ОК. Походу так и придётся поступить :/ Хотя я сомневаюсь, что это сильно поможет т.к. если это какой-то баг в логике работы программы, новый билд на Андроидах 4.x врятли уже появится.
 

Karamzin

New Member
Выяснился ещё один серьёзный просчёт, помимо ранее включённой экономии трафика - я использовал сертификат от другого билда, который был по соседству в настройках (точнее, я так думал, всё оказалось более эпично).

Дабы избежать путаницы зачистил лишние серикаты адгарда (в настройках я ранее просто деактивировал) и оставил сертификат от 2.11.81 (точнее, я думал, что от него) с хешем 88cba841.0 и перезагрузил устройство. Тем не менее проблемы это не решило. Всё осталось по прежнему. Что интересно, даже после полного удаления всех сертификатов adguard продолжал детектить установленные сертификаты adguard'a хотя оных больше не было в настройках, что натолкнуло меня на мысль проверить вкладку пользовательских сертификатов, где таки висел сертификат, вероятно добавленный когда-то ранее (ибо сейчас я этого не делал, да и экран у меня не был запаролен). Я проверил сертификат, который лежал в /data/misc/keychain/cacerts-added и он был совместим с текущей версией adguard'a т.к. имел md5sum c195b3ffb4be46e4d0160c90611bf0e4. Тот, что оставил (а потом удалил) в системном хранилище я, имел md5 - aae8b2a30242cf80d14cb6de80f57aa4 и идентичный хэш, что ранее вызвало дополнительную путаницу.

При всём при этом, почерёдно оставив сертификат что пользовательском, что в системном хранилище не смог добиться фильтрации https-трафика. Даже удалив его отовсюду и поставив по всем канонам при выдаче AdGuard'ом алерта и последующим запароливанием экрана перед установкой сертификата.
 
Last edited:

Karamzin

New Member
Единственная странность, которую я наблюдал в хроме при открытии https-сайтов и включённом сертификате была ошибка ERR_SSL_VERSION_INTERFERENCE, которая мелькает на страничке менее секунды, после чего прогружается сайт.
 

Karamzin

New Member
В общем, удалось забороть проблему. По крайней мере в хроме. Дело не в сертификатах. Дело в tlsv1.0. На это меня натолкнул прогон запросов через прокси адгарда с помощью curl'a. На смарте с 4.2 они упорно шли в tlsv1.0, а на 5.1 в 1.2/1.3 (справедливости ради там curl новее). Запустив хром с доп.ключём
Code:
--ssl-version-min=tls1.1
я наконец получил отфильтрованные от рекламы веб-страницы. В Опере Классик хотя и были настройки tls, эффект при отключении tlsv1.0 был переменный, а то и отрицательный. То реклама фильтровалась, то не фильтровалась, то валилась ошибка безопасного подкоючения и сайт вообще не грузился.
 

Karamzin

New Member
После перезагрузки смартфона снова перестало фильтровать и ключ "--ssl-version-min=tls1.1" не помог. В общем я хз что там творится, буду делать логи :/
 

Karamzin

New Member
Логи не хотят экспортироваться стандартным способом по неясным присинам. Файла /storage/sdcard0/Android/data/com.adguard.android/cache/log/adguard.log будет достаточно ?
 

Attachments

a.ivanov

Android Developer
Staff member
Administrator
Логи не хотят экспортироваться стандартным способом по неясным присинам. Файла /storage/sdcard0/Android/data/com.adguard.android/cache/log/adguard.log будет достаточно ?
Да, присылайте
 

a.ivanov

Android Developer
Staff member
Administrator
Логи не хотят экспортироваться стандартным способом по неясным присинам. Файла /storage/sdcard0/Android/data/com.adguard.android/cache/log/adguard.log будет достаточно ?
а, вот, передали логи
 

a.ivanov

Android Developer
Staff member
Administrator
@Karamzin я почитал логи. В логах обобщенные ошибки для кода того времени, и узнать, в чем конкретно проблема, не получается.
 

Karamzin

New Member
@Karamzin я почитал логи. В логах обобщенные ошибки для кода того времени, и узнать, в чем конкретно проблема, не получается.
Понятно :/ Т.е. выяснить в чём проблема даже с максимальным уровнем логгирования невозможно ? Эх :( Вероятно придётся использовать VPN (надеюсь, это поможет и там неибудет той же котовасии), а для этого придётся всю логику работы приложений пересматривать т.к. всё было заточено под прокси (VPN банально не использовался по причине того, что если валился adguard, отваливался от сети и весь софт, т.к. он пропускал через себя весь трафик).

Как я уже ранее писал, один раз фильтрация в браузере заработала и это даже было видно по содержимому и инфо сертификата в браузере - он сменился на сертификат adguard'a. Только вот после ребута эффект исчез. В чём было дело, выяснить так и не удалось.

В процессе работы над вопросом обнаружились разные странности - при использовании редиректа HTTP трафика (https ясен пень не редиректился) через iptables, AdGuard всё фильтровал нормально, а при использовании встроенной функции указания прокси фильтрация тоже шла, но почему-то переставали работать персональные User Agent'ы для ряда сайтов, прописанных в Override.ini. Возможно это придурь самой оперы, возможно дело в адгарде, не проверял.

Дебаггинг через Opera DragonFly тоже ничего внятного не дал - там на некоторых https-запросах (даже в рамках одного сайта) было видно inject-маркеры адгарда, а на других нет. Т.е. то работало, то не работало.

Ещё момент, на который я обратил внимание - это то, что трафик через прокси адгарда с хрома туннелировался (судя по журналу запросов) проходя насквозную и никак не затрагиваясь. С чем это может быть связано ? Помнится, в одном из тредов мне отвечали, что если адгардом
считывается заголовок CONNECT <domainname :443>, иные - сбрасываются.
то, возможно ли, что, происходит такая ситуация, когда адгард не считывает его по какой-либо причине ? Это может каким-то образом быть связано с TLSv1.1/2 ? С последними на 4.x сейчас как раз проблемы. Я бы погонял бы curl'ом через прокси адгарда запросы с различными конфигурациями, но т.к. трафик от рута в обычной версии не фильтруется, мне сложно что-то сказать на этот счёт. Пробовал запускать curl от имени другого пользователя (браузера) через su, но сходу получал "Closing connection".
 

Karamzin

New Member
Мда. На локальном VPN та же история. Буду пробовать VPN + 2.12.250. Там вроде https фильтровался, но прокси-фильтрация по причинам озвученным выше работала из рук вон плохо.
 

Karamzin

New Member
В общем, как я и предполагал, только связка 2.12.250 (возможно какие-то ещё билды пос 2.11.81) + локальный VPN работает. https фильтруется. Прокси лучше вообще не трогать, ибо он совсем поломан. На 2.11.81 (и более ранние), на последней версии, где нормально работает прокси, не работает фильтрация https как через прокси, так и через vpn, конкретно на девайсе с 4.2.2. На смарте с 5.1.1 в режиме прокси билд 2.8.76 вполне себе фильтрует https. Возможно позднее ещё раз сделаю откат на 2.11.81, включу пробный премиум и погоняю curl'ом запросы через прокси. Может тогда что-то прояснится ...
 
Top