Author: Wladyslaw

  • Кто украл безопасный интернет?

    После продолжительного расследования уничтожения первого телеграм-канала «Может, вам повезёт?», было выявлено, что заказчиком произошедшего с крайне высокой вероятностью является«Лига Безопасного Интернета», она же «продленка» для Екатерины Мизулиной.

    25 апреля 2025 года интернет-ресурс «Может, вам повезёт?» выпустил подробный материал про «Лигу», где подробно расписывалось, почему «вотчина» Мизулиной младшей является не более чем кружком активистов на государственном обеспечении. Объём этого обеспечения как вызывал вопросы, так и продолжает их вызывать — если раньше бюджетные 200 миллионов можно было обосновать дороговизной чистки ковров, на которые периодически вызывались «блогеры», то сейчас это уже не представляется возможным. Оригинал можно прочитать здесь.

    Эта публикация получила чрезвычайно широкое распространение, вплоть до появления в каналах с более одного миллиона подписчиков. К слову, тогда у Telegram-канала «Может, вам повезёт?» было их не более 180. Как следствие, этот материал был использован в обширном числе «наездов» на «Лигу» — а так как крупные каналы тогда было уничтожать слишком дорого, можно уверенно предположить, что PR-отдел Мизулиной не придумал ничего лучше, как «зарубить» скромный «Может, вам повезёт?».

    Ровно через месяц после публикации, 26 мая 2025 года, после очередной череды упоминаний в крупных каналах первый «Может, вам повезёт?» попросту исчез, а аккаунт владельца — заморожен. В числе свидетелей произошедшего, например, был экономист Никита Кричевский — его канал также уничтожили схожим образом.

    Ситуация с «заказами» каналов кратно ухудшилась со времен описываемых событий, и сейчас носит практически «обыденный» характер. По этой причине, в том числе, ещё в октябре прошлого года был создан сайт kremlinkernel.com — до него никакое «жульё» не дотянется, даже при жгучем желании.

  • Где лучше хранить ключи шифрования?

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

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

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

    На данный момент такие алгоритмы лишь предоставляют дополнительное «раздражение» для атакующего — ведь три часа вычисления ключа у пользователя не равняются трём часам на сервером кластере. В лучшем случае, речь идёт как минимум о десятикратном ускорении. Кроме этого, подобные вычисления крайне уязвимы к получению ключа через наблюдение за электромагнитными утечками (TEMPEST). Без экранирования рабочего пространства, «цена» такой атаки — не больше пятидесяти долларов.

    Для решения всех вышеперечисленных проблем были придуманы криптографические чипы, некоторые из которых уже вам знакомы из серии публикаций о цифровой криминалистике — Titan M2 и Apple SEP. Кроме защиты от различных физических атак, вроде Fault Injection и уже упомянутого TEMPEST, для получения ключа атакующему надо проводить каждую попытку через сам чип — то есть, каждая попытка будет занимать ровно предусмотренное время, без «жульничества». Также, это позволяет прогрессивно замедлять попытки, т. е. с какого-то момента атакующему необходимо будет ждать 12 часов и более для каждой последующей пробы.

    Проблема данных чипов в том, что их можно заставить выдать ключи — о чем уже был материал. Даже при этом минусе, в большинстве своём они безопаснее своих программных «аналогов».

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

    Самые примечательные — мобильные устройства Google Pixel (при условии использования GrapheneOS) и, с определённым количеством оговорок, техника Apple последних поколений.

  • Дополнение к публикации «Безопасно ли устанавливать нацмессенджер Max?»

    Оглядываясь на дискуссию о «зловредности» мессенджера MAX, стоит отметить одну очень грубую техническую ошибку, которую допускали практически все ЛОМы, говоря о «страшных вирусах» — MAX может собирать все. На самом деле, это описание одной «крайности» в устройствах Android, которую, по «незнанке», или по «заказу» обобщили на «все и вся».

    Речь идёт о случае, когда мессенджер MAX был предустановлен как системное приложение. Это может сделать как и сам производитель устройства, так и «ушлый» ритейлер, который из-за «линии партии» производит умышленную атаку на цепочку поставки.
    Вне зависимости от «варианта», эффект только один — это полностью ломает модель безопасности ОС.

    Если приложение установлено как пользовательское, то на него действуют строгие ограничения, для «прорыва» которых требуются крайне дорогостоящие уязвимости. Системные приложения же такими ограничениями не обременены, вследствие чего могут делать все, что «вздумается». В этом контексте, действительно, MAX, как и прочее «российское» ПО может за вами «следить».

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

  • Конкретные провалы в безопасности мессенджера Telegram

    Интернет-ресурс «Может, вам повезёт?» уже не раз говорил о провалах в модели безопасности мессенджера Telegram в формате «между делом». В частности, этим отличается серия публикаций о происходившим между мессенджером Дурова и нацмессенжером MAX медийном «апокалипсисе», который к началу 2026-го года сильно сбавил свои «обороты». Тем не менее, необходимо привести все сказанное к единому «знаменателю».

    Для начала стоит определить характеристики понятия «безопасный мессенджер», с которым мы в последствии будем сравнивать Telegram. Безопасный мессенджер имеет сильное сквозное шифрование (E2EE), использующее современные алгоритмы (см. Signal Protocol), защиту метаданных на приемлемом уровне, открытый код приложений, и, что самое главное, минимальный сбор данных (см. мессенджер Signal).

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

    Как и в случае со всеми мессенджерами, соблюдающими требования «Пакета Яровой», эти сообщения не только могут быть проданы техническим персоналом Дурова, но и получены путём прямого взлома сервера через уязвимость нулевого дня, от которой команда Telegram даже при сильном желании защититься не может. Существуют «секретные чаты», но в расчёт их брать нельзя, ведь доступны они только на мобильных платформах, а также уязвимы к перехвату ключей самим сервером, ввиду «хлипкого» шифрования.

    Говоря о метаданных, Telegram отправляет ID пользователя на сервер незашифрованным — не только без шифрования самого значения, но и без простого HTTPS — это означает, что любое устройство, которое наблюдает за трафиком пользователя Telegram (будь то злоумышленник в публичной сети или государственный «фильтр») может точно определить пользователя, а также, в некоторой степени, его устройство.

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

    Кроме этого, Telegram хранит всю историю групповых звонков в своеобразном блокчейне — мол, для того, чтобы было нельзя тайно подключиться. Оставим эту вселенскую глупость на «совести» PR-отдела Дурова. Сам факт излишнего сбора метаданных, тем не менее, есть.

    Доморощенный протокол MTProto, который используется в том числе и в «секретных чатах», не подразумевает хоть какой-то приемлемой защиты метаданных — то есть, сервер, через который проходят все секретные чаты, всегда знает, кто, кому, когда, сколько, и откуда пишет. Это критическая уязвимость для любого безопасного мессенджера, которая так и не была исправлена за более чем 10 лет существования Telegram и две версии MTProto.

    Исходя из перечисленных фактов, мессенджер Telegram «пролетает» со «свистом» по всем пунктам и не может считаться безопасным.

    О других особенностях существования мессенджера Дурова, выходящих за рамки «техники», можно прочитать как и в «Дополнении к хронологии подготовки к блокировке Telegram», так и в дайджесте «О том, что было, будет, или есть» за 2025-й год.

  • Как можно обойти шифрование туннеля VPN?

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

    Начнем с основ. Все виды коммуникаций в интернете, будь то зашифрованные, или, что редко встречается, открытые, имеют метаданные — размер, IP-адрес отправителя, IP-адрес и сетевой «порт» получателя, время. Эти данные видны всегда, и, что самое главное, всем, даже если само содержание было последовательно зашифрованно тремя разными шифрами. Даже без «углубления» это позволяет получить приблизительное представление о содержимом, а также об участниках такой «транзакции».

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

    Происходит это через устройства в привилегированной сетевой позиции (простейший пример из вступления — государственные «фильтры»). С помощью алгоритмов машинного обучения сравниваются интервалы отправки пакетов интернет-трафика, и их размер, частота, порядок, и прочие характеристики с уже известными значениями для популярных сервисов/сайтов.

    Процентаж точности такого анализа равняется приблизительно 70%, что позволяет получить более чем приемлемое представление о посещаемых через криптографически «непробиваемый» туннель ресурсах.

    Противодействовать подобному анализу можно путём изменения тех самых характеристик, на которые опирается машинное обучение — искусственно увеличивать размер пакетов, проводить манипуляции с интервалами их отправки, и тому подобное. Тем не менее, подобные «меры противодействия» отсутствуют в подавляющем большинстве решений, — с единственным исключением для DAITA, которое разрабатывает и активно применяет коммерческий VPN-провайдер Mullvad.

  • Дайджест «О том, что было, будет, или есть» за 2025-й год

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

    О том, что было:

    Первый квартал 2025-го года в первую очередь отличился продолжительными «проверками зависимостей», которые проводил Роскомнадзор. Номинально, они должны были выявить места критических «зависимостей» российской инфраструктуры от иностранных провайдеров, но тогда только появившийся интернет-ресурс «Может, вам повезёт?», наблюдавший за сбоями российского сегмента интернета, выдвинул прямо противоположную гипотезу: проходящие «проверки» — на самом деле скрытые «учения» по блокировке двух «краеугольных камней» интернета — Amazon Web Services и Cloudflare.

    Научившись их блокировать, можно с легкостью создавать большие «неприятности» многим крупным сервисам, в числе которых, например, мессенджер Telegram. «Может, вам повезёт?» имеет основания полагать, что полученный на этих «учениях» опыт использовался как и в блокировке звонков в WhatsApp и Telegram, так и в ныне обозримой полной блокировке WhatsApp.

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

    Звонки в Telegram и WhatsApp, до последнего времени, прямо нарушали «Пакет Яровой» — в частности, из-за использования сквозного шифрования, даже со множеством «оговорок». Через две недели после той публикации, Telegram-канал «Может, вам повезёт?» был удален администрацией мессенджера без объяснения причин, а аккаунт автора ресурса — заблокирован.

    Главное событие третьего квартала — принятие решения о блокировке мессенджера Telegram. Несмотря на то, что блокировка отсрочена (об этом в следующем блоке), данное решение все еще не утратило свою силу. Примерно в этом же временном промежутке Государственная Дума в режиме «турбо» приняла уже готовый «пакет с пакетами» — путем прикрепления его к совсем другой инициативе. Несмотря на большое количество грубых и откровенно «неприкрытых» процессуальных нарушений, вскоре штрафы за просмотр экстремистских материалов были «высечены» в законе. Второй Telegram-канал «Может, вам повезёт?» также был уничтожен в этом временном промежутке.

    Через неделю после принятия обозначенного «пакета с пакетами» значительно усилилась кампания по «пропихиванию» мессенджера Max в российский общественный дискурс —беспрецедентная, в первую очередь, по вовлечению «балаболов» из административного ресурса. Важно заметить, что данная кампания была на пике своей «мощности» аккурат под блокировку звонков в мессенджерах Telegram и WhatsApp. Уже третий по счету «Может, вам повезёт?» тогда предупреждал как и о кампании по принудительной популяризации мессенджера Max, так и о блокировке звонков — за несколько дней до первых «звоночков» о ее скором «наступлении».

    Отличительным событием четвертого квартала является значительное расширение полномочий Роскомнадзора, которое вступает в силу первого марта 2026-го года. Интернет-ресурс «Может, вам повезёт?» не столь давно подробно расписывал, какие именно виды «беспредела» на сетевом уровне могут последовать, самым отличительным из которых является фактическое узаконивание атаки «человек посередине» со стороны государства.

    Тем не менее, данная значительная «эскалация» государственного контроля над российским сегментом интернета осталась практически незамеченной. Прочие процессы, вроде «подготовительных работ» к блокировке Telegram и WhatsApp «меркнут» на этом фоне, хоть и являются более значимыми для жизни простого «обывателя».

    О том, что есть:

    Блокировка Telegram была отсрочена — вместо мессенджера Дурова, который должен был быть заблокирован до конца года, под «горячую руку» попал аналогичный «раздражитель», мессенджер WhatsApp. У интернет-ресурса «Может, вам повезёт?» есть существенные основания полагать, что произошедшее «чудо» имеет исключительно рукотворный характер, и было сотворено «руками» Павла Дурова. Уже достоверно известно, что Павел давно «обивает пороги» в правительстве РФ, и имеет существенное количество «интересантов» в высших эшелонах власти.

    Множество факторов указывают на то, что через них Павел мог инициировать своеобразное перемирие с одной из «башен», которая выступает инициатором блокировки. Об этом, в частности, прямо свидетельствуют многократные «исчезновения» Telegram-канала «ВЧК-ОГПУ», который уже давно сильно «претит» этой «башне».

    О том, что будет:

    В 2026-м году можно ожидать значительное продвижение «суверенизации» российских телекоммуникационных сетей, вплоть до появления локальных «чебурнетов», т. е. регионального ограничения доступа к иностранным сервисам. Кроме этого, продолжится усиление контроля и надзора за пользователями сотовых сетей, начавшееся в этом году. Появятся еще два «национальных» мессенджера, которые будут представлены как лучшая альтернатива мессенджеру Max.

    Все дайджесты «О том, что было, будет, или есть», выпущенные в 2025-м году можно прочитать здесь.

  • Помогают ли антивирусные программы?

    Интернет-ресурс «Может, вам повезет?» уже разбирал одну из популярных «панацей» в аппаратной безопасности традиционных компьютеров   Secure Boot. Переходя к программной безопасности, нельзя оставить без внимания очередной «ответ» на семь «бед», но уже на уровне ПО антивирусы.

    Начнем с основ. Антивирусы, как класс ПО, возникли из-за популярности Microsoft Windows, и соответственно, проприетарного (закрытого) ядра системы NT. Как и в случае с, например, таким же проприетарным ядром Apple XNU, это создает «тепличные» условия для процветания множества критических уязвимостей, которые могут оставаться незамеченными десятилетиями. Стоит отметить, что не одно ядро NT является причиной существования «орды» вирусов под Windows  значительный вклад также был внесен «дремучей» моделью безопасности ОС, которую Microsoft начал править только в Windows 10.

    Из-за этого, например, под GNU/Linux существует кратно меньше как и антивирусов, так и вирусов  код системы полностью открыт, ввиду чего уязвимости закрываются быстрее. Кроме этого, сама архитектурная модель Unix (к коей принадлежит Linux) делает заражение значительно сложнее, особенно при «образованном» пользователе.

    Говоря об антивирусах под Windows, в современном мире они стали наносить больше вреда, чем пользы  действительно серьёзные угрозы (например, шпионское ПО) они поймать не в состоянии (у подобных программ нет четкого «отпечатка», на который в большинстве своем опираются антивирусные программы, а эвристический анализ заметить их не способен), но при этом работают с максимальными системными правами практически все антивирусы используют модули ядра, т. е. работают в «сердце» системы.

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

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

    В США, например, существует акт PATRIOT, который позволяет принуждать разработчиков ПО создавать «черные ходы» через «письма национальной безопасности». В России существует схожий механизм реестр ОРИ, хоть он и уступает по «популярности» неформальному давлению, которое применяется более охотно.

    Отвечая на поставленный в начале вопрос нет, не помогают. Количество вреда от них будет только нарастать создатели зловредного ПО давно «в курсе» слабых мест подобной «защиты».

  • Руководство по созданию собственного VPN-сервера

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

    Интернет-ресурс «Может, вам повезет?», тем не менее, выступает против крайне популярного подхода по популяризации VPN, который заключается в публикации списков и прочих рекомендаций конкретных VPN-провайдеров. Не только потому, что современное российское законодательство трактует такие «советы» как прямую рекламу VPN, но и потому, что подобные списки работают в обе «стороны» российские надзорные ведомства не менее активно берут эти рекомендации в «работу».

    Гораздо более совершенным подходом является продвижение инструкций по созданию собственных VPN-серверов подобные решения не только работают несравнимо дольше, но и практически полностью избавляют автора от нужды постоянного обновления «списков». Как и в случае с созданием собственного мессенджера, за последний десяток лет «расплодилось» множество решений, которые упрощают настройку подобного сервера до «смехотворной» сложности.

    I. Выбор сервера

    Данное руководство не имеет привязки к географическому местоположению сервера. То есть, вы можете использовать его, в том числе, для подключения к интернету через вашу домашнюю сеть. Мы же рассмотрим вариант, когда сервер располагается в далеком «заморском» государстве.

    Как и прежде, интернет-ресурс «Может, вам повезет?» крайне не рекомендует пользоваться российскими хостинг-провайдерами. В том числе и потому, что весь их трафик обязан проходить через российские «фильтры» ТСПУ.

    Из зарубежных «Может, вам повезет?» может порекомендовать хостинг-провайдера 1984.hosting.

    Касательно параметров:

    • ОС: Debian Bookworm (12) или Trixie (13)
    • RAM: 1 GB
    • CPU: 1 vCPU

    Принципиальной разницы между Bookworm и Trixie нет, но предпочительно выбирать именно Trixie ввиду того, что это текущая стабильная версия дистрибутива Debian.

    II. Конфигурация

    Как решение VPN мы будем использовать Outline. Стоит заметить, что это не VPN в «классическом» смысле, а «закос» под него на базе Shadowsocks. Он проще в конфигурации чем «традиционные» VPN вроде OpenVPN и WireGuard, но имеет кратно превосходящую их устойчивость к блокировкам.

    Подключитесь к своему серверу по протоколу Secure Shell:

    ssh root@{IP cервера}

    При первом подключении ваш клиент Secure Shell покажет криптографический отпечаток сервера. Настоятельно рекомендуется провести «сверку показаний» с отпечатком ключа сервера, который показывает ваш хостинг-провайдер. После успешного подключения обновите cистемные пакеты & кэш пакетного менеджера apt:

    apt update && apt upgrade

    Для установки сервера Outline нам потребуется Docker. Получите ключ GPG его репозитория:

    curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

    Задайте правильные права доступа:

    chmod a+r /etc/apt/keyrings/docker.asc

    Добавьте репозиторий Docker в sources.list пакетного менеджера apt:

    tee /etc/apt/sources.list.d/docker.sources <<EOF
    Types: deb
    URIs: https://download.docker.com/linux/debian
    Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
    Components: stable
    Signed-By: /etc/apt/keyrings/docker.asc
    EOF

    Установите сам Docker и его зависимости:

    apt update && apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    Для дальнейшей конфигурации сервера вам потребуется программа Outline Manager. Кроме первичной настройки она также используется для создания и управления пользовательскими ключами. На случай, если вы не можете «достучаться» до сайта Outline, вы можете скачать Outline Manager непосредственно с зеркала интернет-ресурса «Может, вам повезет?»:

    При первом запуске вам предложат выбрать хостинг-провайдера. Выбирайте четвертый вариант, он же «свой».

    Далее вам покажут команду, которую необходимо выполнить на вашем сервере для установки контейнера Docker с сервером Outline в систему. После ее завершения вам покажут ярко-зеленую строчку, которую нужно вставить в Outline Manager:

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

    III. Клиенты

    Официальные приложения Outline доступны на следующих платформах:

    Можно пользоваться любым другим клиентом с поддержкой Shadowsocks.

  • Руководство по созданию собственного мессенджера

    В связи с медленно наступающими изменениями государственной политики по отношению к, в частности, мессенджеру Telegram, вопрос о «построении» своей платформы для коммуникации может скоро встать «ребром» для значительной части российского общества.

    Стоит отметить, что сейчас сделать свой мессенджер относительно просто; За последний десяток лет появилось множество протоколов для децентрализованной коммуникации, в числе которых — Matrix, SMP, и прочие. Данное руководство рассматривает именно настройку сервера Matrix, конкретнее Matrix-Synapse.

    Что потребуется?

    • VPS с 1GB RAM и 1 CPU (если планируете иметь больше 10-ти активных пользователей — 2 GB RAM и 2 CPU);
    • Доменное имя;
    • Базовое знание терминала Unix.

    Важно: крайне нежелательно пользоваться услугами российских как и хостинг-провайдеров, так и регистраторов. Из зарубежных интернет-ресурс «Может, вам повезет» может уверенно порекомендовать хостинг-провайдера 1984, который, в том числе предоставляет услуги регистрации доменов.

    I. Подготовительные работы

    В качестве ОС для сервера мы будем использовать Debian 13 (Trixie), но можно и Debian 12 (Bookworm). Существенной разницы между ними нет.

    Откройте панель управления вашего регистрара и зайдите в параметры зон DNS вашего домена. Тут вам необходимо создать запись типа A, которая указывает на IP вашего сервера. «Выглядеть» она должна следующим образом:

    • Хост: @
    • IP-адрес: IP вашего сервера
    • TTL (если доступно): 86400

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

    II. Настройка сервера

    Подключитесь к своему серверу по протоколу Secure Shell:

    ssh root@{IP сервера}

    Можно заменить непосредственный IP сервера на ваш домен, если вы «подождали» от его настройки достаточное количество времени.

    Далее вам покажут отпечаток ключа вашего сервера и попросят ввести пароль. Желательно провести «сверку показаний» с отпечатком, который виден у вашего хостинг-провайдера. Его можно вставить как и напрямую в ssh, так и сверить вручную.

    После успешного подключения обновите кэш пакетного менеджера APT и системные пакеты:

    apt update && apt upgrade

    Скорее всего, вам будет необходимо установить несколько гигабайт обновлений, в числе которых будет, например, новый образ ядра Linux. Чтобы загрузить «обновки» в память, перезагрузите систему:

    reboot

    Подождите несколько минут и подключитесь по Secure Shell вновь. Далее, создайте отдельного пользователя для сервера Synapse:

    useradd -m synapse

    Задайте ему пароль (желательно 64-128 символа)

    passwd synapse

    Установите необходимые для сервера пакеты:

    apt install python3-full nginx certbot postgresql coturn pwgen

    Создайте случайный пароль на 64 символа:

    pwgen -s 64 1 

    В дальнейшем этот пароль будет использоваться для доступа к базе данных сервера Synapse. Сохраните его в безопасном месте (например, в базе данных менеджера паролей KeepassXC)

    Откройте пользователя Postgres:

    su - postgres

    Создайте базу данных для Synapse:

    createuser --pwprompt synapse_user # задайте созданный ранее пароль
    createdb --encoding=UTF8 --locale=C --template=template0 --owner=synapse_user synapse
    logout

    Закройте пользователя Postgres:

    logout

    На этом заканчивается базовая настройка сервера. Перейдем к более «детальной» части.

    III. Конфигурация

    Откройте дополнительное окно Secure Shell и подключитесь к вашему пользователю Synapse:

    ssh synapse@{ваш сервер}

    Создайте виртуальную среду:

    python3 -m venv venv

    Переключитесь в свежесозданную среду:

    source venv/bin/activate

    Обновите пакеты pip и setuptools:

    pip install --upgrade pip
    pip install --upgrade setuptools

    Установите сервер Matrix-Synapse:

    pip install matrix-synapse psycopg2-binary

    Создайте конфигурационный файл сервера Synapse:

    python -m synapse.app.homeserver \
        --server-name kremlinkernel.com \
        --config-path homeserver.yaml \
        --generate-config \
        --report-stats=no


    В параметре –server-name замените kremlinkernel.com на ваше доменное имя.

    Откройте конфигурационный файл homeserver.yaml:

    nano homeserver.yaml

    Вам необходимо полностью заменить параметер database на следующий:

    database:
      name: psycopg2
      args:
        user: synapse_user
        password: # пароль от базы данных synapse
        dbname: synapse
        host: 127.0.0.1
        cp_min: 5
        cp_max: 10

    Вернитесь обратно в пользователя root. Теперь нам необходимо настроить сервер Coturn, который необходим для стабильной интернет-телефонии (VoIP). Создайте для него секретный ключ:

    pwgen -s 64 1 # его также необходимо сохранить

    Откройте конфигурационный файл сервера:

    nano /etc/turnserver.conf

    Задайте в нем следующие параметры:

    use-auth-secret
    static-auth-secret= # ваш секретный ключ
    realm=kremlinkernel.com # замените kremlinkernel.com на ваш домен
    
    no-tcp-relay
    
    denied-peer-ip=10.0.0.0-10.255.255.255
    denied-peer-ip=192.168.0.0-192.168.255.255
    denied-peer-ip=172.16.0.0-172.31.255.255
    
    no-multicast-peers
    denied-peer-ip=0.0.0.0-0.255.255.255
    denied-peer-ip=100.64.0.0-100.127.255.255
    denied-peer-ip=127.0.0.0-127.255.255.255
    denied-peer-ip=169.254.0.0-169.254.255.255
    denied-peer-ip=192.0.0.0-192.0.0.255
    denied-peer-ip=192.0.2.0-192.0.2.255
    denied-peer-ip=192.88.99.0-192.88.99.255
    denied-peer-ip=198.18.0.0-198.19.255.255
    denied-peer-ip=198.51.100.0-198.51.100.255
    denied-peer-ip=203.0.113.0-203.0.113.255
    denied-peer-ip=240.0.0.0-255.255.255.255
    denied-peer-ip=::1
    denied-peer-ip=64:ff9b::-64:ff9b::ffff:ffff
    denied-peer-ip=::ffff:0.0.0.0-::ffff:255.255.255.255
    denied-peer-ip=100::-100::ffff:ffff:ffff:ffff
    denied-peer-ip=2001::-2001:1ff:ffff:ffff:ffff:ffff:ffff:ffff
    denied-peer-ip=2002::-2002:ffff:ffff:ffff:ffff:ffff:ffff:ffff
    denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
    denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
    
    allowed-peer-ip=10.0.0.1
    total-quota=1200

    Сохраните этот файл и перезапустите сервер coturn:

    systemctl restart coturn

    Переключитесь на пользователя Synapse. Нам необходимо добавить конфигурацию сервера TURN в homeserver.yaml:

    nano homeserver.yaml

    Добавьте данные параметры в конец файла:

    turn_uris: [ "turn:kremlinkernel.com?transport=udp", "turn:kremlinkernel.com?transport=tcp" ]
    turn_shared_secret: # ваш секретный ключ
    turn_user_lifetime: 86400000
    turn_allow_guests: true

    Замените kremlinkernel.com на ваш домен.

    Сохраните этот файл и закройте пользователя Synapse. Все необходимые на этом этапе конфигурационные шаги в нем выполнены.

    Переключитесь на пользователя root. Для последующего использования шифрования TLS web-сервером nginx необходимо получить сертификаты на ваш домен. Остановите его:

    systemctl stop nginx

    Запросите сертификаты для вашего домена:

    certbot certonly

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

    Теперь нам необходимо настроить сам web-сервер Nginx. Создайте конфигурационный файл для вашего домена:

    cd /etc/nginx/conf.d
    nano {доменное имя вашего сайта}.conf

    Скопируйте данную конфигурацию в этот файл:

    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        # For the federation port
        listen 8448 ssl default_server;
        listen [::]:8448 ssl default_server;
        server_name kremlinkernel.com;
        ssl_certificate /etc/letsencrypt/live/kremlinkernel.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/kremlinkernel.com/privkey.pem;
        ssl_protocols TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        location ~ ^(/_matrix|/_synapse/client) {
            proxy_pass http://localhost:8008;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header Host $host:$server_port;
            client_max_body_size 50M;
        proxy_http_version 1.1;
        }
    }

    Замените kremlinkernel.com на своё доменное имя в параметре server_name и в путях до сертификатов Let’s encrypt.

    Перезапустите Nginx:

    systemctl restart nginx

    IV. Управление

    Запустить сервер Synapse из одноименного пользователя можно следующим образом:

    source venv/bin/activate
    synctl start

    Зарегистрировать аккаунт можно так:

    source venv/bin/activate
    register_new_matrix_user -c homeserver.yaml

    Далее вас интерактивно проведут по созданию нового аккаунта.

    Стоит отметить, что данное руководство не подразумевает возможности регистрировать аккаунты без непосредственного участия администратора. Открытая регистрация — верный способ превратить ваш сервер в «помойку».

    V. Приложения

    Для iOS/Android существует клиент Element, которым я и рекомендую пользоваться. Его страницы в магазинах приложений:

    Вместо регистрации на matrix.org используйте кнопку «sign in manually», потом «change account provider».

    Для настольных компьютеров существует как и клиент Element, так и Nheko.

  • Меняем адрес IMEI на устройствах Google Pixel

    Появление этой публикации было частично вызвано намерением Минцифры вводить обязательную государственную регистрацию уникальных идентификаторов мобильных устройств в государственной же «базе». Интернет-ресурс «Может, вам повезет» не видит смысла в обсуждении этой инициативы как таковой, но считает важным разобрать возможность «обойти» подобные базы, и не только их российский «вариант».

    Для владельцев устройств Google Pixel с процессорами Tensor (6-е поколение по 10-е) данные базы не представляют особой «угрозы», ведь адрес IMEI, как и прочие уникальные идентификаторы у них исключительно просто меняются. Об одном из таких методов «подмены» адресов сейчас и пойдет речь.

    Начнем с основ. Телефоны Pixel хранят всю информацию о «себе» в специальном разделе Device Info (далее – devinfo), который является перезаписываемым и может быть изменен с помощью простого HEX-редактора или специальных программ. В этом разделе можно поменять регион устройства, адреса MAC протоколов WiFi и Bluetooth, а также IMEI. Именно последний нас и интересует.

    Важная деталь — изменение адреса IMEI подразумевает дополнительные «телодвижения», в то время как остальные «номера» этого не требуют. Причина в сотовом радио Samsung Shannon, которое используют Google Pixel. Оно хранит крипографический отпечаток номера IMEI (CPSHA) в собственном разделе EFS, и при несовпадении «показаний» выдает шестнадцать нулей вместо записанного в devinfo числа. Этот отпечаток можно поменять только в «заводском» режиме, он же factory mode.

    Для модификации раздела devinfo можно использовать графическую версию программы lexipwn – разумеется, для ее использования необходимы права суперпользователя, получение которых мы рассматривать не будем. После того, как вы изменили IMEI, она предложит вам перезагрузиться в тот самый factory mode, из которого можно будет отправлять AT-команды на модем Shannon. Именно через них можно обновить тот самый отпечаток.

    После выполнения всех «телодвижений» телефон можно вернуть в обычный режим. Стоит отметить, что раздел devinfo является постоянным — т. е. вы можете избавиться от прав суперпользователя, «прошить» другую ОС, и все равно внесенные вами «правки» будут действовать.