Повышаем безопаcность сайтов на Joomla
В этой статье мы расскажем, как обезопасить свой сайт на Joomla. Разработчики CMS Joomla серьезно подошли к безопасности системы, и она имеет защиту уже по умолчанию.
Тем не менее, нужно понять, что нет на 100% защищенной системы управления сайтом. Чтобы уменьшить вероятность взлома вашего сайта нужно сделать ряд несложных действий.
1) Используйте последнюю версию Joomla
Прежде всего, используйте последнюю версию Joomla. Зачем надо обновляться? Первое и самое главное, Вы же хотите, чтобы сайт на Joomla стал защищенным. Все динамические сайты в большей или меньшей степени уязвимы к атакам хакеров, которые могут заспамить Ваш сайт, повредить его или украсть информацию пользователей. Разработчики Joomla определенно идут на шаг впереди хакеров, но, чтобы их усилия в обеспечении безопасности стали полезны, нужно всегда обновляться до последней версии. Таким образом, убедитесь, что у Вас обновленная версия, но, тем не менее, постоянно проверяйте наличие обновлений.
Вот несколько способов обновления Joomla:
Посмотрите, какая версия Joomla у Вас сейчас :
- В Joomla 1.5 версия указана в правом верхнем углу панели администрирования
- В Joomla 2.5 версия указана в футере панели администрирования
// Если у Вас Joomla 1.5, то сделайте следующее:
- Скачайте соответствующий пакет обновления. Например, если у Вас Joomla 1.5.7 и нужно обновиться до версии 1.5.26, то скачивайте архив с именем Joomla_1.5.0_to_1.5.26-Stable-Patch_Package.zip. Необходимое обновление можно найти на официальном сайте.
- Распакуйте архив на компьютер.
- Закачайте файлы через FTP на хостинг, подтверждая замену существующих.
// Если у Вас Joomla 2.5.4 или новее:
- В панели администрирования Joomla откройте Joomla Update (Компоненты → Joomla Update)
- Нажмите на кнопку «Установить обновления»
- Дождитесь окончания процесса обновления
// Если у Вас Joomla 2.4.3 или старше:
- В панели администрирования Joomla перейдите в Расширения → Менеджер Расширений и откройте вкладку «Обновления»
- Нажмите на значок «Очистить кэш», чтобы удалить устаревшие временные файлы
- Нажмите на иконку «Найти обновления» в меню. Если есть доступные обновления, то Вы увидите их в списке.
- Выберите обновления (используя чекбокс) и нажмите на значок «Обновить» в меню.
- Дождитесь окончания процесса.
Убедитесь, что Вы сделали архивную копию Joomla перед обновлением. Возможно, некоторые сторонние плагины или компоненты не совместимы с новой версией. К счастью, такое редко случается, но если Вы сделали бекап до начала обновления, то тем самым обезопасили себя в случае неудачи!
Используйте только надежные расширения сторонних разработчиков и своевременно обновляйте их.
Иногда говорят, что их сайт на Joomla подвергался атаке хакеров и система безопасности ничего не смогла сделать. В большинстве случаев, хакеры проникают через незащищенные сторонние расширения, которые были установлены на сайте. Список наиболее уязвимых расширений Joomla сторонних разработчиков можно посмотреть здесь.
2) Используйте сложные логин и пароль администратора
Не используйте логин «admin», который дается по умолчанию. Измените на какой-нибудь другой и выберите безопасный пароль. Безопасный пароль состоит, как правило, из восьми символов, включая заглавные и строчные буквы, цифры и символы. Вот хороший генератор паролей.
3) Используйте компонент SEF, который сделает Joomla более защищенной
Компонент SEF делает урлы Joomla более дружественными к поисковым системам, а хороший компонент SEF дает еще и добавляет безопасности. По умолчанию ссылки на страницы Joomla многое говорят пользователю о названии самой страницы, и какой компонент используется. Компонент SEF маскирует эту информацию и хакеру сложнее найти возможную уязвимость.
SEF компонент sh404SEF также включает компонент безопасности, который предотвращает различные атаки на Ваш сайт и сообщает, подвергался ли сайт атакам хакеров. Он также дает возможность убрать генератор тегов. Генератор тегов сообщает о том, что сайт сделан на Joomla. Если Вы, таким образом, не сообщите хакерам на каком движке сделан сайт, то ему сложнее будет это определить.
4) Используйте хостинг с безопасной конфигурацией для сайтов Joomla
- Избегайте хостеров, которые используют безопасный режим PHP. Safe_mode для PHP должен быть выключен.
- Если у Вас Joomla 1.0, то убедитесь, что выключен Register Globals Emulation. Это делается в Глобальных настройках Joomla
- Используйте PHP5 чаще, чем PHP4
5) Прячьте полезную для хакеров информацию
- Убедитесь, что никто не сможет посмотреть информацию о PHP (конфигурацию сервера) через phpinfo.
- Спрячьте генератор тегов, который указывает, что Вы используете CMS Joomla. Заметьте, что мы не предлагаем, чтобы Joomla стала бы менее защищенной. Этот совет для того, чтобы хакерам, специализирующимся на Joomla, сложнее было бы распознать движок сайта.
- Используйте SEF компонент, который маскирует используемые компоненты сайта.
- Поставьте защиту от записи на файл конфигурации Joomla (уберите права перезаписи)
- Определенно следует защитить от записи файл конфигурации Joomla. Файл называется «configuration.php» и находится он в корне Вашего домена. В Joomla 1.5 на файл по умолчанию выставлены права запрещающие запись, но в Joomla 1.0 нужно самим их выставить. Можно сделать это в Глобальных настройка Joomla, выбрав вариант «Запретить перезапись после сохранения». Также можно вручную установить права доступа к файлу 444.
6) Удаляйте неиспользуемые шаблоны
Необходимо удалить шаблоны Joomla, которые не собираетесь использовать на сайте. Если Вы оставили шаблоны Joomla по умолчанию, кто-нибудь, например, может зайти на сайт такой ссылкой: /index.php?jos_change_template=rhuk_solarflare_ii и поменяет текущий шаблон на начальный. Кроме того, сайт может выглядеть ужасно для того, кто зайдет по ссылке, даже сможет увидеть контент, который Вы и не собирались публиковать в Интернете. Например, в модулях, позиций которых нет в текущем шаблоне.
7) Установите разрешения, чтобы ограничить редактирование и перезапись
Вы можете установить права доступа к некоторым критичным файлам, ограничивающий возможность хакерам их редактировать и перезаписывать. Вот несколько советов:
- Установите права на файл /index.php равным 444
- Установите права на файл /configuration.php равным 444
- Установите права на файл /templates/*Ваш_шаблон*/index.php равным 444
- Установите права на папку /templates/*Ваш_шаблон*/ равным 444
8) Закройте регистрацию пользователей
Если Ваш сайт не является социальной сетью и пользователям нет необходимости регистрироваться, следует закрыть регистрацию. Вот как это сделать:
1. Откройте панель администрирования
2. Для Joomla 2.x и Joomla 3.x зайдите в Пользователи → Менеджер пользователей и откройте вкладку «Настройка» вверху страницы (для Joomla 1.5 нужно зайти в Глобальные настройки → Система).
3. Найдите пункт «Разрешить регистрацию пользователей»
4. Нажмите кнопку «Нет», тем самым запретив регистрацию
5. Сохраните конфигурацию, нажав кнопку «Сохранить».
9) Контролируйте изменения в файловой системе
Если хакерам все таки удалось тем или иным способом получить доступ к вашим файлам, то будет весьма умным решением отследить какие именно файлы менялись. Администрация складчины рекомендует познакомиться с сервисом Mониторус (есть тестовый 1 месячный период). Вы просто закачиваете специальный скрипт на свой хостинг, делаете слепок файловой системы и подписываетесь на изменения. Как только что-то поменяется Вам придет уведомление на почту. Будет не лишним и при контроле за фрилансерами и своими сотрудниками.