Данная статья является вольным и дополненным переводом мануала, принадлежащего перу разработчиков знаменитого RSFirewall; оригинальный англоязычный вариант доступен на сайте проекта.
Ваш сайт на Joomla будет защищен в гораздо большей степени, если применить два описанных ниже действия:
- Перенести файл configuration.php - в непубличный каталог, находящийся вне public_html .
- Перенести папку /tmp (используется главным образом при установке расширений) - также в директорию, заведомо находящуюся вне публичного каталога вашего сайта.
Обратите внимание на следующее обстоятельство: сказанное вовсе не означает, что вы попросту и без затей перебросите ваш
.htaccess в в иную директорию, и на этом все; нет. Вам придется совершить некоторые действия, по шагам подробно расписанные ниже.
Итак:
Шаг 1: Переместите файл
configuration.php в непубличный каталог, находящийся вне
public_html.
Шаг 2: Вам придется изменить файлы
и
/administrator/includes/defines.php
а именно; вот эту константу:
define( 'JPATH_CONFIGURATION', JPATH_ROOT );
Если вы хотите переместить
configuration.php на один уровень вверх (в папку, например, с именем
«тест»), то константа должна выглядеть у вас следующим образом:
define( 'JPATH_CONFIGURATION', JPATH_ROOT.DS.'..'.DS.'test' );
Примечание. Если вы используете Joomla! 3.x - в этом шаге вам необходимо использовать «/» вместо «DS», таким вот образом:
define( 'JPATH_CONFIGURATION', JPATH_ROOT.'/../test' );
Шаг 3: Убедитесь, что файл
configuration.php недоступен для записи, и не может быть переопределен через
com_config. Вообще же говоря - всегда следите за тем, чтобы файлы и каталоги вашего сайта имели безопасные разрешения; вам в помощь две команды, которые необходимо поочередно выполнить, зайдя по
ssh на свой сервак и находясь в директории, на один уровень выше
public_html:
find public_html -type d -exec chmod 0755 {} \;
find public_html -type f -exec chmod 0644 {} \;
Как правило - именно так выглядят безопасные разрешения для файлов и каталогов; если ваш апач предпочитает иные permissions - соответственно измените их.
Шаг 4: Если вам теперь нужно изменить параметры конфигурации - сделайте это вручную в находящемся уже на новом месте файле
configuration.php.
Шаг 5: Переопределите местонахождение вашей временной tmp-папки в настройках Joomla:
Administrator -> Configuration.