Сервер

Сервер загружен на 100%: как найти майнер и причину

Сайт тормозит, хостинг жалуется на нагрузку, процессор занят круглые сутки. Как понять, посетители это, боты или чужая программа.

Обновлено 4 мин чтенияИнженеры VECTRA

Сайт открывается медленно, иногда выдаёт ошибки, а в панели хостинга процессор занят на 100%. Причины делятся на две большие группы. Первая: настоящая нагрузка от посетителей, ботов или тяжёлого кода. Вторая: на сервере работает чужая программа, чаще всего майнер, который на ваших ресурсах добывает криптовалюту для злоумышленника. Разберём, как отличить одно от другого.

Как понять, что сервер перегружен

  • страницы открываются медленно или через раз;
  • появляются ошибки 502, 503 и 504. О них подробно в статье «Ошибка 502 Bad Gateway»;
  • хостинг присылает письма о превышении нагрузки или ограничивает сайт;
  • в панели хостинга или на графиках мониторинга процессор занят почти полностью.

Обычная нагрузка или майнер

ПризнакОбычная нагрузкаМайнер
КогдаРастёт днём, падает ночью, скачет после рекламыРовно 100% круглые сутки, даже ночью
Какой процессПрограммы сайта: веб-сервер, PHP, база данныхНезнакомое имя или имя, похожее на системное
Где лежит программаВ обычных системных папкахВо временных папках, в скрытых папках, в каталоге сайта
После перезагрузкиНагрузка возвращается вместе с посетителямиЧерез несколько минут снова 100%
СетьОтветы посетителямПостоянные соединения с незнакомыми серверами

Где искать виновника

Если у вас свой сервер

  1. Посмотрите, какой процесс занимает процессор. Это видно в диспетчере процессов сервера, например в программе top или htop. Обратите внимание на имя процесса и на пользователя, от которого он запущен.
  2. Найдите, где лежит файл программы. Майнеры любят временные и скрытые папки.
  3. Проверьте задачи по расписанию у всех пользователей и автозапуск служб. Именно они возвращают майнер после остановки.
  4. Посмотрите журнал входов на сервер. Незнакомые адреса и успешные входы в странное время показывают, как зашли.

Если сайт на обычном хостинге

  1. Откройте статистику нагрузки в панели хостинга: обычно там видно, какие скрипты нагружают сервер.
  2. Посмотрите журнал посещений. Тысячи обращений к странице входа или к одному адресу говорят о переборе паролей или ботах.
  3. Попросите поддержку хостинга показать, какие процессы вашего аккаунта больше всего нагружают сервер.
Не останавливайтесь на «убить процесс»Если просто остановить майнер, он вернётся. Важно найти, что его запускает и как он попал на сервер. Часто это веб-шелл на сайте или подобранный пароль от сервера.
Сервер грузится, а причины не видно?

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

Частые причины, если это не майнер

  • Боты и парсеры. Собирают цены и каталоги, создают нагрузку, сопоставимую с тысячами посетителей.
  • Перебор паролей к админке. Каждая попытка входа нагружает сервер.
  • Тяжёлые плагины и модули, особенно для статистики, поиска и фильтров.
  • Нет кэширования. Каждую страницу сервер собирает заново для каждого посетителя.
  • Задачи по расписанию, которые запускаются слишком часто или зависают.
  • Разросшаяся база данных и медленные запросы к ней.
  • Нехватка памяти. Сервер начинает использовать диск вместо памяти и резко замедляется.

Как вернуть сервер в норму

  1. Убрать майнер вместе с автозапуском и закрыть дорогу, по которой он пришёл.
  2. Сменить все пароли и ключи, а вход на сервер перевести на ключи вместо паролей.
  3. Закрыть лишние входы на сервер и оставить только нужные.
  4. Ограничить ботов и перебор паролей.
  5. Включить кэширование и ускорить тяжёлые страницы.
  6. Настроить мониторинг, который сообщит о подозрительной нагрузке в тот же день.

Мы находим, что грузит сервер, убираем причину и проверяем, что она не вернётся. А на сопровождении следим за сервером постоянно: о проблеме вы узнаёте от нас, а не от клиентов.

Частые вопросы

Хостинг предлагает перейти на дорогой тариф из-за нагрузки. Это нужно?

Не всегда. Сначала стоит выяснить, откуда нагрузка. Часто её создают боты, перебор паролей или один тяжёлый плагин, и после исправления сайт спокойно работает на прежнем тарифе. Переплачивать за ресурсы, которые съедает майнер или бот, нет смысла.

Почему майнер возвращается после перезагрузки?

Потому что вместе с ним на сервере остался автозапуск: задача по расписанию, служба или запасной вход на сайте. Перезагрузка останавливает программу, но не убирает то, что её запускает.

Может ли майнер украсть данные?

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

Сколько стоит найти и убрать причину нагрузки?

Зависит от того, что нашлось. Исправление ошибок и лечение у нас стоит от 3 000 ₽. Оцениваем бесплатно и называем цену до начала работ.

Связь

Напишите, что случилось

Ответим в течение 15 минут, оценим бесплатно и назовём цену до начала работ. Опишите проблему как удобно: текстом, голосовым сообщением или скриншотом.