Безопасность Joomla

Редактор: Дмитрий Сокол 1508 5 мин

В этом разделе публикуются основные правила, которые помогут повысить безопасность вашего Joomla-сайта, и существенно затруднить его взлом. Но также следует обратить внимание, что 100% гарантии не может дать никто, т.к. взламывают даже самые защищенные сайты (Пентагон, Фейсбук и т.д.). Но следуя нашим простым советам, вы можете достаточно хорошо защитить свой сайт.

Внимание! Настоятельно рекомендуем прочитать основные правила безопасности, которые очень важны, подходят для всех сайтов (независимо от движка) и в этой статье повторяться не будут. А далее переходим к особенностям Джумлы.

Как улучшить безопасность Joomla?

1. Обновляйте систему

Следите за новыми версиями Джумлы и постоянно обновляйте ее. Это очень важно, т.к. разработчики выпускают патчи для устранения уязвимостей.

2. Используйте компоненты безопасности

Большинство из ниже перечисленных советов можно реализовать автоматически, используя один из модулей безопасности, которые к сожалению платные. Но они несут в себе хороший функционал - вплоть до того, что система проинформирует вас на имейл о том, что сайт пытаются\пытались взломать. Наиболее популярными являются RSFIrewall! и Admin Tools. Есть конечно возможность скачать их бесплатно, т.к. все платные модули и компоненты для Джумлы не нужно взламывать - они ни чем не защищены. Это связано с условиями лицензии самой Джумлы, и таким образом покупая данный продукт вы всего лишь получаете исходник от разработчика (с гарантией того, что никто не вставил туда свой "левый" код), а также поддержку в течении одного года. Если решите качать бесплатно, то внимательно посмотрите на репутацию человека, который выкладывает компонент, т.к. этот человек мог встроить в данный модуль свой код.

3. Ограничьте доступ по IP

Сделайте так, чтобы доступ в админ-панель разрешался только с определенных IP-адресов. Для этого нужно запретить доступ к папке administrator с любого IP, кроме вашего. Чтобы это сделать, создаем файл .htaccess в папке administrator. В него заносим такой текст:

order deny,allow
allow from xxx.xx.xxx.xx
deny from all

где "xxx.xx.xxx.xx" - это IP-адрес, с которого можно зайти в админ-панель.

4. Не используйте подозрительные расширения

Не устанавливайте подозрительные модули и компоненты, т.к. сам по себе движок Joomla очень хорошо защищен. А львиная доля взломов происходит через дыры в компонентах, которые написаны непрофессиональными разработчиками. Простой пример - вы установили на сайт модуль с комментариями. Хакер нашел в нем "дыру", и вместо своего комментария (или прикрепленного файла) залил на сервер php-код, и соответственно взломал ваш сайт. Если вы уже накачали и наустанавливали себе подобные компоненты - удалите их.

5. Установите нужные права доступа

Установите на все папки права доступа 755, а на все файлы 644, кроме файла configuration.php - на него 444.

6. Используйте надежный логин администратора

Не используйте для суперадминистратора логин admin. Замените на его на другой, более сложный.

7. Включите SEF

Включение SEF-ссылок (ЧПУ) мало эффективно, но стоит его включить.

8. Используйте файл .htaccess

Используйте .htaccess вместо htaccses.txt.

9. Настройте PHP

Если позволяет хостинг, то отключите следующие настройки PHP - register_globals, safe_mode, allow_url_fopen, allow_url_include. А также включите - disable_functions, open_basedir.

10. Проверьте время сессии

Проследите, чтобы время жизни сессии было не более 10-15 минут. Изменяется это в Общие настройки-Система.

11. Позаботьтесь о FTP

В меню Общие настройки-Система удалите все, что связано с FTP-данными.

12. Переместите файл конфигурации

Если получится, то уберите файл configuration.php за пределы папки к которой имеется публичный доступ (обычно это public_html). Для этого:

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

б) Найдите файлы /includes/defines.php и /administrator/includes/defines.php. В них нужно найти строчку

define( 'JPATH_CONFIGURATION', JPATH_ROOT );

в) в этой строке нужно указать куда именно переместится файл configuratiob.php. Например, если вы хотите переместить свой файл на один уровень вверх (от папки public_html) в папку test, то заменяем данную строчку на следующую:

define( 'JPATH_CONFIGURATION', JPATH_ROOT.DS.'..'.DS.'test' );

г) перемещайте файл configuration.php в новое место (не забудьте удалить его из старого).

д) помните, что теперь конфигурацию системы нельзя будет изменить с помощью админки Joomla. Делайте это вручную в файле configuration.php (в новом месте).

13. Перенесите логи и временные файлы

Перенесите папки временных файлов (tmp) и лого (logs) за пределы public_html. Для этого, в файле configuration.php найдите строки (в нашем примере настоящие пути заменены на буквы англ. алфавита):

var $log_path = '/home/xxxx/yyyyyy/zzzz/logs/';
var $tmp_path = '/home/xxxx/yyyyyy/zzzz/tmp/';

и впишите туда новое местоположение папок. После этого переместите эти папки в указанную директорию.

14. Измените префикс базы данных

Измените префикс базы данных и почистите ее. Если вы мало разбираетесь в этом, то лучше самостоятельно ничего не делать (хорошо справляются компоненты из пункта 2). Но если хотите сделать это сами, то вот инструкция. Стоит понимать, что этот способ даст частичную защиту от SQL-инъекций, в частности затруднит хакеру получения логина и пароля от админки, которые он может вытащить из базы данных (таблица jos_ users). Все остальные меры безопасности (от SQL-инъекций) делаются только через специальные компоненты защиты (смотрите пункт 2).

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

Дмитрий Сокол
Редактор материала • Дмитрий Сокол Хостинг-эксперт (опыт работы 9 лет) Основная специализация - составление обзоров хостинг-провайдеров, написание статей и составление рейтингов. Верит, что невозможное - возможно и убеждает всех: "круто делай - круто получится!".
Не нашли ответ на свой вопрос?
Задайте его экспертам! Ответ приходит очень быстро и прямо на ваш email.
Мы старались для Вас!
Оцените статью
или
Расскажите о ней

Юзеры (1) оценили на 5.0 из 5

Рейтинги хостинг-провайдеров по задачам сайта
Ноября
Бесплатный тест
Установленное ПО
Технологии
Региональные