Сайт на Joomla взломан — первые шаги в правильном порядке
Спокойно и по порядку. Эта инструкция обходится без командной строки — и честно говорит, где встроенных средств Joomla уже не хватает.
Что даёт параметр «Сайт выключен» — и чего он не даёт
Joomla умеет закрыть сайт от посетителей. Параметр находится в Панель управления›Общие настройки, на вкладке Сайт, и называется Сайт выключен. Здесь важны два ограничения. Руководство Joomla прямо указывает, что этот параметр не распространяется на панель администратора и на пользователей, которые могут в неё войти. А под «отключением сайта» Google понимает нечто более строгое: сайт вообще не должен отдавать посетителям никакого содержимого. Google прямо предупреждает: кода ответа из серии 4xx или 5xx недостаточно, потому что рядом с ним по-прежнему может отдаваться вредоносное содержимое.
Сохраните следы, прежде чем начинать очистку
Joomla ведёт собственный журнал действий в панели администратора: Пользователи›Лог действий пользователей. Открыть его могут только суперпользователи, а скачать — прямо из панели администратора в виде CSV-файла. Читайте его, помня об ограничениях: IP-адреса не записываются, пока не включён соответствующий параметр; в журнал вообще попадают только события тех расширений, которые выбраны в его настройках; а старые записи удаляются через число дней, заданное в соответствующем плагине. Поэтому отсутствие записи — ещё не доказательство того, что ничего не произошло.
Проверьте, нет ли чужих учётных записей
Откройте Пользователи›Управление. Для каждой учётной записи в списке показаны, среди прочего, Логин, Группы, Дата входа и Дата регистрации. Обратите внимание на записи, которые вы не создавали, — особенно на те, что состоят в группе с широкими правами, — и на те, что зарегистрировались примерно тогда, когда начались проблемы.
- Смените пароли и сделайте многофакторную аутентификацию обязательной
Смените пароли у всех учётных записей с доступом в панель администратора. Многофакторная аутентификация встроена в Joomla изначально, и её можно сделать обязательной для выбранной группы пользователей — официальное руководство прямо рекомендует её включить.
- Удалите чужие учётные записи
Удалите записи, которые вы не создавали. Но одного удаления мало, пока открыт путь внутрь.
- Обновите Joomla и все расширения
Ядро — через Система›Обновление›Joomla, расширения — через Система›Обновление›Расширения. Учтите ограничение, о котором предупреждает сама Joomla: там показываются только те расширения, которые поддерживают сервер обновлений. Всё остальное придётся обновлять вручную.
- Сверьтесь со списком уязвимых расширений
Сверьте то, что установлено у вас, с официальным списком. В нём есть и отдельная категория для уязвимостей, у которых исправления нет, — такое расширение нужно удалить, а не просто спрятать.
- Не пытайтесь просто спрятать уязвимое расширение
Документация Joomla говорит об этом однозначно: удаление пунктов меню или снятие модуля с публикации не делает расширение недоступным.
Одной резервной копии обычно недостаточно
Восстановление вчерашней резервной копии выглядит как чистое решение, и иногда так оно и есть. Но часто — нет. Свой опыт очистки сайтов Sucuri подытоживает так: «Hackers always leave a way to get back into your site. More often than not, we find multiple backdoors of various types in hacked Joomla! sites.» Если коротко: злоумышленники почти всегда оставляют себе путь обратно, и на взломанных сайтах Joomla обычно обнаруживается сразу несколько разных бэкдоров. Копия, сделанная до взлома, по-прежнему содержит уязвимость, через которую кто-то вошёл, — а копия, сделанная после, возможно, уже содержит бэкдор.
Когда стоит передать дело специалистам
Есть черта, за которой встроенных средств уже не хватает. Sucuri обозначает её в своём руководстве: часть шагов требует доступа к веб-серверу и базе данных, и если вы не чувствуете себя уверенно с таблицами базы данных и файлами на сервере, лучше обратиться за помощью, чем экспериментировать. Это не поражение: наполовину очищенный сайт, который заражают повторно, обходится дороже, чем одна качественная очистка.
Источники & полезные ссылки
- Руководство Joomla — Site OfflineПараметр и его ограничения
- Google — Quarantine your siteЧто означает отключение сайта
- Руководство Joomla — User Actions LogДоступ, экспорт в CSV, срок хранения
- Sucuri — How to Fix, Clean & Secure a Hacked Joomla! SiteБэкдоры и границы встроенных средств
- Joomla — Список уязвимых расширенийОфициальный список, в том числе уязвимости без исправления
Приоритет всегда имеет официальная информация соответствующего разработчика. Эта страница нейтрально обобщает общедоступные сведения.