Взлом сервера майнерами

В сети обсуждают массовый взлом FirstVDS. Давайте разберёмся, в чём причина такого шума.
Претензия — FirstVDS не обеспечил защиту серверов

Вы должны обеспечить своевременное обновление и защиту серверов клиентов
Компании со своей стороны обеспечивает поддержку работоспособности инфраструктуры. За администрирование конечного VDS, актуальность обновлений и безопасность сервера ответственен администратор VDS — сам клиент. В рамках услуги администрирования и чёткого ТЗ системные администраторы могут провести работы по настройке и усилению безопасности сервера клиента.

Серверы взломала недобросовестная поддержка
У сотрудников саппорта действительно есть SSH-доступ к VDS клиентов. Однако он происходит через закрытый сервер аутентификации, который доступен только во внутренней сети, все запросы жёстко логируются. Мы мониторим логи, чтобы выявлять подозрительные подключения. Подробнее о системе авторизации мы писали тут.

Учитывая репутационные последствия и затраты на обработку подобных тикетов, для компании подобный «бизнес» крайне невыгоден.

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

Цели злоумышленников достигаются путём запуска вредоносного ПО с правами локального пользователя. Если бы эксплуатировались уязвимости на серверах компании, злоумышленники получили бы полный доступ к конечным услугам, что повлекло бы более серьёзные последствия. Нет смысла запускать сервисы в ограниченном окружении пользователя, когда есть root-доступ на сервер.

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

А как же Meltdown/Spectre?
Обновления безопасности ПО проводятся на регулярной основе. Родительские ноды обновлены и защищены от данного типа атак.

Эксплуатация атак meltdown/spectre достаточно трудоёмкая и требует большого количества ручной работы. Масштаб проблемы даёт повод предполагать, что атаки автоматизированы и, вероятнее всего, работает ботнет. Нет смысла эксплуатировать уязвимости чтения памяти, когда пароль пользователя Qwerty123 или CMS обновлялась более 3-х лет назад.

На моём сервере совсем нет сайтов или сайты самописные, без публичных уязвимостей. Как его взломали?
Кроме сайтов, на сервере есть программное обеспечение (например, phpmyadmin, proftpd, httpd), которое каждый день становится объектом исследований в области безопасности. Вероятность появления уязвимости нулевого дня для любого из сервисов каждый день достаточно велика. Поэтому в задачи администратора сервера входит своевременная реакция на подобные инциденты и обновление ПО. В некоторых рассмотренных нами случаях эксплуатировались старые бэкдоры, «заложенные» злоумышленниками заранее. Возможно, даже через сайт, которого уже нет на сервере.

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

Наша позиция — взлом осуществляется через уязвимости внутри VDS

Кейсы, которые мы уже разобрали и похожие случаи:
  • Отчёт от sucuri о подобных случаях (англ).
  • Мы также зафиксировали ряд взломов через уязвимости веб-сервисов.
  • Часть устаревшего программного обеспечения подвержена достаточно старым типам атак, например, CVE-2015-3306.

Если дело в уязвимостях ПО, почему заражают только клиентов FirstVDS?
Это не так, заражению подвержены клиенты любого провайдера. Однако FirstVDS — крупный хостер (57 435 доменов, по данным Hosting101 за 2017 год — самый популярный в России хостинг виртуальных серверов). И на нашем примере эта проблема особенно хорошо заметна.

К тому же не у каждого крупного хостера есть VDS с виртуализацией OpenVZ.

Мы предоставляем неадминистрируемые VDS, поэтому обычно не знаем, если их взломали. Однако у VDS с виртуализацией OpenVZ общее ядро, поэтому можно отследить всех нарушителей с запрещённым ПО (в том числе майнеров) по возросшей нагрузке на родительский сервер. Среди них будут и намеренные, и взломанные.

Именно майнеров мы можем разделить на намеренных и взломанных — последних выдаёт скрипт phpBWa1dd_ysvh5cdgl5zu7gf4. Намеренных останавливаем сразу и просим удалить запрещённое ПО. Со взломами ситуация неоднозначная, но, так как из-за повышенной нагрузки страдают все клиенты на ноде, не можем оставить её без внимания.

Для начала решили останавливать паразитный процесс, не пришлось бы беспокоить клиентов уведомлениями про взлом. Но у нас нет возможности автоматически закрывать уязвимости на VDS, а без этого сервер будет вновь заражен. На данный момент процедура выглядит так: останавливаем паразитный процесс, уведомляем клиента и рекомендуем закрыть уязвимости. Если клиент не реагирует, уязвимости не закрыты, а сервер заразили уже 4 раза подряд, мы останавливаем VDS.

На виртуализации KVM с уровня родительского сервера не видны процессы конкретного VDS. В этом случае мы не можем отследить взлом. Поэтому блокируем VDS, которые генерируют большое количество паразитного трафика, и разбираемся в причинах индивидуально.

Почему вы не решаете проблему?
В каждой такой ситуации взлома требуется индивидуальное решение. Поэтому в первую очередь мы рекомендуем обратиться к специалистам, занимающимся защитой сайтов. Например, в компанию Revisium. Ни о каком партнёрстве и денежной выгоде тут речи нет. Ещё у них есть бесплатный сканер вирусов и вредоносных скриптов Ai-bolit.

Также мы рекомендуем Virusdie (700 руб. в месяц) — это хороший антивирус и модуль в панели ISPmanager, с которой мы работаем. Плагин позволяет самостоятельно производить неограниченное количество очисток всех сайтов в течение месяца. Подключается в панели ISPmanager в раздел Интеграция → Модули.

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

Если вы обладаете достаточными навыками администрирования Linux, можно провести проверку самостоятельно. В нашей базе знаний вы найдёте статьи в помощь: Поиск вирусов на сайте, Поиск вирусов с помощью Linux Malware и другие в разделе Безопасность.

Так как чистка не предотвращает повторное заражение, сначала нужно закрыть уязвимости.

Если вас не взломали, всё равно стоит позаботиться о профилактике. Воспользуйтесь рекомендациями по ссылке и статей про защиту Wordpress от брутфорс атак.

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