LINUX.ORG.RU

проблема с HTTPS в Debian

 , ,


0

1

Система Debian 12. Несколько дней назад потерян доступ из этой системы к сетевым ресурсам по протоколу HTTPS: не открываются в Firefox, не загружаются при помощи wget и apt. Ошибка «Время ожидания соединения истекло», а wget коннектится по IP и просто виснет. Почему-то сделано исключение для https://dzen.ru и https://google.com Эти работают без проблем. С HTTP тоже все в порядке.

Я понял, надо что-то подкрутить в сертификатах. Вопросы у меня такие:

  1. Как восстановить работу HTTPS?
  2. Почему работают Dzen и Google?

============================================= Проблема решена

Развернулась интересная дискуссия. Спасибо всем откликнувшимся, особенно @mx__ который навел на верное решение.

Для тех,у кого нет времени читать всё: проблема была в установленном год назад antiDPI-средстве zapret, на которое вдруг стал плохо реагировать провайдер или какие-то шлюзы в сети. Вот ключевые комментарии:

проблема с HTTPS в Debian (комментарий)

проблема с HTTPS в Debian (комментарий)

проблема с HTTPS в Debian (комментарий)

проблема с HTTPS в Debian (комментарий)



Последнее исправление: diogjibn (всего исправлений: 5)
Ответ на: комментарий от peregrine

а это точно не проблема обновлённого браузера? как-то слишком сложно для «блокировки по фингерпринту», особенно в TLS. и тем более на огромном трафике у провайдеров. у тормозиллы свой NSS ещё, который обычно скомпилён с браузером. могли и там начудить.

но надо смотреть трейсы, конечно. могли тупо заблокировать доступ к CA, без всяких сложностей и даже по ошибке, вместе с какими-нибудь прочими ресурсами, ковровыми банами. и тоже бы практически всё отпало.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от anonymous

Не то чтобы нормально. Куча сайтов на самом деле уже и с условных США не открывается. А другие не работают с Франции и так далее. Конечно до чебурнета им далеко, они сейчас на уровне 2013 года примерно. Но я верю в них тоже.

anonymous
()

надо что-то подкрутить в сертификатах

Проверка корневых сертификатов:

Почему корневые сертификаты спасают от MITM атаки? (комментарий)

Почему корневые сертификаты спасают от MITM атаки? (комментарий)

У меня в GNU/Linux браузеры берут системные сертификаты. За порядком только в одном месте удобнее следить.

anonymous
()
Ответ на: комментарий от MirandaUser2

Потому что бан летит по фингерпринту браузера.

Но при использовании SSL фингерпринты знает только веб-сервер.

По URL блокировать при использовании SSL можно: Почему корневые сертификаты спасают от MITM атаки? (комментарий)

anonymous
()
Ответ на: комментарий от mamina_radost

Я РКН свою проксю не продавал! Она бы так не глючила. ;)

Полгода назад у меня украли винт шифрованный LUKS (без ключей в TPM), но там была только обычная прокся с классическим MitM для сканирования на вииуси всего трафика.

Своей MitM прокси работающей без изменения клиентских корневых сертификатов я никому не продавал!

anonymous
()
Ответ на: комментарий от anonymous

Доказательство работы своего чудо прокси ты кому-то показывал? Допустим я прокину туннель до твоего сервера, чтобы он был посредником до моего сайта. Подключение https. Подглядишь за моей сессией?

mamina_radost
()
Ответ на: комментарий от peregrine

так ты не отличишь TLS одного браузера от TLS другого. хотя бы потому, что библиотеки криптографии одинаковы. а они обновляются сразу. браузер не работает с пакетами на нижнем уровне. он пихает всё в сокеты и всё.

Iron_Bug ★★★★★
()
Ответ на: комментарий от peregrine

сейчас браузеры открывают HTTP/2 канал, по нему запускают кучу параллельных запросов, а на уровне TLS это всё может пихаться в пакеты или отправляться сразу, в зависимости от TCP_NODELAY/TCP_CORK. и разобрать, что там валит в этих пакетах, со стороны просто физически нереально. можно увидеть домен (если нет TLSv1.3 и DOH), можно увидеть айпишник, к которому идёт обращение (на любом большом сайте их будет много, потому что CDN'ы, скриптота и прочее), и всё на этом. никакой магии не существует.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от peregrine

разница в том, что гугл на своих серверах, например, поддерживает ещё и QUIC. и вот его перекрыть сложнее, потому что он как UDP и пролазит через любые дырки. возможно, что отличие именно в этом. насчёт яндекса не знаю, я им не пользуюсь. не могу сказать, что у них с протоколами.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Есть отличие в шифрах, что как раз зависит от настроек веб-браузера.
См. https://github.com/Feodor2/Mypal68/issues/348#issuecomment-1885288690 (или вот это https://bugzilla.mozilla.org/show_bug.cgi?id=1850504)
Т.е. в принципе TLS fingerprint имеет место.

MirandaUser2
()
Ответ на: комментарий от MirandaUser2

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от anonymous

это из серии «как управлять миром, не привлекая внимания санитаров». и все эти бредни потом распространяются среди юзеров, как сарафанное радио, одна страшилка страшнее другой.

Iron_Bug ★★★★★
()
Ответ на: комментарий от mx__
Раз работает https://youtube.com, то установлена какая фигня типа запрет и т.д.

Точно, это был zapret. Я решил проблему!!!

Предыстория такая. zapret был уставновлен 11 августа 2024 года, и я забыл давно о нем. И все работало прекрасно. Не знаю, почему начались проблемы несколько дней назад. Причем очень странные проблемы. Если это работа РКН, то целью для нее было наличие antiDPI zapret, то есть его настройки по умолчанию.

Сейчас сделал так:

ps aux | grep zapret
tpws       659  0.0  0.0    480   344 ?        S    21:14   0:00 /opt/zapret/nfq/nfqws --user=tpws --dpi-desync-fwmark=0x40000000 --qnum=200 --dpi-desync=fake --dpi-desync-ttl=7 --dpi-desync-fake-http=0x00000000
tpws       669  0.0  0.0    480   352 ?        S    21:14   0:00 /opt/zapret/nfq/nfqws --user=tpws --dpi-desync-fwmark=0x40000000 --qnum=201 --dpi-desync=fake split --dpi-desync-ttl=7
root      1765  0.0  0.1   8252  2180 pts/1    S+   21:44   0:00 grep zapret

Потом так:

/opt/zapret# ./uninstall_easy.sh
* checking system
system is based on systemd
* checking privileges
* clearing ipset(s)
setting high oom kill priority
reloading ipset backend (clear)
* stopping zapret service
Removed "/etc/systemd/system/multi-user.target.wants/zapret.service".
Removed "/etc/systemd/system/zapret.service".
* removing zapret service
* removing zapret-list-update timer
Removed "/etc/systemd/system/timers.target.wants/zapret-list-update.timer".
Removed "/etc/systemd/system/zapret-list-update.timer".
* removing crontab entry

press enter to continue

И проблемы ушли. Кстати, Youtube тоже работает. Но с ним, по-моему, сейчас больших проблем нет. Только если с качеством. Но на этом компе качественно все равно не посмотришь.

diogjibn
() автор топика
Ответ на: комментарий от anonymous
Да ты издеваешься. Невежливо

Прога проработала почти год и даже не напоминала о себе. Полезная прога, конечно. Ничего не имею против. И еще неизвестно, как «всякие разные» сайты будут теперь без нее работать. Но комп-то мой рабочий, мне на нем еще кое-что другое нужно. :-)

diogjibn
() автор топика
Ответ на: комментарий от diogjibn

Полезная прога, конечно

Конечно «полезная» - из пакетов винегрет делает и в итоге все ломается и работает через жопу.

И еще неизвестно, как «всякие разные» сайты будут теперь без нее работать.

В туннель заверни.

anonymous
()
Ответ на: комментарий от Iron_Bug

С UDP даже проще, не надо подсовывать никаких RST и прочего, пакеты просто дропают при определённом rate или после определённого количества. Амнезия на Мегафоне уже не работает, именно поэтому. Проходит пара десятков пакетов, и опа.

anonymous
()
Ответ на: комментарий от mamina_radost

Результат работы той прокси следующий:

  1. Доказывает возможность бана по URL в HTTPS трафике без установки корневых сертов на стороне клиента. (Чтобы не банить IP/домен из-за одной странички можно забанить только ее) Плохие URL можно брать с https://urlhaus.abuse.ch/

  2. Доказывает что логин/пароль/авторизация в URL легко просматривается/логируется даже в HTTPS трафике!

  3. С разрывом SSL сессии есть возможность подсмотреть ОДИН шифрованный пакет. Клиент в браузере увидит разрыв SSL, ему надо будет перезагрузить страницу опять. Для того чтобы подсмотреть содержание ВТОРОГО шифрованного пакета клиент в браузере несколько раз увидит разрыв SSL и несколько раз должен перезагрузить страницу. итд…

Вначале https дыряв не был. Дыру добавили в средине нулевых. Я заметил лет 10 назад. TLSv1.3 фиксит, но клиента/сервер можно пробовать MitM обманывать и говорить, что есть только TLSv1.2. Вряд-ли лишили полностью возможности подсматривать кто и куда ходит в HTTPS с TLSv1.3 надо смотреть где там дыры… Статьи в инете по этой теме уже есть и гуглятся, как бан по URL так и по просмотру первых пакетов HTTPS. Это к верующим в непорочность https и требующим доказательств.

Этой прокси применение не нашел. Хотя как блокировощик по URL работать будет. Всегда использовал классический MitM с установкой серта, для полной расшифровки и скана на вирусы.

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

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

Если бы они тупо по IP или портам банили, не было бы проблем с опенвпн и другими. Они уже давно используют DPI и банят по маскам и даже сложнее. Как-то вот парсят протоколы. И не на серверах провайдера, а на отдельных железках, что там на них стоит, из чего эти железки сделаны скрывается. Есть только разные предположения по косвенным признакам. Как минимум, явно есть уже несколько поколений железок.

Стратегия порчи интернета такая, что есть список фильтрации (по адресам, по IP и портам), который еще 12-13 лет назад начал внедряться и который осуществлялся (не знаю как сейчас) провайдерским оборудованием.

И есть параллельный провайдерскому черный ящик, который анализирует поток данных (как раз DPI) и высылает RST в одну или обе стороны, если что-то ему не нравится. Может еще что-то делает, кроме RST, не в курсе. Может фильтрация тоже означает RST, но без анализа пакетов, сразу по IP/адресу и тп.

Между прочим, в связи с этим интересно, а сложно ли сделать сервер/клиент так, чтобы игнорировать RST? Вместо RST посылать какой-нибудь хитрый пакет с криптохэшем и тп., чтобы нельзя было вот так просто рвать соединение.

praseodim ★★★★★
()
Ответ на: комментарий от Iron_Bug

да, вот только дропать надо все пакеты. а не только начало сессии. усрёшься дропать.

Что-то они на практике не усрались дропать. Тебе видимо везет, работаешь через провайдеров у которых устаревшее или даже никакое оборудование от комитета порчи не стоит, такие еще кое-где остались, там могут действительно только фильтровать по адресам.

praseodim ★★★★★
()
Ответ на: комментарий от praseodim

Между прочим, в связи с этим интересно, а сложно ли сделать сервер/клиент так, чтобы игнорировать RST? Вместо RST посылать какой-нибудь хитрый пакет с криптохэшем и тп., чтобы нельзя было вот так просто рвать соединение.

Звучит, как изобретение собственного транспортного протокола.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

Звучит, как изобретение собственного транспортного протокола.

Скорее небольшой патч на транспортный протокол. Я такие вещи не писал, поэтому не в курсе требуется ли для таких трюков модифицировать ядро или нет. Или даже недостаточно модифицировать ядро, если сетевые карты слишком умные.

praseodim ★★★★★
()
Ответ на: комментарий от anonymous
В туннель заверни.

Есть ВПН в Firefox. Кстати, по трезвом размышлении, zapret многие ресурсы не мог разбанить. Зависит от вида бана. Например, тупо забанен домен .ua. А там не только политика, но и полезные технические вещи имеются.

diogjibn
() автор топика
Ответ на: комментарий от praseodim

этим они занимаются в TLSv1.2, я думаю.

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

что я наблюдаю: они либо режут порты и айпишники, либо это обходится простейшей обфускацией, сменой портов и прочее. причём обфускация нужна только на старте сесссии, дальше не нужно никаких приседаний. и это только на старых протоколах, не TLSv1.3. это не DPI, это фигня на палочке. и ничего лучше они реализовать в принципе не смогут. потому что современные протоколы (TLSv1.3, HTTP/2, сейчас уже и HTTP/3 и SCTP, QUIC и MPTCP) рассчитаны на повышение безопасности сети. и они её обеспечивают. злобные дикари могут разве что перерубить кабель каменным топором. я не сомневаюсь, что они могут. но больше ничего у них не получится.

Iron_Bug ★★★★★
()
Ответ на: комментарий от praseodim

насчёт игнорирования RST - это можно сделать. на стороне клиента это делалось ещё раньше, когда они тупо слали RST только клиенту. но можно сделать и для сервера. понятно, что такое будет работать только на своём, пропатченном сервере.

вообще, есть много уже реализованных странных методов передачи данных. где-то видела даже передачу данных в виде DNS пакетов (его обычно не режут). в общем, сеть многослойна, туннели можно заворачивать один в другой, всё это обфусцировать множеством способов. всё не переловить никогда. это просто не может работать в современных сетях. поэтому эти луддиты и некрофилы так жаждут запретить современные протоколы и нормальные сети. но и это им не поможет. реально что они могут - это бан по айпишнику и порту. но с учётом BGP, динамической маршрутизации, проксирования разными провайдерами типа клаудфлари и иже с ними, даже это им не поможет.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от diogjibn
Сам zapret не обновлялся.

При удалении есть сообщение

removing crontab entry

Но по факту zapret не создает при инсталляции никаких задач в /var/spool/cron/crontabs/ и в /etc/cron*.

diogjibn
() автор топика
Ответ на: комментарий от Iron_Bug

либо это обходится простейшей обфускацией, сменой портов и прочее. причём обфускация нужна только на старте сесссии, дальше не нужно никаких приседаний.

Ерунда. Обфускация просто кричит «я неизвестный протокол, меня надо блочить от греха». Опять пример с Амнезией на Мегафоне (Ебург, если что), обфусцированной по самое не могу. Сессия прекрасно устанавливается, но через N минут пакеты просто перестают проходить. Сервак шлёт, а у клиента тишина. И повторный хендшейк не проходит. На что конкретно триггерится, не сильно разбирался, но если задать достаточно большое число junk packets в начале сессии, то не проходит и начальный хендшейк, то есть, похоже, тупо на количество пакетов. Таймаут несколько минут.

anonymous
()
Ответ на: комментарий от anonymous

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

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 4)
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от diogjibn

Какую информацию?

источник проблемы.

На самом деле проблема не в zapret, а в какой-то реакции на него в сети (у провайдера?).

однако именно в нем разница между проблемным ПК и остальными.

Сам zapret не обновлялся.

могло что-то поменяться на стороне веб-серверов.

MirandaUser2
()
Ответ на: комментарий от MirandaUser2
могло что-то поменяться на стороне веб-серверов.

По всему миру? Не открывался весь HTTPS, за исключением, по-видимому, тех сайтов, на которые zapret заточен (сервисы гугла, в первую очередь youtube). Открывались Дзен и Рутуб. Думаю, что они тоже используют похожие на гугловские технологии для отображения (там видео на первой странице). Каким-то образом сюда попала страница https://support.mozilla.org

Как-то так, по моему.

Вот у этих-то точно ничего не поменялось: https://spectr-rs.ru/ Это ИБП, монтаж сетей и т.п. А их сайт тоже не открывался.

diogjibn
() автор топика
Ответ на: комментарий от peregrine

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

Iron_Bug ★★★★★
()