5. Как защитить сайт на Joomla от (повторного) взлома
Взломанный сайт Joomla как лодочка с дырками в дне. Чтобы оставаться на плаву, приходится затыкать эти дыры или придется постоянно вычерпывать воду. Предыдущие два раздела были направлены на то, чтобы вычерпать воду из лодки и устранить причиненный вред. В этом разделе все намного проще, но не менее важно. Если снова провести аллегорию, то сейчас мы затыкаем дырки в лодке.
Большинство успешных атак вызваны устаревшим программным обеспечением. Иногда это из-за устаревшей версии Joomla, а иногда из-за устаревших расширений, которыми вы пользуетесь. Решение простое: обновить все до последней версии. Этот процесс довольно простой, но может быть трудоемким.
Составьте список расширений для обновления
1. Откройте "блокнот" или аналогичный текстовый редактор.
2. Откройте в менеджере расширений Joomla, в разделе меню "Управление" меню, и составьте список ваших расширений Joomla, записав помимо названия их авторов и версии. Вы можете игнорировать расширения "Joomla! Project".
3. Если вы уверены, что не используете то или иное расширение - удалите его. Либо внесите в отдельный список на удаление. На сайте вам не нужно то, что вообще не используется. Код, которого нет на вашем сайте, не может быть взломан.
4. В нижней части панели администратора обратите внимание на версию Joomla и также добавьте ее в блокнот.
Если у вас есть список обновлений
1. Пройдитесь по списку и удалите все расширения, которые вам не нужны.
2. Проверьте ваш сайт, чтобы убедиться, что все работает как нужно. Это нужно для того, чтобы выявить любые проблемы, либо расширения, которые вы могли случайно удалить или забыть настроить.
3. Обновите ядро Joomla, скачав и установив патч через менеджер расширений, или просто с помощью встроенной функции обновления.
Для всех остальных расширений в вашем списке:
1. Проверьте сайты разработчиков на обновления. В частности, ищите патчи безопасности в описаниях и логах обновлений.
2. Скачайте и обновите каждое расширение до последней версии. Как только вы сделаете это хотя бы с одним расширением - вычеркните его из списка блокнота.
3. После того, как вы обновите все, еще раз проверите общую функциональность вашего сайта.
Если все работает, то все, что вам остаётся сейчас сделать - это удалить старый сайт с веб-сервера и установить ваш новый сайт на свое место (еще раз напоминаю: резервное копирование, резервное копирование, резервное копирование.)
Должны ли вы обновить ядро Joomla до версии с долгосрочной поддержкой?
Короткий ответ: да. Как правило, это требует большого объёма работ, и если вы не можете оправдать затраты, то можно сказать, что большинство основных версий Joomla в конце своего жизненного цикла очень безопасны. Однако, в конце 2015 была обнаружена очень серьезная уязвимость, которая присутствовала во всех версиях Joomla и требовала патча поверх последней версии. Но, несмотря на возможную хорошую защиту, просто ядра Joomla от взлома в последних старых версиях, это не означает, что расширения настолько же защищены. И чем больше времени пройдёт, тем больше шансов, что ещё очень много уязвимостей будет обнаружено в устаревших расширениях.
Окей, Joomla обновлена, что теперь?
Есть несколько дополнительных заданий, которые необходимо выполнить:
1. Обновите ваши пароли, в том числе от хостинга, SSH и FTP.
2. Проверьте доступы своих пользователей, чтобы убедиться, что никто из них не является суперадминистратором или администратором (поскольку и не должен). Частым результатом атаки является то, что права доступа обычного пользователя расширены до суперпользователя.
3. Проверить свой уровень доступа, чтобы убедиться, что он настроен правильно. Также сравните уровни доступа всех групп пользователей с уровнями, которые поставляются с Joomla по умолчанию. Вы ведь не хотите, чтобы любые зарегистрированные пользователи могли устанавливать программное обеспечение?
4. Проверьте версию PHP, чтобы убедиться, что эта версия безопасна (на момент написания этой статьи, это версия 5.5 или новее.)
5. Отключите анонимный FTP если он включен на сервере (он не должен быть включить, проверьте ваш хостинг).
6. Обновите разрешения для каталогов и файлов, чтобы убедиться, что они имеют правильный набор разрешений и не могут быть изменены напрямую.
7. Установите и настройте программное обеспечение безопасности. В частности, веб-приложение брандмауэра может отлично помочь вам в обеспечении безопасности. Ниже находится список возможных расширений.
8. Настройте автоматическое резервное копирование, если вы еще не сделали это. Наличие резервных копий необходимо для восстановления сайта от всех видов проблем, включая взломы.
Список Joomla Брандмауэров
В следующем разделе мы рассмотрим как удалить свой сайт из черного списка.