11 секунд от регистрации до взлома сервера с кодом
Хостинг прислал письмо: сервер держит нагрузку на процессор выше 70% вторые сутки. Зашёл посмотреть — а там уже чужой репозиторий и чужой скрипт.
Клиент — небольшая разработческая компания, держит свой сервер для хранения кода вместо облачных сервисов: так спокойнее с точки зрения конфиденциальности. Систему разворачивали пару лет назад и с тех пор не трогали — работает же.
Поднял логи и восстановил атаку буквально по секундам: регистрация нового пользователя, создание репозитория, загрузка файла с вредоносным кодом, срабатывание автоматического хука — и вот уже посторонний скрипт выполняется на сервере. От первого запроса до полного захвата прошло около 11 секунд.
Дальше — классика: на сервере тихо работал загрузчик крипто-майнера, который жрал процессор круглые сутки. Разработчики жаловались, что сборки стали идти дольше, но списывали на нагрузку от новых задач.
Посчитали ущерб: замедление всех процессов разработки, лишние счета за аренду мощностей и главный риск — открытая регистрация означала, что теоретически кто угодно мог не майнить, а просто скачать исходный код проекта. Для компании, которая продаёт разработку как услугу, это удар по репутации на сотни тысяч рублей.
Закрыл дыру за один вечер:
• отключил открытую регистрацию на сервере — доступ только по приглашению • обновил систему хранения кода до актуальной версии с исправлением уязвимости • ограничил выполнение автоматических сценариев при загрузке файлов • настроил уведомление владельцу в мессенджер при аномальной нагрузке на сервер
Работа заняла один вечер и стоила несопоставимо меньше, чем один день простоя разработки или утечка кода конкурентам. Самостоятельный сервер — это не значит безопасный сервер, если его никто не обновляет.
У вас есть self-hosted сервисы, которые развернули и забыли? Когда последний раз проверяли на них открытую регистрацию и версию обновлений?