Хочешь сделать хорошо — делай сам
Вводная
Sangoma Linux — операционная система на основе Linux, разработанная компанией Sangoma Technologies. Она выступает как основа для коммерческих решений компании в области телекоммуникаций, включая такие продукты, как:
- FreePBX — система управления IP-телефонией с открытым исходным кодом, широко используемая для настройки корпоративных телефонных систем
- PBXact — коммерческая версия FreePBX с дополнительными функциями и поддержкой
- Asterisk — мощная платформа для разработки решений IP-телефонии
Особенности:
- Базируется на CentOS/RHEL, которая в свою очередь основана на проверенной экосистеме Red Hat, что обеспечивает надежность и совместимость
- Оптимизирована для телекоммуникаций
- Долгосрочная поддержка обеспечивается обновлениями и исправлениями безопасности, что важно для бизнеса
- ОС тесно интегрирована с Sangoma-решениями для обеспечения лучшей производительности
Sangoma Linux популярна в сообществе IP-телефонии, особенно среди пользователей Asterisk и FreePBX, так как является рекомендованной платформой для развертывания
Предистория
Компания-заказчик внедряет ip-телефонию. Подрядчик обратился к системному администратору компании с просьбой развернуть виртуальную машину (ВМ) на базе, как он сказал CentOS, с среде Proxmox. Перед этим подрядчик у себя настроил ВМ, указав hostname (master4) и ip (192.168.10.4) из сети компании. Это позже выяснится, что предлагалась сборка под именем Sangoma Linux
Для последующей удаленной настройки подрядчик просил настроить проброс соединения на 22 порт master4 с внешнего статического ip-адреса своей организации. От доступа по openvpn подрядчик отказался. Админ в свою очередь настроил проброс портов с любых адресов. Именно этот нюанс приведет к проблеме в недалеком будущем
После развертывания ВМ и проброса портов админ уведомил подрядчика о завершении работ со своей стороны. Подрядчик проверил доступность. Все ОК. Дело было 7 числа. Запоминаем
Хьюстон, у нас проблема
19 число
То, что master4 взломан, обнаружилось не сразу. Исходящий трафик master4 стал генерировать практически в день сетапа. Это не вызывало у сисадмина подозрений поскольку новый сервер под контролем подрядчика и кто знает, что ему там нужно делать

Фиолетовая область показывает исходящий трафик генерируемый ботом. Скорость соединений непостоянная и не превышает ~22 Мбит/с
В таком режиме master4 работал до воскресенья 19 числа. Именно в этот день, обнаруживается, что доступ к консоли управления UDM Pro невозможен. Охранная сигнализация перестает отправлять сообщения на управляющий сервер. У пользователей не соединяется Viber. Сайты необходимые для роботы компании открываются. Общее впечатление пользователей — «интернет тормозит»
20 число
Система мониторинга HetrixTools уведомляет, что ip-адрес компании попал в блеклист

Сообщение HetrixTools в Телеграме
Ряд сайтов открываемых успешно ранее, по понятным причинам недоступны. Удалить адрес из списков получилось довольно быстро. Но не известно точно как часто эти списки обновляют на конечных хостах. Предположительно не реже одного раза в сутки
В тоже время провайдер уведомляет администратора о проблемах с безопасностью

Провайдер получает абузы в товарных количествах (фрагмент)
21 число
Ближе к концу дня, админ получает доступ к консоли управления UDM Pro

Видно, что master4 за сутки сгенерировал 98,6 Гб трафика и продолжает его генерировать
Админ связывается в подрядчиком и уточняет, считается ли такое количество трафика нормальным для master4. На что подрядчик отвечает, что ему необходимо залогинится и посмотреть все самому. Админ отключает проброс портов, тем самым не давая возможности подрядчику войти на master4. На пограничном роутере запускает tcpdump

master4 брутфорсит хосты из мира по 22 порту (фрагмент)
Атака очень активная. Админ выключает master4 до выяснения и отправляется спать
22 число
Утром админ просит у подрядчика реквизиты доступа на master4. Оказывается это root. Удивление! И пароль у него простой — 123qweASD. Потрясение!
Однако зайти с такими учетными данными не представляется возможным. Сервер взломан и пароль рута изменен. Логично
Ну ладно. Процедура смены пароля Sangoma Linux. После чего заходим и смотрим top

Процесс kauditd0 загружает все 4 ядра CPU
Виновник найден. Сервер выключен и удален. Из ранее предоставленного подрядчиком имиджа администратор развернул новый сервер, однако на сей раз его настройкой занялся он сам, после чего подрядчику предоставил доступ для дальнейших работ

Активная фаза началась утром 19 числа и длилась более двух суток. Принудительно остановлена выключением сервера

Атакованы хосты преймущественно из США и Китая. Немного пострадали некоторые страны Европы
О чем они думали
Админ думал, что открытый проброс портов для всех даст возможность подрядчику выполнить свою работу быстрее из любого места. Он не подозревал, что открыл миру доступ на root’а
Подрядчик готовил сервер для внутренней сети и не думал, что доступ на 22 порт открыт для всех. Поэтому не предпринимал особых действий по безопасности
Выводы
- Делай все сам, если хочешь, чтоб было безопасно
- Если тебе необходимо работать с подрядчиком, обязательно настаивай на открытии доступа для себя, контролируй безопасность. Правда не все хотят его давать, опасаются, что ты можешь накосячить, а им придется за тобой править. Но ты все равно настаивай
- Со своей стороны давай только необходимые доступы. Инициатива излишня (это о пробросе портов с любых адресов)
- Три простых действия подрядчика могли бы предотвратить данную ситуацию:
- не такой простой пароль
root'а PermitRootLogin noвsshd_config- создание пользователя и работа с сервером через
sudo
- не такой простой пароль
Для сисадмина это был интересный опыт с практически нулевыми последствиями, к счастью

Системный администратор с 2000 года
Участник Freelancehunt, Хабр Q&A
Кейсы