Спокойно: план есть
Ко мне регулярно приходят с одной и той же фразой: «кажется, нас взломали, сессия через неделю, что делать?». Хорошая новость: Moodle после взлома почти всегда можно вылечить без потери данных, если действовать по плану, а не в панике. Плохая: каждый час промедления работает на атакующего — он закрепляется глубже.
Час 0–1: изолировать
- Включите режим обслуживания или закройте сайт на уровне веб-сервера. Студентам — короткое объявление о технических работах, без слова «взлом».
- Смените пароли: панель хостинга, SSH, база данных, все аккаунты администраторов Moodle. Именно в таком порядке.
- Не удаляйте ничего. Подозрительные файлы — это улики: по ним видно, как вошли и что успели сделать.
Час 1–4: оценить масштаб
| Что проверить | Где | Что ищем |
|---|---|---|
| Посторонние администраторы | Администрирование → Пользователи | Учётки, созданные в последние недели, особенно с правами менеджера и выше |
| Изменённые файлы | Код Moodle и moodledata | PHP-файлы со свежей датой изменения там, где их быть не должно |
| Журналы веб-сервера | access.log / error.log | Массовые POST-запросы к одному скрипту, обращения к незнакомым файлам |
| Задания cron и планировщик | Сервер и Moodle | Посторонние задачи, которые «оживляют» заражение после чистки |
| Исходящая почта | Очередь почтового сервера | Спам-рассылка от имени вашего домена |
Час 4–24: вычистить и закрыть дыру
- Найти точку входа. В 9 случаях из 10 это устаревшая версия Moodle или плагина с известной уязвимостью, реже — украденный пароль администратора или дыра в соседнем сайте на том же сервере.
- Заменить код начисто. Правильное лечение — не выискивание зловредов по одному, а замена всего кода Moodle и плагинов на эталонный из официальных источников. База и moodledata проверяются отдельно.
- Обновиться до поддерживаемой версии — иначе через неделю всё повторится. Как это сделать без потерь, я разбирала в статье об обновлении Moodle 3.x → 4.x.
- Проверить пользователей и роли: удалить посторонних, сбросить пароли всем администраторам, включить двухфакторную защиту для админки, если её не было.
- Снять блокировки: если сайт успел попасть в чёрные списки поисковиков или почтовых сервисов — отправить на перепроверку.
Про 152-ФЗ: об этом молчат, а зря
В Moodle хранятся персональные данные студентов, и организация — оператор ПДн. С 2025 года за утечку персональных данных действуют оборотные штрафы, а уведомить Роскомнадзор об инциденте нужно в течение 24 часов с момента обнаружения. Поэтому фиксируйте хронологию: когда обнаружили, что предприняли, какие данные могли быть затронуты. Даже если утечки не было, письменная хронология — ваша защита при любой проверке.
Чтобы больше не повторилось
Взлом — почти всегда следствие того, что системой годами никто не занимался. Минимальная гигиена: обновления безопасности в течение недели после выхода, бэкапы на отдельном хранилище с проверкой восстановления, мониторинг доступности и целостности, закрытая самостоятельная регистрация (о защите от спам-регистраций — отдельная статья). Всё это — стандартная часть поддержки по SLA: дешевле, чем один инцидент в сессию.
Если у вас прямо сейчас горит — напишите мне или позвоните: первичную оценку масштаба сделаю быстро, скажу честно, что можно спасти своими силами, а где нужна работа специалиста.
Реальные сценарии взлома: как это выглядит на практике
Сценарий «SEO-спам». Сайт работает как обычно, но в поисковой выдаче у него появляются страницы про казино и сомнительные товары. Взломщику не нужны ваши данные — ему нужен ваш возраст домена и доверие поисковиков. Обнаруживается месяцами позже, когда позиции сайта уже просели. Проверка: поищите свой домен в Яндексе оператором site: и просмотрите список проиндексированных страниц.
Сценарий «спам-рассылка». Хостер присылает грозное письмо: с вашего сервера идёт рассылка, IP попал в чёрные списки. Страдают в первую очередь легитимные письма — студенты перестают получать уведомления о дедлайнах и восстановление пароля. Лечение — не только чистка, но и вывод IP из чёрных списков, это отдельная кропотливая работа.
Сценарий «майнер». Сервер начинает тормозить без видимых причин, процессор загружен на 100% круглосуточно. Перед сессией такой «пассажир» способен уронить систему в самый неподходящий момент. Диагностируется за минуты просмотром списка процессов.
Сценарий «шифровальщик» — самый тяжёлый: файлы зашифрованы, на экране требование выкупа. Единственная реальная защита — бэкапы на хранилище, до которого шифровальщик не дотянулся. Платить выкуп бессмысленно: расшифровку никто не гарантирует, а «касса» подтверждает, что с вами можно работать дальше.
Почему школы, колледжи и вузы ломают чаще, чем кажется
Распространённое заблуждение: «кому нужна наша СДО, у нас брать нечего». Автоматическим сканерам, которые ломают 99% образовательных сайтов, вообще всё равно, что у вас за организация. Они круглосуточно перебирают интернет в поисках известных уязвимостей — и старый Moodle для них просто строчка в списке целей. А ресурсы у образовательного сайта отличные: приличный домен, которому доверяют поисковики и почтовые сервисы, сервер с хорошим каналом и база живых почтовых адресов. Отдельная беда — общий сервер: когда на одной машине живут сайт колледжа, сайт столовой и чей-то заброшенный проект на старом WordPress, взлом соседа означает взлом всех.
Частые вопросы
Как понять, что Moodle взломали?
Типичные признаки: посторонние редиректы на других сайтах, незнакомые администраторы в списке пользователей, всплеск исходящей почты, странные PHP-файлы в moodledata или в корне сайта, жалобы антивирусов у посетителей, предупреждение «сайт может быть опасен» в поисковиках.
Можно ли просто восстановить бэкап и работать дальше?
Нет: бэкап вернёт систему в состояние до взлома, но не закроет дыру, через которую вошли. Без обновления и смены всех паролей взлом повторится за считанные дни.
Нужно ли сообщать о взломе в Роскомнадзор?
Если есть основания полагать, что произошла утечка персональных данных, оператор обязан уведомить Роскомнадзор в течение 24 часов с момента обнаружения инцидента, а в течение 72 часов — о результатах расследования. Это требование 152-ФЗ.
Сколько стоит лечение Moodle после взлома?
Экспресс-изоляция и первичная диагностика — от 15 000 ₽, полное лечение с обновлением, сменой паролей и настройкой защиты — обычно 30 000–60 000 ₽ в зависимости от запущенности. Это всегда дешевле, чем неделя простоя в сессию.
Как защитить Moodle от взлома в будущем?
Регулярные обновления безопасности, минимум прав у пользователей, отключение самостоятельной регистрации там, где она не нужна, бэкапы на отдельном хранилище и мониторинг. Всё это входит в нормальную поддержку по SLA.
Опишите задачу — расскажу, как решить её конкретно в вашем случае. Свяжитесь — разберём вместе.