Веб-разработка

Первичная защита сайта на Joomla: настройки, расширения, файлы, админка

Что сделать сразу после запуска сайта на Joomla, чтобы его не взломали боты: обновления, MFA, права на файлы, защита админки и бэкапы.

Первичная защита сайта на Joomla: настройки, расширения, файлы, админка

Чтобы защитить сайт на Joomla, в первую очередь обновите ядро и все расширения до актуальных версий, включите многофакторную аутентификацию для администраторов, удалите неиспользуемые расширения и настройте регулярные резервные копии с хранением вне сервера. Затем включите HTTPS для всего сайта и проверьте права на файлы, особенно на configuration.php.

Joomla — одна из самых распространённых CMS с открытым кодом, и именно поэтому её постоянно сканируют автоматические боты. Им не нужен конкретно ваш сайт: они перебирают тысячи адресов в поисках устаревшей версии ядра, уязвимого расширения или администратора с паролем «123456». Взломанный сайт затем используют для рассылки спама, размещения дорвеев, фишинговых страниц или майнинга.

Сама Joomla развивается активно: в октябре 2025 года вышли Joomla 6.0 и 5.4 с автоматическими обновлениями ядра, а многофакторная аутентификация встроена в ядро начиная с четвёртой версии. Большинство взломов происходит не из-за слабости ядра, а из-за невыполненных базовых шагов. Ниже — порядок первичной защиты, который мы в Pear Advert применяем на сайтах клиентов.

Официальный сайт Joomla: новости о выпусках и обновлениях безопасности
Официальный сайт Joomla: новости о выпусках и обновлениях безопасности

1. Обновления ядра и расширений

Устаревшая версия — причина номер один для взлома. Ветки Joomla 3 и, по мере выхода новых версий, более старые ветки перестают получать исправления безопасности, поэтому сайт на неподдерживаемой версии нужно планово переводить на актуальную.

  • Обновления ядра выполняются через встроенный компонент обновления Joomla в панели администратора. Начиная с Joomla 5.4 и 6.0 доступны автоматические обновления ядра: на новых установках они включены по умолчанию, а на сайтах, обновлённых со старых версий, их нужно включить вручную. Для работы функции сайт должен быть доступен из интернета, использовать стандартный сервер обновлений и уровень стабильности «Stable».
  • Расширения обновляются отдельно, в менеджере расширений на вкладке обновлений. Проверяйте их хотя бы раз в неделю.
  • Перед любым обновлением делайте резервную копию. Подробно о механизме — в официальном журнале Joomla.

Следите и за версией PHP на хостинге: устаревший PHP тоже не получает исправлений, а актуальные версии Joomla его просто не поддерживают.

2. Учётные записи администраторов и многофакторная аутентификация

В ядре Joomla есть многофакторная аутентификация (MFA). Встроенные методы: код из приложения-аутентификатора (Google Authenticator и аналоги), аппаратный ключ YubiKey, Web Authentication (вход по ключу устройства или биометрии через браузер) и код подтверждения по почте. Метод «Fixed Code» предназначен только для тестирования.

  • Включите нужные плагины MFA в менеджере плагинов.
  • В настройках компонента пользователей (Users: Options) на вкладке многофакторной аутентификации можно сделать MFA обязательной для выбранных групп. Обязательно включите её для групп Super Users и Administrator.
  • Каждый администратор подключает свой метод в форме редактирования профиля.

Отдельно наведите порядок с учётными записями:

  • Не используйте логин «admin» — это первое, что подбирают боты.
  • Суперпользователей должно быть минимально: один-два человека. Контент-менеджерам достаточно групп Editor или Publisher.
  • Удалите или заблокируйте учётные записи бывших сотрудников и подрядчиков.
  • Если сайт не предполагает регистрацию посетителей, отключите параметр «Allow User Registration» в настройках пользователей.

Подробности — в документации Joomla по MFA.

3. Защита панели администратора

Адрес панели /administrator известен всем, поэтому на него идёт основной поток перебора паролей. Помимо MFA есть несколько простых мер:

  • Закройте каталог /administrator дополнительной защитой на уровне сервера — паролем через .htaccess или ограничением по IP, если администраторы работают из постоянных адресов.
  • Используйте расширение безопасности, которое умеет блокировать IP после серии неудачных входов и прятать вход в панель за секретным параметром (о расширениях — ниже).
  • Не входите в админку из публичных сетей Wi-Fi без VPN.

4. Файлы, права доступа и configuration.php

В файле configuration.php хранятся пароль к базе данных и секретный ключ сайта. Его утечка равна полному взлому.

  • Права доступа на хостинге: для каталогов обычно 755, для файлов — 644. На configuration.php после настройки можно поставить 444 (только чтение), чтобы его не перезаписал вредоносный скрипт. Учтите, что при сохранении глобальной конфигурации из админки Joomla попытается изменить этот файл.
  • Никогда не ставьте права 777 — даже «временно».
  • Переименуйте htaccess.txt в .htaccess (на сервере Apache). Этот файл из комплекта Joomla содержит правила, блокирующие часть распространённых атак, и нужен для ЧПУ.
  • Убедитесь, что каталог installation удалён после установки.
  • При установке задавайте случайный префикс таблиц базы данных, а пользователю БД давайте права только на базу сайта.
  • Не храните в корне сайта архивы, дампы базы и копии вида configuration.php.bak — их ищут боты.

5. Глобальная конфигурация: HTTPS и отладка

В глобальной конфигурации (Global Configuration) на вкладке Server есть параметр Force HTTPS. Установите значение «Entire Site», предварительно убедившись, что на хостинге установлен SSL-сертификат, иначе сайт перестанет открываться.

  • Параметр Error Reporting на рабочем сайте ставьте в значение «None» или «System Default» — подробные ошибки раскрывают пути к файлам и версии ПО.
  • Режим отладки (Debug System) на рабочем сайте должен быть выключен.
  • Если на сайте есть формы с персональными данными, проверьте, что они отправляются только по HTTPS.

Заголовки безопасности (Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options и другие) можно задать через системный плагин HTTP Headers, который входит в ядро, или на уровне веб-сервера.

Сайт на Joomla защищают не только настройки CMS, но и порядок на хостинге
Сайт на Joomla защищают не только настройки CMS, но и порядок на хостинге

6. Расширения: меньше — значит безопаснее

Каждое расширение — это чужой код с доступом ко всему сайту. Большинство инцидентов с Joomla последних лет связаны именно с уязвимостями сторонних расширений.

  • Устанавливайте расширения только из официального каталога Joomla Extensions Directory (JED) или с сайтов разработчиков. «Бесплатные» версии платных расширений с варезных сайтов почти всегда содержат бэкдор.
  • Удалите, а не просто отключите неиспользуемые расширения и шаблоны.
  • Перед установкой смотрите дату последнего обновления и совместимость с вашей версией Joomla. Расширение, не обновлявшееся годами, — повод искать замену.
  • Для комплексной защиты используют специализированные расширения безопасности из JED: они добавляют брандмауэр веб-приложения, блокировку IP после неудачных входов, защиту админки, сканирование изменённых файлов. Подбирайте одно такое расширение — несколько защитных компонентов одновременно часто конфликтуют.

7. Резервные копии

Резервная копия — последний рубеж: если всё остальное не сработало, она позволяет вернуть сайт за час, а не за неделю.

  • Копия должна включать и файлы, и базу данных. Для Joomla широко используется расширение Akeeba Backup, также можно использовать средства хостинга.
  • Храните копии вне сервера сайта — в облаке или на другом хостинге. Копия на том же сервере погибнет вместе с ним.
  • Настройте расписание: ежедневно для активно обновляемых сайтов, еженедельно — для остальных. Храните несколько последних версий: заражение часто обнаруживают не сразу.
  • Раз в несколько месяцев проверяйте восстановление на тестовом сервере.
Пример расширения безопасности в официальном каталоге Joomla Extensions Directory
Пример расширения безопасности в официальном каталоге Joomla Extensions Directory

8. Формы и спам

Формы обратной связи и регистрации — популярная цель для спам-ботов. В ядре Joomla есть плагины капчи; можно подключить и сторонние решения через расширения, например российскую Yandex SmartCaptcha.

  • Включите капчу во всех публичных формах: обратной связи, регистрации, комментариях.
  • Если регистрация нужна, включите активацию учётной записи по почте или ручное одобрение администратором.
  • Добавьте согласие на обработку персональных данных — этого требует 152-ФЗ.

9. Мониторинг и журнал действий

В Joomla встроен журнал действий пользователей (User Actions Log): он фиксирует входы, изменения материалов, установку расширений и другие действия в панели. Включите его и периодически просматривайте — это помогает заметить чужой вход или подозрительные изменения.

  • Подключите уведомления о входе в панель администратора (такую функцию дают многие расширения безопасности).
  • Добавьте сайт в Яндекс Вебмастер и Google Search Console — они сообщают о заражении и спамных страницах в индексе.
  • Используйте мониторинг доступности, чтобы узнать о падении сайта раньше клиентов.

Типичные ошибки

  • Сайт годами работает на старой версии Joomla, «потому что всё и так работает».
  • Пользователь «admin» с простым паролем и без MFA.
  • Расширения, скачанные с варезных сайтов.
  • Права 777 на каталоги, выставленные «чтобы заработала загрузка».
  • Резервные копии лежат только на том же сервере или не делаются вовсе.
  • Включённый вывод ошибок и режим отладки на рабочем сайте.
  • Десятки отключённых, но не удалённых расширений и шаблонов.
  • Открытая регистрация пользователей на сайте, где она не нужна.

Чек-лист первичной защиты

  1. Обновить ядро Joomla до актуальной поддерживаемой версии.
  2. Включить автоматические обновления ядра (Joomla 5.4 и новее).
  3. Обновить все расширения и удалить неиспользуемые.
  4. Проверить актуальность версии PHP на хостинге.
  5. Включить MFA и сделать её обязательной для Super Users и Administrator.
  6. Переименовать пользователя admin и сократить число суперпользователей.
  7. Удалить учётные записи бывших сотрудников и подрядчиков.
  8. Отключить регистрацию пользователей, если она не нужна.
  9. Защитить каталог /administrator паролем сервера или ограничением по IP.
  10. Выставить права 755/644, configuration.php — 444.
  11. Переименовать htaccess.txt в .htaccess.
  12. Включить Force HTTPS для всего сайта и выключить вывод ошибок и отладку.
  13. Установить одно расширение безопасности из JED.
  14. Настроить автоматические резервные копии с хранением вне сервера.
  15. Включить капчу в формах и журнал действий пользователей.

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

Безопасна ли Joomla по сравнению с другими CMS?

Ядро Joomla развивается под контролем команды безопасности проекта и регулярно получает исправления. Уровень защиты конкретного сайта определяется прежде всего своевременными обновлениями, расширениями и настройками доступа.

Можно ли оставить сайт на Joomla 3?

Ветка Joomla 3 давно не получает обновлений безопасности. Сайт на ней работает, но любая новая уязвимость в ядре или расширениях останется открытой. Такой сайт стоит планово перевести на актуальную версию.

Не сломают ли автоматические обновления сайт?

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

Что делать, если сайт уже взломан?

Переведите сайт в офлайн, смените все пароли (админка, FTP, база данных, хостинг), восстановите чистую копию, сделанную до заражения, и сразу обновите ядро и расширения. Если чистой копии нет, нужна ручная очистка файлов и базы.

Если не хочется разбираться в этом самостоятельно, мы проведём аудит безопасности сайта на Joomla, обновим ядро и расширения, настроим доступы, MFA, резервное копирование и защиту админки.

Читайте также

Pear Advert · поддержка и защита сайтов

Настроим защиту сайта на Joomla

Проведём аудит, обновим ядро и расширения, включим MFA, закроем админку и настроим резервные копии вне сервера.

  • Аудит безопасности и отчёт с приоритетами
  • Обновления, бэкапы и мониторинг доступности
  • Очистка от вирусов и восстановление после взлома

Ответим в течение рабочего дня

Читать дальше

Статьи по теме

Начать проект

Давайте сделаем крутой проект вместе

Расскажите о задаче — мы бесплатно проанализируем нишу, предложим решение и назовём сроки со стоимостью. Без навязчивых звонков.

Телефон

8 (926) 837 76 68

Почта

info@pear-advert.ru

Офис

Москва, ул. Гиляровского, 57с1

Оставьте заявку

Ответим в течение рабочего дня

Выберите тип проекта

Данные используются только для ответа на заявку и хранятся не дольше трёх лет.