Смена пароля Joomla не перекрывает все способы изменить сайт. Если вредоносный код остался в расширении или чужой доступ сохранился на хостинге, подозрительные файлы могут появиться снова. Лечение начинается с сохранения состояния и поиска входа, а заканчивается проверкой сайта и его окружения.
Общий порядок ограничения доступа и фиксации инцидента разобран в плане восстановления взломанного сайта. Здесь важны особенности Joomla: что осталось за пределами ядра, кто вправе менять материалы и какие данные вернутся вместе с копией.
Признаки взлома Joomla: где искать подтверждение
Чужие страницы, ссылки в материалах, перенаправления на посторонний домен, неизвестный администратор или повторно возникающий файл — основания для проверки. Однако редирект может оказаться ошибкой настройки, а измененный шаблон — работой разработчика. Диагноз строят на конкретных находках, а не только на предупреждении сканера.
Запишите адрес проблемной страницы, время, условия появления и изменения, которые уже делали после обнаружения. Если перенаправление видно только при переходе из поиска, это условие нужно воспроизвести при приемке.
В рекомендациях Joomla по расследованию взлома отдельно указаны журналы сервера, расширения и проверка файлов. Я использую их как направления расследования: заключение «вирус в Joomla» еще не объясняет, каким путем получили доступ.
Копия до очистки: файлы, база и история изменений
До удаления находок сохраните текущее состояние файлов и выгрузку базы, доступные журналы обращений и ошибок. Отдельно зафиксируйте версию Joomla, PHP, перечень расширений и последние известные изменения. Такая копия нужна для исследования и сохранения материалов; ее нельзя считать чистой точкой восстановления.
Старая резервная копия тоже требует проверки: заражение могло начаться раньше заметных симптомов. Официальная памятка Joomla о хостинге и восстановлении предупреждает, что возврат зараженного архива возвращает и посторонние файлы. Дата архива сама по себе не подтверждает его безопасность.
Зафиксируйте, какие публикации, заявки и изменения появились после выбранной копии. Их нужно переносить отдельно после проверки, иначе восстановление уничтожит полезные данные последних дней.
Ядро и расширения: переустановка поверх не завершает лечение
Ядро сравнивают с официальным дистрибутивом соответствующей версии, расширения и шаблоны — с пакетами их разработчиков. Простая перезапись совпадающих имен не доказывает, что лишние файлы исчезли: их проверяют отдельно, как и каталоги загрузок.
Для каждого стороннего компонента, модуля и плагина нужен короткий паспорт: установленная версия, источник пакета, назначение и доступное исправление. Версии сверяют с официальным списком уязвимых расширений Joomla и списком исправленных уязвимостей.
Неиспользуемое расширение оценивают на удаление, необходимое — на обновление или замену. После удаления проверяют остатки: документация Joomla об установке расширений отмечает, что сторонний деинсталлятор может оставить файлы и таблицы.
Загрузки и база: сохранить контент без чужих изменений
В папках изображений и документов ищут файлы, которых не должно быть по назначению каталога. Расширение имени не заменяет проверки содержимого. Правила запрета исполнения в загрузках подбирают под веб-сервер и проверяют на копии: универсальный фрагмент настроек из интернета может нарушить выдачу нужных файлов.
База требует отдельного разбора даже после замены PHP-файлов. Официальная инструкция DreamHost по очистке после взлома прямо описывает изменения БД зараженных установок Joomla и рекомендует исследовать их вместе с файлами.
В материалах и пользовательских модулях проверяют чужие вставки, в меню — неизвестные пункты и адреса, в настройках расширений — необъяснимые изменения. Пользователей и членство в группах сопоставляют с согласованным списком.
Подозрительную вставку исследуют в контексте: внешний скрипт может принадлежать согласованной аналитике. Массово удалять все ссылки или фрагменты HTML опасно для материалов. Для каждой правки сохраняют исходную запись и причину изменения, а нужные данные из старой копии переносят выборочно.
Администраторы и права файлов — разные уровни доступа
В Joomla проверяют не только имя главного администратора, но и группы пользователей, выданные действия и права на отдельные компоненты. Документация Joomla по ACL разделяет группы, уровни просмотра и разрешения действий.
Отдельная проверка относится к панели хостинга, файловым доступам, базе и заданиям по расписанию. Уточняют владельцев доступов, отключают неподтвержденные и меняют скомпрометированные учетные данные. Рекомендации Joomla после взлома охватывают несколько типов доступа, поэтому замена только пароля административной части оставляет расследование незавершенным.
Права файлов исследуют вместе с владельцем и пользователем, от которого работает PHP. В справке Joomla по разрешениям значения 755 для каталогов и 644 для файлов даны с оговоркой о конфигурации сервера. Массовое назначение 777 не служит способом починки; конкретные разрешения согласуют с моделью хостинга и проверяют работу загрузок и обновлений.
Если чужие файлы продолжают появляться, сопоставляют время их создания с запросами, выполнением заданий и действиями пользователей. Когда журналов недостаточно, источник обозначают как неподтвержденный.
Восстановление и обновление старой Joomla
Чистую сборку проверяют в отдельной среде: доверенные пакеты, проверенные материалы и только необходимые расширения. Восстановление работоспособности и переход на другую основную версию планируют раздельно. Старая Joomla сама по себе не означает, что контент придется выбросить и заказать новый сайт.
Проверка совместимости включает шаблон, формы, поиск, адреса страниц и важные интеграции. В инструкции Joomla по обновлению описаны резервная копия, предварительная проверка и проверка после обновления; доступность экрана Pre-Update Check зависит от версии и вида перехода.
Если нужное расширение нельзя безопасно оставить, владелец должен получить варианты: замена, ограничение функции или отдельная миграция. Решение и возможность отката фиксируют до переноса изменений.
Приемка лечения и контроль повторного заражения
Приемка проверяет и безопасность, и сохранность работы. Открывают ранее зараженные адреса и основные типы страниц, проверяют формы, вход редактора, публикацию материала и загрузку изображения. Повторяют условия, при которых проявлялся редирект, и просматривают журналы на новые ошибки.
В отчете должны быть находки, замененные пакеты, очищенные данные, пересмотренные доступы и результат проверки предполагаемого входа. Отдельно указывают, что осталось неподтвержденным, кто наблюдает за изменениями файлов и когда состоится повторная проверка.
После восстановления согласуют обновления, проверяемые резервные копии и ответственного за наблюдение. Эти задачи разобраны в материале о защите от повторного заражения. Пришлите адрес сайта на Joomla и признаки заражения — определим порядок проверки и восстановления.