Ростелеком стал последней каплей, которая перевесила все мои доводы в пользу того, что пользователь должен выбирать HTTP или HTTPS. Не знаю, официальная ли это позиция Ростелекома, происки ушлого сотрудника или взлом внутридомового маршрутизатора, но сегодня в ростелекомовском домашнем интернете в Тюмени через MITM начали подставлять левые баннеры рекламной сети mail.ru на все сайты, открываемые без шифрования. Запрос в поддержку остался без ответа. Подозреваю, что после внедрения новых DPI, которые теперь применяют блокировки роскомнадзора через вклинивание в трафик, возник соблазн добавлять свою рекламу.Ситуация не единичная, на форумах с начала года всплывают похожие жалобы. Бывает и особо извращённые замены родных скриптов https://github.com/uBlockOrigin/uAssets/issues/6900
На страницы поставляется скрипт, в которым упоминаются домены p.analytic.press, d.d1tracker.ru и dmd.digitaltarget.ru. Реклама показывается через штатный блок ad.mail.ru, который раскрывает полноэкранный баннер или вешает в самый верх большой баннер. Реклама связана с индентификатором data-ad-client="ad-565599" (mailru_ad_565599_1582092521238). Для желающих поизучать, что они подставляют сделал архив https://www.opennet.me/soft/rt_adv.tgz Там скрипты, добавленные в пустую страницу, состоящую из одной шапки и надписи Clean. Особенно интересны base*.js которые пытались запутать обфускацией.
На первом этапе сделал проброс по умолчанию главных страниц https://www.opennet.me/ и http://opennet.ru/ на https://. Прямые ссылки по http:// пока оставил, как и возможность захода через http://m.opennet.ru (жаловались, что не все мобильные браузеры поддерживают сертификаты Let's Encrypt).
> Ростелеком стал последней каплей, которая перевесила все мои доводы в пользу того,
> что пользователь должен выбирать HTTP или HTTPS.Лично я, конкретно в случае выбора между HTTP или HTTPS, с вашей позицией не согласен. Возможно, потому не довелось самому страдать от последствий отсутствия такого выбора. В любом случае, это решение всецело в компетенции хостмастера и смысла его оспаривать нет. Потому что ему буквально виднее все пользовательские кейсы. Однако, я готов поделиться своими доводами, исключительно в рамках обмена мнениями.
> Подозреваю, что после внедрения
> новых DPI, которые теперь применяют блокировки роскомнадзора через вклинивание в трафик,
> возник соблазн добавлять свою рекламу.DPI на хозрасчёте.
> Ситуация не единичная, на форумах с начала года всплывают похожие жалобы.Докатимся до BBS. Надо будет ходить по SSH на условный хост с пробросом портов, и смотреть opennet.ru через http://localhost:8080.
> На первом этапе сделал проброс по умолчанию главных страниц https://www.opennet.me/ и http://opennet.ru/ на https://.
Спасибо.
> Прямые ссылки по http:// пока оставил, как и возможность
> захода через http://m.opennet.ruЕсли очень приспичит, можно редиректить "всё кроме тех кто специально просит не редиректить". Отличить одних от других на прокси можно разными способами, но, пожалуй, самым надёжным было бы запихнуть их в отдельный поддомен типа http://nossl.opennet.ru, или на отдельный порт. Надёжным в плане предсказуемости поведения.
> (жаловались, что не все мобильные браузеры поддерживают сертификаты Let's Encrypt).
Что мешает купить сертификат подешевле, типа https://www.ssls.com/ или https://cheapsslsecurity.com/promotion/buy-cheap-ssl-certifi... ?
Полностью только на HTTPS переводить пока не собираюсь, скорее всего ограничусь только главными страницами и пробросом внешних переходов на http:// по ссылкам. Внутренние переходы и прямые входы (например, http://opennet.ru/lite) пробрасывать не буду. Для m/mobile.opennet.ru сделаю проброс на https только для браузеров с Android и iOS в User Agent, для очень старых Android добавлю исключение.
Можно сделать всё гораздо проще. Просто смотрите, присылает ли браузер в запросе "Upgrade-Insecure-Requests: 1". Если присылает - это точно новый браузер, который хочет, чтобы его перенаправляли на HTTPS (и знает про Let's Encrypt). Редиректим все такие запросы на HTTPS. Для HTTPS-клиентов выставляем заголовки "Content-Security-Policy: upgrade-insecure-requests" и "Strict-Transport-Security: max-age=31536000". И всё. Все кто умеют в современный HTTPS со всеми плюшками - будут ходить строго по HTTPS. Кто не умеет - можно будет хоть с Windows 98 по HTTP зайти. И не надо никаких чёрных или белых списков для User-Agent.
Ростелеком подтвердил, что начал подставлять рекламу в трафик клиентов.Вот ответ на запрос:
"10.02.2020 г. была запущена баннерная реклама в интернете. Баннерная реклама отображается при выходе пользователя в сеть интернет (на мобильных устройствах и с компьютера) на различные сайты или при переходе между ними. Показывается реклама Ростелеком и партнеров.
Текст рекламных публикаций не предоставляет исчерпывающую информацию о всех условиях акции, его цель - привлечь внимание потенциальных клиентов и проинформировать их об основных условиях предложения компании. Все подробности акции в документе такого формата не отразить. Полная информация размещается на официальном сайте компании (www.rt.ru). Также дополнительные вопросы потенциальный клиент может задать оператору горячей линии (8-800-1000-800)."Подставляется абсолютно любая реклама. Причём явно ведут трекинг посещений абонентов, так как после просмотра интернет-магазина DNS стали предлагать купить там товары.
А можно сделать pda.opennet.ru тоже доступной по https? Без дефолта, просто доступ. Хорошая минималистичная версия не только главной, но и новостей.
> А можно сделать pda.opennet.ru тоже доступной по https? Без дефолта, просто доступ.
> Хорошая минималистичная версия не только главной, но и новостей.Ну и вообще в правом блоке есть ссылки на поддомены типа web.opennet.ru, security.opennet.ru, palm.opennet.ru, grab.opennet.ru. Они по http, зайти на https можно, но в сертификате их нету. Возможно, стоит посмотреть такие варианты:
* Переделать эти ссылки (всё равно они не работают на поддомене, а просто редиректят в раздел сайта)
* Добавить эти поддомены в сертификат
* Использовать Wildcard сертификат, вроде Let's Encrypt теперь их умеет.
Согласен, нужно собраться и добавить https для этих поддоменов. Сделаю.
Прошло три года. Сделайте, пожалуйста.
Просто оставлю это здесь:
https://www.ssllabs.com/ssltest/analyze.html?d=opennet.ru&la...
https://www.immuniweb.com/ssl/?id=KYFZG6aU
Хм, судя по отсутствию реакции, не хватает ещё этой ссылки: https://ssl-config.mozilla.org/