
20 октября 2023 года администратор jabber.ru (xmpp.ru) сообщил о выявлении атаки по расшифровке трафика пользователей (MITM), проводимой в течение нескольких месяцев в сетях немецких хостинг-провайдеров Hetzner и Linode. На этих IT-ресурсах размещён сервер проекта и вспомогательные VPS-окружения. Атака была организована через перенаправление трафика на транзитный узел, подменяющий TLS-сертификат для XMPP-соединений, шифруемых с использованием расширения STARTTLS.
Неизвестные участники этой атаки выпустили отдельный SSL сертификат и проксировали коннекты к TCP:5222.
Согласно данным OpenNET, атака была обнаружена из-за ошибки её организаторов, которые не успели продлить TLS-сертификат, используемый для подмены.
16 октября администратор jabber.ru при попытке подключения к сервису получил сообщение об ошибке из-за истечения срока действия сертификата, но размещённый на сервере сертификат не был просрочен. В итоге выяснилось, что получаемый клиентом сертификат отличается от сертификата, отправляемого сервером.

Первый поддельный TLS-сертификат был получен 18 апреля 2023 года через сервис Let’s Encrypt, в котором атакующий, имея возможность перехватить трафик, смог подтвердить доступ к сайтам jabber.ru и xmpp.ru.

Вначале у администрации jabber.ru возникло предположение о компрометации сервера проекта и выполнении подмены на его стороне. Но проведённый аудит не выявил никаких следов взлома. При этом в логе на сервере было замечено кратковременное выключение и включение сетевого интерфейса (NIC Link is Down/NIC Link is Up), которое было произведено 18 июля в 12:58 и могло свидетельствовать о манипуляциях с подключением сервера к коммутатору. Примечательно, что два поддельных TLS-сертификата были сгенерированы за несколько минут до этого — 18 июля в 12:49 и 12:38.
Кроме того, подмена производилась не только в сети провайдера Hetzner, в котором размещён основной сервер, но и в сети провайдера Linode, в котором размещались VPS-окружения со вспомогательными прокси, перенаправляющими трафик с других адресов. Косвенным путём было выяснено, что трафик на 5222 сетевой порт (XMPP STARTTLS) в сетях обоих провайдеров перенаправляется через дополнительный хост, что дало основание полагать, что атака произведена лицом, имеющим доступ к инфраструктуре провайдеров.
Теоретически подмена могла производиться с 18 апреля (дата создания первого поддельного сертификата для jabber.ru), но подтверждённые случаи подмены сертификата зафиксированы только с 21 июля по 19 октября, всё это время шифрованный обмен данными с jabber.ru и xmpp.ru можно считать скомпрометированным.
Подмена сертификата прекратилась после начала разбирательства, проведения тестов и направления 18 октября запроса в службу поддержки провайдеров Hetzner и Linode. При этом дополнительный переход при маршрутизации пакетов, отправляемых на 5222 порт одного из серверов в Linode, наблюдается и ныне, но сертификат теперь не подменяется.
Командой проекта предполагается, что атака могла быть совершена с ведома провайдеров по требованию правоохранительных органов, в результате взлома инфраструктур обоих провайдеров или сотрудником, имевшим доступ к обоим провайдерам. Имея возможность перехвата и модификации XMPP-трафика, атакующий мог получить доступ ко всем связанным с учётными записями данным, таким как хранимая на сервере история обмена сообщениями, а также мог отправлять сообщения от чужого имени и вносить изменения в чужие сообщения. Сообщения, отправленные с использованием сквозного шифрования (OMEMO, OTR или PGP), можно считать не скомпрометированными, если ключи шифрования подтверждены пользователями на обеих сторонах соединения.
Пользователям jabber.ru рекомендуется сменить пароли доступа и проверить ключи OMEMO и PGP в своих PEP-хранилищах на предмет возможной подмены.
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку

Процесс заказа и установки виртуального сервера на хостинге автоматизирован: ОС ставится в два клика, на выбор пользователя. Для автоматической установки доступны Debian, Ubuntu и CentOS в разных версиях. Все они способны нормально работать с 512 МБ памяти без графического интерфейса. Для Windows такого варианта нет, но это не очень-то и нужно, потому что для Windows крайне мало уникального серверного софта.

Для примера выберем Debian 12. Установка занимает несколько минут.
Кстати, точно так же можно накатить собственный готовый образ, который вы скопировали с сервера другого хостера при миграции (сейчас это актуальная тема).
Подключаемся к серверу через любой SSH-клиент вроде PuTTY (под Windows) или Remmina (Linux), про который мы уже рассказывали. Или вообще через консоль SSH на WebAssembly внутри браузера, как Tailscale SSH Conscole, внутри которой устанавливается SSH-тоннель к любому устройству, где установлен Tailscale. Хотя в данном случае это пока не получится (но потом можно).


Можно проверить количество RAM (мы пересоздали сервер, чтобы проверить стабильность количества выделяемой памяти):

Как видим, на этом VPS в юзерспейсе доступно 440 МБ, из них свободно 245 МБ. Занятую память потребляет в основном systemd и vpsguard (это служба взаимодействия с личным кабинетом на сайте, с её помощью реализован функционал генерации нового пароля и изменения конфигурации сервера).

Как известно, утилита free и прочие показывают не физически выделенную память, а только доступную пользователю. Остальное занято ядром системы.
Проверим скорость диска:

Теперь инсталлируем на сервер любое требуемое ПО, которого нет в стандартном дистрибутиве Debian 12.
Можно сразу поставить Docker на всякий случай. Дело в том, что Docker нормально работает при таком количестве памяти под Linux, в то время как под Windows требует минимум 4 ГБ.
Сейчас многий софт распространяется только в докер-контейнерах, а остальные предлагают контейнеры просто как удобную опцию установки и запуска программ. Правда, это в любом случае увеличит потребление памяти, которой и так очень мало. Так что неизвестно, хватит ли её на какой-нибудь контейнер.
# Add Docker's official GPG key:
apt-get update
apt-get install ca-certificates curl gnupg
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get updateapt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginИли просто запустить скрипт для удобства.
Из репозитория новые версии будут обновляться автоматически. Как вариант, можно установить пакет вручную и самостоятельно следить за обновлениями.
Теперь на сервере можно запускать контейнеры (если им хватит памяти).
▍ Какой софт устанавливать на сервер
Посмотрим, для чего подходят такие мини-серверы.
- . Можно хостить даже не один, а несколько статических сайтов. Кстати, 512 МБ памяти хватит для автоматической установки из маркетплейса шаблонов Joomla, Drupal и даже VMBitrix 7.4. Правда, это шаблоны с CentOS 7 и 8, а не с Debian.
Конечно, для размещения самых простых статических сайтов подходит и бесплатный хостинг GitHub Pages, но на своём сервере гораздо больше возможностей. Здесь запускаются скрипты, приложения и т. д. Для разработчиков это идеальный вариант для демонстрации работы заказчику.
Обычный nginx ставится без проблем.

- или . Чтобы поднять VPN в РФ для тех, кто находится за границей, но хочет пользоваться российскими сайтами. Например, «Госуслуги», сайт налоговой, «Кинопоиск» и другие, которые запретили доступ с иностранных IP-адресов. Это вообще популярная услуга, только там она стоит восемь евро (в варианте личного сервера), а здесь 130 рублей в месяц, что гораздо дешевле.
На Хабре писали о росте числа пользователей VPN в России. Видимо, это тоже актуальная услуга в наше время.
- . Например, который следит за определёнными каналами в твиттере или комментариями на Хабре — экспортирует их и форвардит вам в телеграм.
- (Minecraft не потянет, ему нужен 1 ГБ).
- Резервное копирование ценных документов, для которых 10 ГБ достаточно. По сравнению с другими сервисами, на своём хостинге проще установить передачу данных и шифрование таким способом, как вы хотите.
- . Например, можно поставить Dovecot / Postfix, а потом использовать родной клиент для получения свежей почты. Для доступа через браузер существуют веб-кленты вроде Snappymail (форк Rainloop), которые хорошо выглядят и на десктопе, и в мобильных устройствах (демо).

- или для общения с друзьями и коллегами. Здесь даже встанет сервер Teamspeak для организации голосовых конференций на несколько человек (например, команды геймеров), его минимальные системные требования 128 МБ памяти.
Как и для почтового сервера, для XMPP нужно указать доменное имя (покупается отдельно, насколько мы слышали, самые дешёвые стоят 1 евро в год).
Мы изначально попробовали XMPP-сервер Snikkett, который устанавливается только в докер-контейнере, но ему памяти не хватило:

Однако на какой-нибудь другой сервер может хватить… Не все же программы распространяются исключительно в контейнерах.
- Тестирование и мониторинг сайтов и приложений. По идее, круглосуточно работающий сервер лучше подходит для этих целей, чем домашний ПК. Отчёты или логи он может присылать вам в телеграм или по почте.
Примерно для таких же целей VPS можно использовать в системе умного дома для сбора данных и статистики о его работе.
- вроде FreshRSS. Хотя в сети есть ряд хороших сервисов, но свой собственный RSS-сервер иногда полезнее. Во-первых, он бесплатный. Во-вторых, может скачивать полное содержимое всех статей и сохранять их на диске, например, для полнотекстового поиска, так что они будут всегда доступны. Инструкции по установке здесь.
- для самохостинга. Например, для любителей кулинарии есть сервер Tandoor Recipes для хранения рецептов. Или серверы для хранения личных фотографий. Много программ для хостинга на своём сервере и использования в личных целях можно найти здесь. Хотя всё-таки для таких вещей гораздо удобнее домашний сервер, который не обязательно должен быть круглосуточно в онлайне, как VPS-сервер RUVDS. Да и памяти на всё не хватит.
- Кроме всего перечисленного, сервер можно использовать и прокачки самого ценного навыка в наше время — системного администратора Linux. Всегда удобно иметь свой сервер под рукой, мало ли для чего он может понадобиться.
Как видим, у каждой задачи свой софт. На мини-сервер выделено 10 ГБ места на HDD. В принципе, этого хватит на много программ, и можно установить несколько вариантов из перечисленного. Другой вопрос, что одно ядро CPU 2,2 Гц и 512 МБ RAM не потянут много задач одновременно, только несколько из них.
Многие шаблоны из маркетплейса можно установить на сервер изначально, в качестве «базы», на которую потом доустанавливать софт. Но часть шаблонов требуют минимум 1 ГБ памяти (например, шаблоны WordPress и Minecraft), а некоторым вообще нужна Windows (например, шаблон Server Core).

Как известно, у всех VPS неограниченный трафик. То есть можно качать что угодно и в любом количестве, круглосуточно, без дополнительной оплаты. Как сказано на сайте, все дата-центры имеют не менее трёх резервных каналов связи по 10 Гбит/с и подключены к крупнейшим узлам связи М-9 и М-10 для российских и LD-8, AMS-IX, DE-CIX для европейских ЦОДов. Это позволяет обеспечить виртуальный сервер интернет-каналом со скоростью в 100 Мбит/с.
Самые дешёвые тарифы «Старт» стоят 130 и 190 руб., они отличаются накопителем: HDD или SSD, все остальные параметры те же. За 240 или 300 руб. можно увеличить объём памяти вдвое.

Отметим, что на VPS всегда можно переустановить ОС в два клика, а также удалить сервер (деньги вернутся на счёт) и сразу же создать новый.
Ещё полезная информация: «Использование zRam для увеличения количества доступной памяти под Linux». Ультрадешёвый VPS идеально подходит для изучения методов оптимизации. Ну и просто интересная игрушка за пару баксов.
Скидки, итоги розыгрышей и новости о спутнике RUVDS — в нашем Telegram-канале 🚀





